summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc
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-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc
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-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc')
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt21
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt12
2 files changed, 16 insertions, 17 deletions
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt
index 23d832e8..d401f8b5 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt
@@ -79,7 +79,7 @@ internal class SimFairShareHypervisorTest {
val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(platform, model, SimplePowerDriver(ConstantPowerModel(0.0)))
val random = SplittableRandom(1)
- val hypervisor = SimFairShareHypervisor(platform, PerformanceScalingGovernor(), random)
+ val hypervisor = SimFairShareHypervisor(platform, random, PerformanceScalingGovernor())
launch {
machine.runWorkload(hypervisor)
@@ -131,7 +131,7 @@ internal class SimFairShareHypervisorTest {
platform, model, SimplePowerDriver(ConstantPowerModel(0.0))
)
val random = SplittableRandom(1)
- val hypervisor = SimFairShareHypervisor(platform, null, random)
+ val hypervisor = SimFairShareHypervisor(platform, random, null)
launch {
machine.runWorkload(hypervisor)
@@ -171,7 +171,7 @@ internal class SimFairShareHypervisorTest {
val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(platform, model, SimplePowerDriver(ConstantPowerModel(0.0)))
val random = SplittableRandom(1)
- val hypervisor = SimFairShareHypervisor(platform, null, random)
+ val hypervisor = SimFairShareHypervisor(platform, random, null)
assertDoesNotThrow {
launch {
@@ -195,14 +195,13 @@ internal class SimFairShareHypervisorTest {
.addGroup(targetLoad = 0.0, score = 0.6, members = setOf("a", "c"))
.addGroup(targetLoad = 0.1, score = 0.8, members = setOf("a", "n"))
.build()
- val interferenceDomain = interferenceModel.newDomain()
- val platform = FlowEngine(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- platform, model, SimplePowerDriver(ConstantPowerModel(0.0))
+ engine, model, SimplePowerDriver(ConstantPowerModel(0.0))
)
val random = SplittableRandom(1)
- val hypervisor = SimFairShareHypervisor(platform, null, random)
+ val hypervisor = SimFairShareHypervisor(engine, random, null)
val duration = 5 * 60L
val workloadA =
@@ -230,12 +229,12 @@ internal class SimFairShareHypervisorTest {
coroutineScope {
launch {
- val vm = hypervisor.newMachine(model, interferenceDomain.getMember("a"))
- vm.runWorkload(workloadA)
+ val vm = hypervisor.newMachine(model)
+ vm.runWorkload(workloadA, meta = mapOf("interference-model" to interferenceModel.getProfile("a")!!))
hypervisor.removeMachine(vm)
}
- val vm = hypervisor.newMachine(model, interferenceDomain.getMember("b"))
- vm.runWorkload(workloadB)
+ val vm = hypervisor.newMachine(model)
+ vm.runWorkload(workloadB, meta = mapOf("interference-model" to interferenceModel.getProfile("b")!!))
hypervisor.removeMachine(vm)
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt
index 9471f548..9b31acf4 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt
@@ -77,7 +77,7 @@ internal class SimSpaceSharedHypervisorTest {
val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0)))
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(engine, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(engine, random, null)
launch { machine.runWorkload(hypervisor) }
val vm = hypervisor.newMachine(machineModel)
@@ -100,7 +100,7 @@ internal class SimSpaceSharedHypervisorTest {
val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0)))
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(engine, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(engine, random, null)
launch { machine.runWorkload(hypervisor) }
yield()
@@ -125,7 +125,7 @@ internal class SimSpaceSharedHypervisorTest {
engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(engine, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(engine, random, null)
launch { machine.runWorkload(hypervisor) }
yield()
@@ -147,7 +147,7 @@ internal class SimSpaceSharedHypervisorTest {
engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(engine, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(engine, random, null)
launch { machine.runWorkload(hypervisor) }
yield()
@@ -175,7 +175,7 @@ internal class SimSpaceSharedHypervisorTest {
val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0)))
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(engine, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(engine, random, null)
launch { machine.runWorkload(hypervisor) }
yield()
@@ -200,7 +200,7 @@ internal class SimSpaceSharedHypervisorTest {
interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
val random = SplittableRandom(1)
- val hypervisor = SimSpaceSharedHypervisor(interpreter, null, random)
+ val hypervisor = SimSpaceSharedHypervisor(interpreter, random, null)
launch { machine.runWorkload(hypervisor) }
yield()