summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-base
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-experiments/opendc-experiments-base')
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/allocation/AllocationPolicySpec.kt5
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt3
2 files changed, 6 insertions, 2 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/allocation/AllocationPolicySpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/allocation/AllocationPolicySpec.kt
index 8ea0a31e..afe15032 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/allocation/AllocationPolicySpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/allocation/AllocationPolicySpec.kt
@@ -76,13 +76,14 @@ public fun createComputeScheduler(
spec: AllocationPolicySpec,
seeder: RandomGenerator,
clock: InstantSource,
+ numHosts: Int = 1000,
): ComputeScheduler {
return when (spec) {
- is PrefabAllocationPolicySpec -> createPrefabComputeScheduler(spec.policyName, seeder, clock)
+ is PrefabAllocationPolicySpec -> createPrefabComputeScheduler(spec.policyName, seeder, clock, numHosts)
is FilterAllocationPolicySpec -> {
val filters = spec.filters.map { createHostFilter(it) }
val weighers = spec.weighers.map { createHostWeigher(it) }
- FilterScheduler(filters, weighers, spec.subsetSize, seeder)
+ FilterScheduler(filters, weighers, spec.subsetSize, seeder, numHosts)
}
is TimeShiftAllocationPolicySpec -> {
val filters = spec.filters.map { createHostFilter(it) }
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
index 4f845e01..ffa31f57 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
@@ -107,6 +107,8 @@ public fun runScenario(
val startTime = Duration.ofMillis(startTimeLong)
val topology = clusterTopology(scenario.topologySpec.pathToFile)
+
+ val numHosts = topology.sumOf { it.hostSpecs.size }
provisioner.runSteps(
setupComputeService(
serviceDomain,
@@ -116,6 +118,7 @@ public fun runScenario(
scenario.allocationPolicySpec,
Random(it.seeder.nextLong()),
timeSource,
+ numHosts,
)
provisioner.registry.register(serviceDomain, ComputeScheduler::class.java, computeScheduler)