From a5f3c19200026b9476edc39b951eb1003cff0831 Mon Sep 17 00:00:00 2001 From: Niels Thiele Date: Tue, 15 Jul 2025 15:53:37 +0200 Subject: Add configurable resource distribution at host level (#355) --- .../simulator/provisioner/HostsProvisioningStep.kt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'opendc-compute/opendc-compute-simulator/src') diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt index 791ab692..ced38480 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt @@ -33,8 +33,9 @@ import org.opendc.simulator.compute.power.SimPowerSource import org.opendc.simulator.compute.power.batteries.BatteryAggregator import org.opendc.simulator.compute.power.batteries.SimBattery import org.opendc.simulator.engine.engine.FlowEngine -import org.opendc.simulator.engine.graph.FlowDistributor import org.opendc.simulator.engine.graph.FlowEdge +import org.opendc.simulator.engine.graph.distributionPolicies.FlowDistributorFactory +import org.opendc.simulator.engine.graph.distributionPolicies.FlowDistributorFactory.DistributionPolicy /** * A [ProvisioningStep] that provisions a list of hosts for a [ComputeService]. @@ -66,7 +67,11 @@ public class HostsProvisioningStep internal constructor( simPowerSources.add(simPowerSource) service.addPowerSource(simPowerSource) - val hostDistributor = FlowDistributor(engine) + val hostDistributor = + FlowDistributorFactory.getFlowDistributor( + engine, + DistributionPolicy.MAX_MIN_FAIRNESS, + ) val carbonFragments = getCarbonFragments(cluster.powerSource.carbonTracePath) @@ -80,7 +85,11 @@ public class HostsProvisioningStep internal constructor( if (cluster.battery != null) { // Create Battery Distributor - val batteryDistributor = FlowDistributor(engine) + val batteryDistributor = + FlowDistributorFactory.getFlowDistributor( + engine, + DistributionPolicy.MAX_MIN_FAIRNESS, + ) FlowEdge(batteryDistributor, simPowerSource) // Create Battery -- cgit v1.2.3