diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-06-02 23:23:55 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-06-03 10:37:34 +0200 |
| commit | 84468f4e3a331d7ea073ac7033b3d9937168ed9f (patch) | |
| tree | 6f596eef8a39411f9fba3b3c845112d80f47b93b /opendc-experiments/opendc-experiments-energy21/src/main/kotlin | |
| parent | 1ee02377aca356a99506ac247b376d7cf070048d (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-experiments/opendc-experiments-energy21/src/main/kotlin')
| -rw-r--r-- | opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt b/opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt index 7460a1e7..37e10580 100644 --- a/opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt +++ b/opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt @@ -173,23 +173,23 @@ public class EnergyExperiment : Experiment("Energy Modeling 2021") { */ public enum class PowerModelType { CUBIC { - override val driver: ScalingDriver = SimpleScalingDriver(CubicPowerModel(206.0, 56.4)) + override val driver: PowerDriver = SimplePowerDriver(CubicPowerModel(206.0, 56.4)) }, LINEAR { - override val driver: ScalingDriver = SimpleScalingDriver(LinearPowerModel(206.0, 56.4)) + override val driver: PowerDriver = SimplePowerDriver(LinearPowerModel(206.0, 56.4)) }, SQRT { - override val driver: ScalingDriver = SimpleScalingDriver(SqrtPowerModel(206.0, 56.4)) + override val driver: PowerDriver = SimplePowerDriver(SqrtPowerModel(206.0, 56.4)) }, SQUARE { - override val driver: ScalingDriver = SimpleScalingDriver(SquarePowerModel(206.0, 56.4)) + override val driver: PowerDriver = SimplePowerDriver(SquarePowerModel(206.0, 56.4)) }, INTERPOLATION { - override val driver: ScalingDriver = SimpleScalingDriver( + override val driver: PowerDriver = SimplePowerDriver( InterpolationPowerModel( listOf(56.4, 100.0, 107.0, 117.0, 127.0, 138.0, 149.0, 162.0, 177.0, 191.0, 206.0) ) @@ -197,17 +197,17 @@ public class EnergyExperiment : Experiment("Energy Modeling 2021") { }, MSE { - override val driver: ScalingDriver = SimpleScalingDriver(MsePowerModel(206.0, 56.4, 1.4)) + override val driver: PowerDriver = SimplePowerDriver(MsePowerModel(206.0, 56.4, 1.4)) }, ASYMPTOTIC { - override val driver: ScalingDriver = SimpleScalingDriver(AsymptoticPowerModel(206.0, 56.4, 0.3, false)) + override val driver: PowerDriver = SimplePowerDriver(AsymptoticPowerModel(206.0, 56.4, 0.3, false)) }, ASYMPTOTIC_DVFS { - override val driver: ScalingDriver = SimpleScalingDriver(AsymptoticPowerModel(206.0, 56.4, 0.3, true)) + override val driver: PowerDriver = SimplePowerDriver(AsymptoticPowerModel(206.0, 56.4, 0.3, true)) }; - public abstract val driver: ScalingDriver + public abstract val driver: PowerDriver } } |
