summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-compute/src/test
diff options
context:
space:
mode:
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/SimMachineTest.kt48
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/device/SimPsuTest.kt10
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimHypervisorTest.kt10
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt36
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PStatePowerDriverTest.kt10
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt10
6 files changed, 61 insertions, 63 deletions
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
index 81268879..0bb24ed8 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
@@ -34,10 +34,10 @@ import org.opendc.simulator.compute.workload.SimFlopsWorkload
import org.opendc.simulator.compute.workload.SimWorkload
import org.opendc.simulator.compute.workload.SimWorkloadLifecycle
import org.opendc.simulator.core.runBlockingSimulation
+import org.opendc.simulator.flow.FlowEngine
+import org.opendc.simulator.flow.source.FixedFlowSource
import org.opendc.simulator.network.SimNetworkSink
import org.opendc.simulator.power.SimPowerSource
-import org.opendc.simulator.resources.SimResourceInterpreter
-import org.opendc.simulator.resources.consumer.SimWorkConsumer
/**
* Test suite for the [SimBareMetalMachine] class.
@@ -60,7 +60,7 @@ class SimMachineTest {
@Test
fun testFlopsWorkload() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -83,7 +83,7 @@ class SimMachineTest {
memory = List(4) { MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000) }
)
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -100,13 +100,13 @@ class SimMachineTest {
@Test
fun testPower() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter,
+ engine,
machineModel,
SimplePowerDriver(LinearPowerModel(100.0, 50.0))
)
- val source = SimPowerSource(interpreter, capacity = 1000.0)
+ val source = SimPowerSource(engine, capacity = 1000.0)
source.connect(machine.psu)
try {
@@ -125,7 +125,7 @@ class SimMachineTest {
@Test
fun testCapacityClamp() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -151,7 +151,7 @@ class SimMachineTest {
@Test
fun testMemory() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -171,7 +171,7 @@ class SimMachineTest {
@Test
fun testMemoryUsage() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -180,7 +180,7 @@ class SimMachineTest {
machine.run(object : SimWorkload {
override fun onStart(ctx: SimMachineContext) {
val lifecycle = SimWorkloadLifecycle(ctx)
- ctx.memory.startConsumer(lifecycle.waitFor(SimWorkConsumer(ctx.memory.capacity, utilization = 0.8)))
+ ctx.memory.startConsumer(lifecycle.waitFor(FixedFlowSource(ctx.memory.capacity, utilization = 0.8)))
}
})
@@ -192,22 +192,22 @@ class SimMachineTest {
@Test
fun testNetUsage() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter,
+ engine,
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
val adapter = (machine.peripherals[0] as SimNetworkAdapter)
- adapter.connect(SimNetworkSink(interpreter, adapter.bandwidth))
+ adapter.connect(SimNetworkSink(engine, adapter.bandwidth))
try {
machine.run(object : SimWorkload {
override fun onStart(ctx: SimMachineContext) {
val lifecycle = SimWorkloadLifecycle(ctx)
val iface = ctx.net[0]
- iface.tx.startConsumer(lifecycle.waitFor(SimWorkConsumer(iface.bandwidth, utilization = 0.8)))
+ iface.tx.startConsumer(lifecycle.waitFor(FixedFlowSource(iface.bandwidth, utilization = 0.8)))
}
})
@@ -219,9 +219,9 @@ class SimMachineTest {
@Test
fun testDiskReadUsage() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter,
+ engine,
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -231,7 +231,7 @@ class SimMachineTest {
override fun onStart(ctx: SimMachineContext) {
val lifecycle = SimWorkloadLifecycle(ctx)
val disk = ctx.storage[0]
- disk.read.startConsumer(lifecycle.waitFor(SimWorkConsumer(disk.read.capacity, utilization = 0.8)))
+ disk.read.startConsumer(lifecycle.waitFor(FixedFlowSource(disk.read.capacity, utilization = 0.8)))
}
})
@@ -243,9 +243,9 @@ class SimMachineTest {
@Test
fun testDiskWriteUsage() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter,
+ engine,
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -255,7 +255,7 @@ class SimMachineTest {
override fun onStart(ctx: SimMachineContext) {
val lifecycle = SimWorkloadLifecycle(ctx)
val disk = ctx.storage[0]
- disk.write.startConsumer(lifecycle.waitFor(SimWorkConsumer(disk.write.capacity, utilization = 0.8)))
+ disk.write.startConsumer(lifecycle.waitFor(FixedFlowSource(disk.write.capacity, utilization = 0.8)))
}
})
@@ -268,7 +268,7 @@ class SimMachineTest {
@Test
fun testCancellation() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -290,7 +290,7 @@ class SimMachineTest {
@Test
fun testConcurrentRuns() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -313,7 +313,7 @@ class SimMachineTest {
@Test
fun testClose() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/device/SimPsuTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/device/SimPsuTest.kt
index 6c9ec7bd..e5b509f0 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/device/SimPsuTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/device/SimPsuTest.kt
@@ -29,8 +29,8 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertThrows
import org.opendc.simulator.compute.power.PowerDriver
import org.opendc.simulator.core.runBlockingSimulation
+import org.opendc.simulator.flow.FlowEngine
import org.opendc.simulator.power.SimPowerSource
-import org.opendc.simulator.resources.SimResourceInterpreter
/**
* Test suite for [SimPsu]
@@ -55,8 +55,8 @@ internal class SimPsuTest {
val ratedOutputPower = 240.0
val energyEfficiency = mapOf(0.0 to 1.0)
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
- val source = SimPowerSource(interpreter, capacity = ratedOutputPower)
+ val engine = FlowEngine(coroutineContext, clock)
+ val source = SimPowerSource(engine, capacity = ratedOutputPower)
val cpuLogic = mockk<PowerDriver.Logic>()
every { cpuLogic.computePower() } returns 0.0
@@ -78,8 +78,8 @@ internal class SimPsuTest {
1.0 to 0.94,
)
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
- val source = SimPowerSource(interpreter, capacity = ratedOutputPower)
+ val engine = FlowEngine(coroutineContext, clock)
+ val source = SimPowerSource(engine, capacity = ratedOutputPower)
val cpuLogic = mockk<PowerDriver.Logic>()
every { cpuLogic.computePower() } returnsMany listOf(50.0, 100.0, 150.0, 200.0)
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimHypervisorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimHypervisorTest.kt
index 8cd535ad..058d5d28 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimHypervisorTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimHypervisorTest.kt
@@ -40,7 +40,7 @@ import org.opendc.simulator.compute.power.ConstantPowerModel
import org.opendc.simulator.compute.power.SimplePowerDriver
import org.opendc.simulator.compute.workload.SimTraceWorkload
import org.opendc.simulator.core.runBlockingSimulation
-import org.opendc.simulator.resources.SimResourceInterpreter
+import org.opendc.simulator.flow.FlowEngine
/**
* Test suite for the [SimHypervisor] class.
@@ -94,7 +94,7 @@ internal class SimHypervisorTest {
),
)
- val platform = SimResourceInterpreter(coroutineContext, clock)
+ val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(platform, model, SimplePowerDriver(ConstantPowerModel(0.0)))
val hypervisor = SimFairShareHypervisor(platform, scalingGovernor = PerformanceScalingGovernor(), listener = listener)
@@ -163,7 +163,7 @@ internal class SimHypervisorTest {
)
)
- val platform = SimResourceInterpreter(coroutineContext, clock)
+ val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
platform, model, SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -204,7 +204,7 @@ internal class SimHypervisorTest {
memory = List(4) { MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000) }
)
- val platform = SimResourceInterpreter(coroutineContext, clock)
+ val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
platform, model, SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -234,7 +234,7 @@ internal class SimHypervisorTest {
)
val interferenceModel = VmInterferenceModel(groups)
- val platform = SimResourceInterpreter(coroutineContext, clock)
+ val platform = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
platform, model, SimplePowerDriver(ConstantPowerModel(0.0))
)
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 55d6d7c4..95fb6679 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
@@ -40,7 +40,7 @@ import org.opendc.simulator.compute.workload.SimFlopsWorkload
import org.opendc.simulator.compute.workload.SimRuntimeWorkload
import org.opendc.simulator.compute.workload.SimTraceWorkload
import org.opendc.simulator.core.runBlockingSimulation
-import org.opendc.simulator.resources.SimResourceInterpreter
+import org.opendc.simulator.flow.FlowEngine
/**
* A test suite for the [SimSpaceSharedHypervisor].
@@ -74,11 +74,11 @@ internal class SimSpaceSharedHypervisorTest {
),
)
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock), machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
+ FlowEngine(coroutineContext, clock), machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
- val hypervisor = SimSpaceSharedHypervisor(interpreter)
+ val hypervisor = SimSpaceSharedHypervisor(engine)
launch { machine.run(hypervisor) }
val vm = hypervisor.createMachine(machineModel)
@@ -98,11 +98,11 @@ internal class SimSpaceSharedHypervisorTest {
fun testRuntimeWorkload() = runBlockingSimulation {
val duration = 5 * 60L * 1000
val workload = SimRuntimeWorkload(duration)
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
+ engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
- val hypervisor = SimSpaceSharedHypervisor(interpreter)
+ val hypervisor = SimSpaceSharedHypervisor(engine)
launch { machine.run(hypervisor) }
yield()
@@ -121,11 +121,11 @@ internal class SimSpaceSharedHypervisorTest {
fun testFlopsWorkload() = runBlockingSimulation {
val duration = 5 * 60L * 1000
val workload = SimFlopsWorkload((duration * 3.2).toLong(), 1.0)
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
+ engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
- val hypervisor = SimSpaceSharedHypervisor(interpreter)
+ val hypervisor = SimSpaceSharedHypervisor(engine)
launch { machine.run(hypervisor) }
yield()
@@ -142,11 +142,11 @@ internal class SimSpaceSharedHypervisorTest {
@Test
fun testTwoWorkloads() = runBlockingSimulation {
val duration = 5 * 60L * 1000
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val engine = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
- interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
+ engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
- val hypervisor = SimSpaceSharedHypervisor(interpreter)
+ val hypervisor = SimSpaceSharedHypervisor(engine)
launch { machine.run(hypervisor) }
yield()
@@ -170,11 +170,9 @@ internal class SimSpaceSharedHypervisorTest {
*/
@Test
fun testConcurrentWorkloadFails() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
- val machine = SimBareMetalMachine(
- interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
- )
- val hypervisor = SimSpaceSharedHypervisor(interpreter)
+ val engine = FlowEngine(coroutineContext, clock)
+ val machine = SimBareMetalMachine(engine, machineModel, SimplePowerDriver(ConstantPowerModel(0.0)))
+ val hypervisor = SimSpaceSharedHypervisor(engine)
launch { machine.run(hypervisor) }
yield()
@@ -194,7 +192,7 @@ internal class SimSpaceSharedHypervisorTest {
*/
@Test
fun testConcurrentWorkloadSucceeds() = runBlockingSimulation {
- val interpreter = SimResourceInterpreter(coroutineContext, clock)
+ val interpreter = FlowEngine(coroutineContext, clock)
val machine = SimBareMetalMachine(
interpreter, machineModel, SimplePowerDriver(ConstantPowerModel(0.0))
)
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PStatePowerDriverTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PStatePowerDriverTest.kt
index c39859bf..f557c8d3 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PStatePowerDriverTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PStatePowerDriverTest.kt
@@ -55,7 +55,7 @@ internal class PStatePowerDriverTest {
val cpu = mockk<SimProcessingUnit>(relaxUnitFun = true)
every { cpu.capacity } returns 3200.0
- every { cpu.speed } returns 1200.0
+ every { cpu.rate } returns 1200.0
val driver = PStatePowerDriver(
sortedMapOf(
@@ -77,10 +77,10 @@ internal class PStatePowerDriverTest {
val cpus = listOf(cpu, cpu)
every { cpus[0].capacity } returns 1000.0
- every { cpus[0].speed } returns 1200.0
+ every { cpus[0].rate } returns 1200.0
every { cpus[1].capacity } returns 3500.0
- every { cpus[1].speed } returns 1200.0
+ every { cpus[1].rate } returns 1200.0
val driver = PStatePowerDriver(
sortedMapOf(
@@ -112,11 +112,11 @@ internal class PStatePowerDriverTest {
val logic = driver.createLogic(machine, listOf(cpu))
- every { cpu.speed } returns 1400.0
+ every { cpu.rate } returns 1400.0
every { cpu.capacity } returns 1400.0
assertEquals(150.0, logic.computePower())
- every { cpu.speed } returns 1400.0
+ every { cpu.rate } returns 1400.0
every { cpu.capacity } returns 4000.0
assertEquals(235.0, logic.computePower())
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt
index 78019c2e..cdbffe4b 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt
@@ -31,7 +31,7 @@ import org.opendc.simulator.compute.model.*
import org.opendc.simulator.compute.power.ConstantPowerModel
import org.opendc.simulator.compute.power.SimplePowerDriver
import org.opendc.simulator.core.runBlockingSimulation
-import org.opendc.simulator.resources.SimResourceInterpreter
+import org.opendc.simulator.flow.FlowEngine
/**
* Test suite for the [SimTraceWorkloadTest] class.
@@ -52,7 +52,7 @@ class SimTraceWorkloadTest {
@Test
fun testSmoke() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -79,7 +79,7 @@ class SimTraceWorkloadTest {
@Test
fun testOffset() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -106,7 +106,7 @@ class SimTraceWorkloadTest {
@Test
fun testSkipFragment() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)
@@ -134,7 +134,7 @@ class SimTraceWorkloadTest {
@Test
fun testZeroCores() = runBlockingSimulation {
val machine = SimBareMetalMachine(
- SimResourceInterpreter(coroutineContext, clock),
+ FlowEngine(coroutineContext, clock),
machineModel,
SimplePowerDriver(ConstantPowerModel(0.0))
)