diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2025-07-22 15:47:44 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-22 15:47:44 +0200 |
| commit | e22c97dcca7478d6941b78bdf7cd873bc0d23cdc (patch) | |
| tree | f1859c16f4c7973d8b16ed693caad4c749d42331 /opendc-compute/opendc-compute-simulator/src/main/kotlin | |
| parent | 0c0cf25616771cd40a9e401edcba4a5e5016f76e (diff) | |
Updated workload schema (#360)
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main/kotlin')
7 files changed, 12 insertions, 14 deletions
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt index 40de94bb..ed0c5226 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt @@ -73,7 +73,7 @@ public class Guest( public fun start() { when (state) { TaskState.CREATED, TaskState.FAILED, TaskState.PAUSED -> { - LOGGER.info { "User requested to start task ${task.uid}" } + LOGGER.info { "User requested to start task ${task.id}" } doStart() } TaskState.RUNNING -> return 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 ced38480..7a0d5d65 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 @@ -22,6 +22,7 @@ package org.opendc.compute.simulator.provisioner +import org.opendc.common.ResourceType import org.opendc.compute.carbon.getCarbonFragments import org.opendc.compute.simulator.host.SimHost import org.opendc.compute.simulator.service.ComputeService @@ -119,11 +120,11 @@ public class HostsProvisioningStep internal constructor( carbonModel?.addReceiver(batteryPolicy) - FlowEdge(hostDistributor, batteryAggregator) + FlowEdge(hostDistributor, batteryAggregator, ResourceType.POWER) service.addBattery(battery) } else { - FlowEdge(hostDistributor, simPowerSource) + FlowEdge(hostDistributor, simPowerSource, ResourceType.POWER) } // Create hosts, they are connected to the powerMux when SimMachine is created diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt index 279a2717..bc98a575 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt @@ -24,7 +24,6 @@ package org.opendc.compute.simulator.scheduler.filters import org.opendc.compute.simulator.service.HostView import org.opendc.compute.simulator.service.ServiceTask -import java.util.UUID /** * A [HostFilter] that ensures an instance is scheduled on a different host from a set of instances. @@ -35,7 +34,7 @@ public class DifferentHostFilter : HostFilter { task: ServiceTask, ): Boolean { @Suppress("UNCHECKED_CAST") - val affinityUUIDs = task.meta["scheduler_hint:different_host"] as? Set<UUID> ?: return true - return host.host.getInstances().none { it.uid in affinityUUIDs } + val affinityIDs = task.meta["scheduler_hint:different_host"] as? Set<Int> ?: return true + return host.host.getInstances().none { it.id in affinityIDs } } } diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt index 761b125d..73fd0d3c 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt @@ -24,7 +24,6 @@ package org.opendc.compute.simulator.scheduler.filters import org.opendc.compute.simulator.service.HostView import org.opendc.compute.simulator.service.ServiceTask -import java.util.UUID /** * A [HostFilter] that ensures an instance is scheduled on the same host as all other instances in a set of instances. @@ -35,7 +34,7 @@ public class SameHostFilter : HostFilter { task: ServiceTask, ): Boolean { @Suppress("UNCHECKED_CAST") - val affinityUUIDs = task.meta["scheduler_hint:same_host"] as? Set<UUID> ?: return true - return host.host.getInstances().any { it.uid in affinityUUIDs } + val affinityIDs = task.meta["scheduler_hint:same_host"] as? Set<Int> ?: return true + return host.host.getInstances().any { it.id in affinityIDs } } } diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt index 07750114..0397b9a1 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt @@ -61,10 +61,9 @@ public object DfltTaskExportColumns { public val TASK_ID: ExportColumn<TaskTableReader> = ExportColumn( field = - Types.required(BINARY) - .`as`(LogicalTypeAnnotation.stringType()) + Types.required(INT32) .named("task_id"), - ) { Binary.fromString(it.taskInfo.id) } + ) { it.taskInfo.id } public val TASK_NAME: ExportColumn<TaskTableReader> = ExportColumn( diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskInfo.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskInfo.kt index c1a14613..2727847f 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskInfo.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskInfo.kt @@ -26,7 +26,7 @@ package org.opendc.compute.simulator.telemetry.table.task * Static information about a task exposed to the telemetry service. */ public data class TaskInfo( - val id: String, + val id: Int, val name: String, val type: String, val arch: String, diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskTableReaderImpl.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskTableReaderImpl.kt index ce62fdb0..3183cf11 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskTableReaderImpl.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/task/TaskTableReaderImpl.kt @@ -89,7 +89,7 @@ public class TaskTableReaderImpl( */ override val taskInfo: TaskInfo = TaskInfo( - task.uid.toString(), + task.id, task.name, "vm", "x86", |
