summaryrefslogtreecommitdiff
path: root/simulator/opendc-experiments/opendc-experiments-capelin/src
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-15 14:46:19 +0200
committerGitHub <noreply@github.com>2021-04-15 14:46:19 +0200
commitf586769b37994628fbdc7ab0756b1b96650fca10 (patch)
treea5c74ae02a812e050f4feec778f274705ce66076 /simulator/opendc-experiments/opendc-experiments-capelin/src
parent890dd87376f0d131292e3cdc685ab13192d11634 (diff)
parente68046465d39611259fa13952add731e80ea7331 (diff)
Fix issues with web runner (v2) (#118)
This is a second pull request to address several issues that were present in the web runner and the associated experiments: * Re-use topology across repeats * Disallow re-use of `SimTraceWorkload` * Construct new `SimTraceWorkload` for each simulation run
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.kt4
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 ->