summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-capelin/src/test
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-03-05 16:50:35 +0100
committerGitHub <noreply@github.com>2024-03-05 16:50:35 +0100
commit960b3d8a13c67ac4b7f479d5764b0b618fc9ea09 (patch)
tree4f103bcf6635341827d9cfa10c10cfde9543f04f /opendc-experiments/opendc-experiments-capelin/src/test
parent5864cbcbfe2eb8c36ca05c3a39c7e5916aeecaec (diff)
Cpu fix (#208)
* Updated the topology format to JSON. Updated TopologyReader.kt to handle JSON filed. Added documentation for the new format. * applied spotless kotlin * small update * Updated for spotless apply * Updated for spotless apply
Diffstat (limited to 'opendc-experiments/opendc-experiments-capelin/src/test')
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt16
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinRunnerTest.kt6
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.json26
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.txt3
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.json66
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.txt5
6 files changed, 104 insertions, 18 deletions
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
index 6b538240..9a00c80e 100644
--- a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
+++ b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
@@ -40,8 +40,8 @@ import org.opendc.compute.simulator.provisioner.setupHosts
import org.opendc.compute.telemetry.ComputeMonitor
import org.opendc.compute.telemetry.table.HostTableReader
import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.topology.HostSpec
import org.opendc.compute.topology.clusterTopology
+import org.opendc.compute.topology.specs.HostSpec
import org.opendc.compute.workload.ComputeWorkloadLoader
import org.opendc.compute.workload.VirtualMachine
import org.opendc.compute.workload.sampleByLoad
@@ -126,7 +126,7 @@ class CapelinIntegrationTest {
{ assertEquals(66977091124, monitor.activeTime) { "Incorrect active time" } },
{ assertEquals(3160267873, monitor.stealTime) { "Incorrect steal time" } },
{ assertEquals(0, monitor.lostTime) { "Incorrect lost time" } },
- { assertEquals(5.8407E9, monitor.energyUsage, 1E4) { "Incorrect power draw" } },
+ { assertEquals(7.767237E9, monitor.energyUsage, 1E4) { "Incorrect power draw" } },
)
}
@@ -138,7 +138,7 @@ class CapelinIntegrationTest {
runSimulation {
val seed = 1L
val workload = createTestWorkload(0.25, seed)
- val topology = createTopology("single")
+ val topology = createTopology("single.json")
val monitor = monitor
Provisioner(dispatcher, seed).use { provisioner ->
@@ -167,7 +167,7 @@ class CapelinIntegrationTest {
{ assertEquals(9741285381, monitor.activeTime) { "Active time incorrect" } },
{ assertEquals(152, monitor.stealTime) { "Steal time incorrect" } },
{ assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
- { assertEquals(7.0109E8, monitor.energyUsage, 1E4) { "Incorrect power draw" } },
+ { assertEquals(7.933686E8, monitor.energyUsage, 1E4) { "Incorrect power draw" } },
)
}
@@ -179,7 +179,7 @@ class CapelinIntegrationTest {
runSimulation {
val seed = 0L
val workload = createTestWorkload(1.0, seed)
- val topology = createTopology("single")
+ val topology = createTopology("single.json")
Provisioner(dispatcher, seed).use { provisioner ->
provisioner.runSteps(
@@ -217,7 +217,7 @@ class CapelinIntegrationTest {
fun testFailures() =
runSimulation {
val seed = 0L
- val topology = createTopology("single")
+ val topology = createTopology("single.json")
val workload = createTestWorkload(0.25, seed)
val monitor = monitor
@@ -256,8 +256,8 @@ class CapelinIntegrationTest {
/**
* Obtain the topology factory for the test.
*/
- private fun createTopology(name: String = "topology"): List<HostSpec> {
- val stream = checkNotNull(object {}.javaClass.getResourceAsStream("/env/$name.txt"))
+ private fun createTopology(name: String = "topology.json"): List<HostSpec> {
+ val stream = checkNotNull(object {}.javaClass.getResourceAsStream("/env/$name"))
return stream.use { clusterTopology(stream) }
}
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinRunnerTest.kt b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinRunnerTest.kt
index 32d53aee..4587f6dc 100644
--- a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinRunnerTest.kt
+++ b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinRunnerTest.kt
@@ -46,7 +46,8 @@ class CapelinRunnerTest {
private val tracePath = File("src/test/resources/trace")
/**
- * Smoke test with output. fixme: Fix failures and enable Test
+ * Smoke test with output.
+ * fixme: Fix failures and enable
*/
fun testSmoke() {
val outputPath = Files.createTempDirectory("output").toFile()
@@ -68,7 +69,8 @@ class CapelinRunnerTest {
}
/**
- * Smoke test without output. fixme: Fix failures and enable Test
+ * Smoke test without output.
+ * fixme: Fix failures and enable
*/
fun testSmokeNoOutput() {
val runner = CapelinRunner(envPath, tracePath, null)
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.json b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.json
new file mode 100644
index 00000000..a1c8d95a
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.json
@@ -0,0 +1,26 @@
+{
+ "clusters":
+ [
+ {
+ "name": "C01",
+ "hosts" :
+ [
+ {
+ "name": "H01",
+ "cpus":
+ [
+ {
+ "coreCount": 8,
+ "coreSpeed": 3200
+ }
+ ],
+ "memory": {
+ "memorySize": 128000
+ }
+ }
+ ]
+ }
+ ]
+}
+
+
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.txt b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.txt
deleted file mode 100644
index 5642003d..00000000
--- a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/single.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-ClusterID;ClusterName;Cores;Speed;Memory;numberOfHosts;memoryCapacityPerHost;coreCountPerHost
-A01;A01;8;3.2;128;1;128;8
-
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.json b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.json
new file mode 100644
index 00000000..721005b0
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.json
@@ -0,0 +1,66 @@
+{
+ "clusters":
+ [
+ {
+ "name": "C01",
+ "hosts" :
+ [
+ {
+ "name": "H01",
+ "cpus":
+ [
+ {
+ "coreCount": 32,
+ "coreSpeed": 3200
+ }
+ ],
+ "memory": {
+ "memorySize": 256000
+ }
+ }
+ ]
+ },
+ {
+ "name": "C02",
+ "hosts" :
+ [
+ {
+ "name": "H02",
+ "count": 6,
+ "cpus":
+ [
+ {
+ "coreCount": 8,
+ "coreSpeed": 2930
+ }
+ ],
+ "memory": {
+ "memorySize": 64000
+ }
+ }
+ ]
+ },
+ {
+ "name": "C03",
+ "hosts" :
+ [
+ {
+ "name": "H03",
+ "count": 2,
+ "cpus":
+ [
+ {
+ "coreCount": 16,
+ "coreSpeed": 3200
+ }
+ ],
+ "memory": {
+ "memorySize": 128000
+ }
+ }
+ ]
+ }
+ ]
+}
+
+
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.txt b/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.txt
deleted file mode 100644
index 6b347bff..00000000
--- a/opendc-experiments/opendc-experiments-capelin/src/test/resources/env/topology.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-ClusterID;ClusterName;Cores;Speed;Memory;numberOfHosts;memoryCapacityPerHost;coreCountPerHost
-A01;A01;32;3.2;2048;1;256;32
-B01;B01;48;2.93;1256;6;64;8
-C01;C01;32;3.2;2048;2;128;16
-