summaryrefslogtreecommitdiff
path: root/opendc-compute
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-compute')
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadRunner.kt4
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/topology/TopologyHelpers.kt4
2 files changed, 5 insertions, 3 deletions
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadRunner.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadRunner.kt
index 29d84a9a..6da0f49a 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadRunner.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadRunner.kt
@@ -154,9 +154,10 @@ public class ComputeWorkloadRunner(
* Register a host for this simulation.
*
* @param spec The definition of the host.
+ * @param optimize Merge the CPU resources of the host into a single CPU resource.
* @return The [SimHost] that has been constructed by the runner.
*/
- public fun registerHost(spec: HostSpec): SimHost {
+ public fun registerHost(spec: HostSpec, optimize: Boolean = false): SimHost {
val resource = Resource.builder()
.put(HOST_ID, spec.uid.toString())
.put(HOST_NAME, spec.name)
@@ -182,6 +183,7 @@ public class ComputeWorkloadRunner(
spec.hypervisor,
powerDriver = spec.powerDriver,
interferenceDomain = interferenceModel?.newDomain(),
+ optimize = optimize
)
hosts.add(host)
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/topology/TopologyHelpers.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/topology/TopologyHelpers.kt
index 09159a93..74f9a1f8 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/topology/TopologyHelpers.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/topology/TopologyHelpers.kt
@@ -28,9 +28,9 @@ import org.opendc.compute.workload.ComputeWorkloadRunner
/**
* Apply the specified [topology] to the given [ComputeWorkloadRunner].
*/
-public fun ComputeWorkloadRunner.apply(topology: Topology) {
+public fun ComputeWorkloadRunner.apply(topology: Topology, optimize: Boolean = false) {
val hosts = topology.resolve()
for (spec in hosts) {
- registerHost(spec)
+ registerHost(spec, optimize)
}
}