summaryrefslogtreecommitdiff
path: root/opendc-web
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-09-22 14:45:12 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-09-22 14:50:00 +0200
commit17fa7619f1d7e96680e018d3f12f333fb75cdac1 (patch)
tree5acabfb33d5fa2c624926df91264e460d2afb761 /opendc-web
parent8b6c15193281171bcb2e111f339ffb8da385332b (diff)
refactor(sim/compute): Make interference domain independent of profile
This change updates the virtual machine performance interference model so that the interference domain can be constructed independently of the interference profile. As a consequence, the construction of the topology now does not depend anymore on the interference profile.
Diffstat (limited to 'opendc-web')
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt7
1 files changed, 3 insertions, 4 deletions
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
index d5dbed1c..b7e550ef 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
@@ -208,7 +208,7 @@ public class OpenDCRunner(
val phenomena = scenario.phenomena
val computeScheduler = createComputeScheduler(scenario.schedulerName, seeder)
val workload = trace(workloadName).sampleByLoad(workloadFraction)
- val (vms, interferenceModel) = workload.resolve(workloadLoader, seeder)
+ val vms = workload.resolve(workloadLoader, seeder)
val failureModel =
if (phenomena.failures)
@@ -221,8 +221,7 @@ public class OpenDCRunner(
clock,
computeScheduler,
seed = 0L,
- failureModel,
- interferenceModel.takeIf { phenomena.interference }
+ failureModel
)
val servers = mutableListOf<Server>()
val reader = ComputeMetricReader(this, clock, simulator.service, servers, monitor)
@@ -231,7 +230,7 @@ public class OpenDCRunner(
// Instantiate the topology onto the simulator
simulator.apply(topology)
// Run workload trace
- simulator.run(vms, servers)
+ simulator.run(vms, servers, interference = phenomena.interference)
val serviceMetrics = simulator.service.getSchedulerStats()
logger.debug {