summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-04-03 20:12:24 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-04-03 20:12:24 +0200
commit993da5586c23a8cf9c29f5970cc84284e847b408 (patch)
tree26c1c9628d1bb3b923f17b8e3f98d65dad9b57fc /opendc/opendc-experiments-sc20
parentc4016fcfd37550b237f6940eaffb5b4efd607601 (diff)
feat: Fix failure duration parameters
Diffstat (limited to 'opendc/opendc-experiments-sc20')
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt12
1 files changed, 7 insertions, 5 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
index 400cef33..ca7e31ea 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
@@ -104,10 +104,11 @@ class ExperimentParameters(parser: ArgParser) {
*/
fun createFaultInjector(domain: Domain, random: Random): FaultInjector {
// Parameters from A. Iosup, A Framework for the Study of Grid Inter-Operation Mechanisms, 2009
+ // GRID'5000
return CorrelatedFaultInjector(domain,
- iatScale = -1.39, iatShape = 1.03,
+ iatScale = -1.39, iatShape = 1.03, // Hours
sizeScale = 1.88, sizeShape = 1.25,
- dScale = 1.88, dShape = 1.25,
+ dScale = 9.51, dShape = 3.21, // Minutes
random = random
)
}
@@ -245,11 +246,12 @@ fun main(args: Array<String>) {
monitor.onVmStateChanged(it.server)
// Detect whether the VM has finished running
- if (it.server.state == ServerState.ERROR || it.server.state == ServerState.SHUTOFF) {
+ if (it.server.state == ServerState.SHUTOFF) {
running -= server
+ }
- if (running.isEmpty() && (!reader.hasNext() || availableHypervisors == 0))
- finish.send(Unit)
+ if (running.isEmpty() && !reader.hasNext()) {
+ finish.send(Unit)
}
}
.collect()