diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-04-15 14:13:14 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-04-15 14:25:24 +0200 |
| commit | e68046465d39611259fa13952add731e80ea7331 (patch) | |
| tree | a5c74ae02a812e050f4feec778f274705ce66076 /simulator/opendc-experiments/opendc-experiments-capelin/src | |
| parent | 288c6c18c24b27dee230d31f0dd036b199722302 (diff) | |
exp: Prevent re-use of SimWorkload in experiment
This change fixes and issue where a SimWorkload was being re-used across
simulation runs. Given that SimWorkload is stateless, this may cause
strange issues.
Diffstat (limited to 'simulator/opendc-experiments/opendc-experiments-capelin/src')
| -rw-r--r-- | simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/ExperimentHelpers.kt | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/ExperimentHelpers.kt b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/ExperimentHelpers.kt index 997eba0c..763234f8 100644 --- a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/ExperimentHelpers.kt +++ b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/ExperimentHelpers.kt @@ -41,6 +41,7 @@ import org.opendc.format.environment.EnvironmentReader import org.opendc.format.trace.TraceReader import org.opendc.simulator.compute.SimFairShareHypervisorProvider import org.opendc.simulator.compute.interference.PerformanceInterferenceModel +import org.opendc.simulator.compute.workload.SimTraceWorkload import org.opendc.simulator.compute.workload.SimWorkload import org.opendc.simulator.failures.CorrelatedFaultInjector import org.opendc.simulator.failures.FaultInjector @@ -261,6 +262,7 @@ public suspend fun processTrace( delay(max(0, (entry.start - offset) - clock.millis())) launch { chan.send(Unit) + val workload = SimTraceWorkload((entry.meta["workload"] as SimTraceWorkload).trace) val server = client.newServer( entry.name, image, @@ -269,7 +271,7 @@ public suspend fun processTrace( entry.meta["cores"] as Int, entry.meta["required-memory"] as Long ), - meta = entry.meta + meta = entry.meta + mapOf("workload" to workload) ) suspendCancellableCoroutine { cont -> |
