diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-08-22 13:23:53 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-08-22 13:40:21 +0200 |
| commit | b8f64c1d3df2c990df8941cd036222fab2def9fa (patch) | |
| tree | 34dfc78f84c5f463fda7f97957cc403411b4f166 /opendc-experiments/opendc-experiments-energy21/src | |
| parent | c1988fa1b08011f716194f48da10386a236ffd7f (diff) | |
refactor(compute): Update FilterScheduler to follow OpenStack's Nova
This change updates the FilterScheduler implementation to follow more
closely the scheduler implementation in OpenStack's Nova. We now
normalize the weights, support many of the filters and weights in
OpenStack and support overcommitting resources.
Diffstat (limited to 'opendc-experiments/opendc-experiments-energy21/src')
| -rw-r--r-- | opendc-experiments/opendc-experiments-energy21/src/main/kotlin/org/opendc/experiments/energy21/EnergyExperiment.kt | 9 |
1 files changed, 5 insertions, 4 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 8fc4f6b8..e64e20a2 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 @@ -32,9 +32,9 @@ import mu.KotlinLogging import org.opendc.compute.service.ComputeService import org.opendc.compute.service.scheduler.ComputeScheduler import org.opendc.compute.service.scheduler.FilterScheduler -import org.opendc.compute.service.scheduler.filters.ComputeCapabilitiesFilter import org.opendc.compute.service.scheduler.filters.ComputeFilter -import org.opendc.compute.service.scheduler.weights.RandomWeigher +import org.opendc.compute.service.scheduler.filters.RamFilter +import org.opendc.compute.service.scheduler.filters.VCpuFilter import org.opendc.compute.simulator.SimHost import org.opendc.experiments.capelin.* import org.opendc.experiments.capelin.monitor.ParquetExperimentMonitor @@ -81,8 +81,9 @@ public class EnergyExperiment : Experiment("Energy Modeling 2021") { override fun doRun(repeat: Int): Unit = runBlockingSimulation { val chan = Channel<Unit>(Channel.CONFLATED) val allocationPolicy = FilterScheduler( - filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()), - weighers = listOf(RandomWeigher(Random(0)) to 1.0) + filters = listOf(ComputeFilter(), VCpuFilter(1.0), RamFilter(1.0)), + weighers = listOf(), + subsetSize = Int.MAX_VALUE ) val meterProvider: MeterProvider = createMeterProvider(clock) |
