A new top-level directory to hold analysis scripts associated with specific analyses
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5046 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
b45566760e
commit
63e8103c4e
|
|
@ -0,0 +1,34 @@
|
|||
JOB_START_RATE = 0.1 # chance of starting is 0.1
|
||||
WORK_UNITS = 100
|
||||
WORK_RATE = 1
|
||||
N_TICKS = 300
|
||||
|
||||
ticks <- 1:N_TICKS
|
||||
|
||||
# the probability that a job starts at exactly tick i
|
||||
pThreadStartAtTick <- function(i) {
|
||||
dexp(i, JOB_START_RATE)
|
||||
}
|
||||
|
||||
jobDoneByI <- function(i) {
|
||||
return(sapply(i - ticks, function(x) max(x, 0)) * WORK_RATE)
|
||||
#return(pCompleteAtI(i, pStarts, ticks))
|
||||
}
|
||||
|
||||
pThreadDoneByI <- function(i) {
|
||||
pStarts <- pThreadStartAtTick(ticks)
|
||||
workDoneByThreadStartingAtI <- jobDoneByI(i)
|
||||
fracDone <- workDoneByThreadStartingAtI / WORK_UNITS
|
||||
doneAtI <- fracDone >= 1
|
||||
return(sum(pStarts * doneAtI))
|
||||
}
|
||||
|
||||
pThreadsDoneByI <- function(i, nThreads) {
|
||||
pDone <- rep(0, N_TICKS)
|
||||
for ( thread : 1:nThreads )
|
||||
pDone <- pPrevThreadsNotDoneAtI(pDone, i) + pThreadDoneByI(i)
|
||||
}
|
||||
|
||||
#plot(ticks, workDoneByI(100))
|
||||
plot(ticks, sapply(ticks, function(i) pThreadDoneByI(i)))
|
||||
|
||||
Loading…
Reference in New Issue