summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-compute/src/test
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-10-15 14:43:43 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-10-25 17:58:53 +0200
commite76bebe9e81c3813422da6d67fbab7d9f471a317 (patch)
tree059a9f2cb2c5e465ac7faacf9fe74d38c96af228 /opendc-simulator/opendc-simulator-compute/src/test
parenta1be58f1013697223a339a6a49302e1e42a6662d (diff)
perf(compute): Redesign VM interference algorithm
This change redesigns the virtual machine interference algorithm to have a fixed memory usage per `VmInterferenceModel` instance. Previously, for every interference domain, a copy of the model would be created, leading to OutOfMemory errors when running multiple experiments at the same time.
Diffstat (limited to 'opendc-simulator/opendc-simulator-compute/src/test')
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt12
1 files changed, 5 insertions, 7 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 6f32cf46..b7f5bf8e 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
@@ -30,7 +30,6 @@ import org.junit.jupiter.api.assertAll
import org.junit.jupiter.api.assertDoesNotThrow
import org.opendc.simulator.compute.SimBareMetalMachine
import org.opendc.simulator.compute.kernel.cpufreq.PerformanceScalingGovernor
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceGroup
import org.opendc.simulator.compute.kernel.interference.VmInterferenceModel
import org.opendc.simulator.compute.model.MachineModel
import org.opendc.simulator.compute.model.MemoryUnit
@@ -187,12 +186,11 @@ internal class SimFairShareHypervisorTest {
memory = List(4) { MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000) }
)
- val groups = listOf(
- VmInterferenceGroup(targetLoad = 0.0, score = 0.9, members = setOf("a", "b")),
- VmInterferenceGroup(targetLoad = 0.0, score = 0.6, members = setOf("a", "c")),
- VmInterferenceGroup(targetLoad = 0.1, score = 0.8, members = setOf("a", "n"))
- )
- val interferenceModel = VmInterferenceModel(groups)
+ val interferenceModel = VmInterferenceModel.builder()
+ .addGroup(targetLoad = 0.0, score = 0.9, members = setOf("a", "b"))
+ .addGroup(targetLoad = 0.0, score = 0.6, members = setOf("a", "c"))
+ .addGroup(targetLoad = 0.1, score = 0.8, members = setOf("a", "n"))
+ .build()
val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(