summaryrefslogtreecommitdiff
path: root/simulator/opendc-serverless/opendc-serverless-simulator
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-03-30 22:20:13 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-07 12:13:14 +0200
commite38e6b9341907e28d029054995cf43cbd5e8bb4d (patch)
treebf625c4e3d02dfb147924d3dff54e2794c8ba75b /simulator/opendc-serverless/opendc-serverless-simulator
parentbef2b2fc9ab97941613ec4537ebca1eb3fccdee6 (diff)
simulator: Add initial design of CPUFreq model
This change adds a model implementing Dynamic Voltage Frequency Scaling (DVFS) to OpenDC.
Diffstat (limited to 'simulator/opendc-serverless/opendc-serverless-simulator')
-rw-r--r--simulator/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt5
1 files changed, 4 insertions, 1 deletions
diff --git a/simulator/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt b/simulator/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
index 7a48609c..f28a926b 100644
--- a/simulator/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
+++ b/simulator/opendc-serverless/opendc-serverless-simulator/src/main/kotlin/org/opendc/serverless/simulator/SimFunctionDeployer.kt
@@ -32,6 +32,9 @@ 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 java.time.Clock
import java.util.ArrayDeque
import kotlin.coroutines.Continuation
@@ -66,7 +69,7 @@ public class SimFunctionDeployer(
/**
* The machine that will execute the workloads.
*/
- public val machine: SimMachine = SimBareMetalMachine(scope.coroutineContext, clock, model)
+ public val machine: SimMachine = SimBareMetalMachine(scope.coroutineContext, clock, model, PerformanceScalingGovernor(), SimpleScalingDriver(ConstantPowerModel(0.0)))
/**
* The job associated with the lifecycle of the instance.