summaryrefslogtreecommitdiff
path: root/opendc-serverless
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-06-02 23:23:55 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-06-03 10:37:34 +0200
commit84468f4e3a331d7ea073ac7033b3d9937168ed9f (patch)
tree6f596eef8a39411f9fba3b3c845112d80f47b93b /opendc-serverless
parent1ee02377aca356a99506ac247b376d7cf070048d (diff)
simulator: Split CPUFreq subsystem in compute simulator
This change splits the functionality present in the CPUFreq subsystem of the compute simulation. Currently, the DVFS functionality is embedded in SimBareMetalMachine. However, this functionality should not exist within the firmware layer of a machine. Instead, the operating system should perform this logic (in OpenDC this should be the hypervisor). Furthermore, this change moves the scaling driver into the power package. The power driver is a machine/firmware specific implementation that computes the power consumption of a machine.
Diffstat (limited to 'opendc-serverless')
-rw-r--r--opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt9
1 files changed, 6 insertions, 3 deletions
diff --git a/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt b/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
index 1871bb04..32e5f75e 100644
--- a/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
+++ b/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
@@ -34,9 +34,8 @@ import org.opendc.serverless.simulator.workload.SimServerlessWorkloadMapper
import org.opendc.simulator.compute.SimBareMetalMachine
import org.opendc.simulator.compute.SimMachine
import org.opendc.simulator.compute.SimMachineModel
-import org.opendc.simulator.compute.cpufreq.PerformanceScalingGovernor
-import org.opendc.simulator.compute.cpufreq.SimpleScalingDriver
import org.opendc.simulator.compute.power.ConstantPowerModel
+import org.opendc.simulator.compute.power.SimplePowerDriver
import org.opendc.simulator.resources.SimResourceInterpreter
import java.time.Clock
import java.util.ArrayDeque
@@ -73,7 +72,11 @@ public class SimFunctionDeployer(
/**
* The machine that will execute the workloads.
*/
- public val machine: SimMachine = SimBareMetalMachine(SimResourceInterpreter(scope.coroutineContext, clock), model, PerformanceScalingGovernor(), SimpleScalingDriver(ConstantPowerModel(0.0)))
+ public val machine: SimMachine = SimBareMetalMachine(
+ SimResourceInterpreter(scope.coroutineContext, clock),
+ model,
+ SimplePowerDriver(ConstantPowerModel(0.0))
+ )
/**
* The job associated with the lifecycle of the instance.