From eab45064155fd7823a31cba1e779501616475b55 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 14 Apr 2021 17:00:56 +0200 Subject: harness: Enable failures only on request This changes fixes a bug where the simulator obtained the incorrect failure frequency causing failures to be enabled even when the user disabled it. --- .../opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'simulator/opendc-runner-web/src') diff --git a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt index 90918f44..1ab67a61 100644 --- a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt +++ b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt @@ -276,7 +276,7 @@ public class RunnerCli : CliktCommand(name = "runner") { ) val topologyId = scenario.getEmbedded(listOf("topology", "topologyId"), ObjectId::class.java) val environment = TopologyParser(topologies, topologyId) - val failureFrequency = operational.get("failureFrequency", Number::class.java)?.toDouble() ?: 24.0 * 7 + val failureFrequency = if (operational.getBoolean("failuresEnabled", false)) 24.0 * 7 else 0.0 withComputeService(clock, meterProvider, environment, allocationPolicy) { scheduler -> val failureDomain = if (failureFrequency > 0) { -- cgit v1.2.3 From 79976e08aec24a8b773739036db05843aabb6a61 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 14 Apr 2021 17:02:53 +0200 Subject: exp: Simplify power usage calculation This change simplifies the conversion from power to energy consumption used in the web runner. Now, we convert straight from J to Wh. --- .../src/main/kotlin/org/opendc/runner/web/WebExperimentMonitor.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'simulator/opendc-runner-web/src') diff --git a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/WebExperimentMonitor.kt b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/WebExperimentMonitor.kt index 8f39b8ac..c913f82f 100644 --- a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/WebExperimentMonitor.kt +++ b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/WebExperimentMonitor.kt @@ -84,7 +84,7 @@ public class WebExperimentMonitor : ExperimentMonitor { hostAggregateMetrics.totalGrantedBurst + event.grantedBurst, hostAggregateMetrics.totalOvercommittedBurst + event.overcommissionedBurst, hostAggregateMetrics.totalInterferedBurst + event.interferedBurst, - hostAggregateMetrics.totalPowerDraw + (slices * (event.powerDraw / 12)), + hostAggregateMetrics.totalPowerDraw + (event.duration * event.powerDraw) / 3600, hostAggregateMetrics.totalFailureSlices + if (event.host.state != HostState.UP) slices else 0, hostAggregateMetrics.totalFailureVmSlices + if (event.host.state != HostState.UP) event.vmCount * slices else 0 ) -- cgit v1.2.3 From 86b5df211938a8f9a391f143ccab5ccdf4a5d59e Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 14 Apr 2021 22:33:11 +0200 Subject: exp: Fix incorrect filter scheduler weights This change fixes an issue where incorrect scheduling weights were applied to the filter scheduler. --- .../opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'simulator/opendc-runner-web/src') diff --git a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt index 1ab67a61..a368dfee 100644 --- a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt +++ b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt @@ -234,7 +234,7 @@ public class RunnerCli : CliktCommand(name = "runner") { ) "mem-inv" -> FilterScheduler( filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()), - weighers = listOf(MemoryWeigher() to -1.0) + weighers = listOf(MemoryWeigher() to 1.0) ) "core-mem" -> FilterScheduler( filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()), @@ -242,7 +242,7 @@ public class RunnerCli : CliktCommand(name = "runner") { ) "core-mem-inv" -> FilterScheduler( filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()), - weighers = listOf(CoreMemoryWeigher() to -1.0) + weighers = listOf(CoreMemoryWeigher() to 1.0) ) "active-servers" -> FilterScheduler( filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()), -- cgit v1.2.3