From 29ec804965fa71d19073195248fbd2bfedd735c5 Mon Sep 17 00:00:00 2001 From: Dante Niewenhuis Date: Thu, 20 Mar 2025 15:27:47 +0100 Subject: Renamed SimChainWorkload to VirtualMachine (#320) * Renamed SimChainWorkload.java to VirtualMachine.java * Renamed SimChainWorkload.java to VirtualMachine.java * Renamed SimChainWorkload.java to VirtualMachine.java * Renamed SimChainWorkload.java to VirtualMachine.java * Renamed SimChainWorkload.java to VirtualMachine.java --- .../org/opendc/compute/simulator/internal/Guest.kt | 65 ++++++++++------------ 1 file changed, 30 insertions(+), 35 deletions(-) (limited to 'opendc-compute/opendc-compute-simulator') 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 e2bdd960..8096a67a 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 @@ -30,10 +30,7 @@ import org.opendc.compute.simulator.telemetry.GuestCpuStats import org.opendc.compute.simulator.telemetry.GuestSystemStats import org.opendc.simulator.compute.machine.SimMachine import org.opendc.simulator.compute.workload.ChainWorkload -import org.opendc.simulator.compute.workload.SimChainWorkload -import org.opendc.simulator.compute.workload.trace.TraceFragment -import org.opendc.simulator.compute.workload.trace.TraceWorkload -import org.opendc.simulator.compute.workload.trace.scaling.NoDelayScaling +import org.opendc.simulator.compute.workload.VirtualMachine import java.time.Duration import java.time.Instant import java.time.InstantSource @@ -58,9 +55,9 @@ public class Guest( private set /** - * The [SimChainWorkload] on which the task is currently running + * The [VirtualMachine] on which the task is currently running */ - public var simChainWorkload: SimChainWorkload? = null + public var virtualMachine: VirtualMachine? = null private var uptime = 0L private var downtime = 0L @@ -90,32 +87,30 @@ public class Guest( * Launch the guest on the simulated Virtual machine */ private fun doStart() { - assert(simChainWorkload == null) { "Concurrent job is already running" } + assert(virtualMachine == null) { "Concurrent job is already running" } onStart() - val scalingPolicy = NoDelayScaling() - // TODO: This is not being used at the moment - val bootworkload = - TraceWorkload( - ArrayList( - listOf( - TraceFragment( - 1000000L, - 100000.0, - 1, - ), - ), - ), - 0, - 0, - 0.0, - scalingPolicy, - ) +// val bootworkload = +// TraceWorkload(s +// ArrayList( +// listOf( +// TraceFragment( +// 1000000L, +// 100000.0, +// 1, +// ), +// ), +// ), +// 0, +// 0, +// 0.0, +// NoDelayScaling(), +// ) if (task.workload is ChainWorkload) { - simChainWorkload = + virtualMachine = simMachine.startWorkload(task.workload as ChainWorkload) { cause -> onStop(if (cause != null) TaskState.FAILED else TaskState.COMPLETED) } @@ -123,12 +118,12 @@ public class Guest( val newChainWorkload = ChainWorkload( ArrayList(listOf(task.workload)), - task.workload.checkpointInterval, - task.workload.checkpointDuration, - task.workload.checkpointIntervalScaling, + task.workload.checkpointInterval(), + task.workload.checkpointDuration(), + task.workload.checkpointIntervalScaling(), ) - simChainWorkload = + virtualMachine = simMachine.startWorkload(newChainWorkload) { cause -> onStop(if (cause != null) TaskState.FAILED else TaskState.COMPLETED) } @@ -160,15 +155,15 @@ public class Guest( * Attempt to stop the task and put it into [target] state. */ private fun doStop(target: TaskState) { - assert(simChainWorkload != null) { "Invalid job state" } - val virtualMachine = this.simChainWorkload ?: return + assert(virtualMachine != null) { "Invalid job state" } + val virtualMachine = this.virtualMachine ?: return if (target == TaskState.FAILED) { virtualMachine.stopWorkload(Exception("Task has failed")) } else { virtualMachine.stopWorkload() } - this.simChainWorkload = null + this.virtualMachine = null this.state = target } @@ -236,8 +231,8 @@ public class Guest( * Obtain the CPU statistics of this guest. */ public fun getCpuStats(): GuestCpuStats { - simChainWorkload!!.updateCounters(this.clock.millis()) - val counters = simChainWorkload!!.performanceCounters + virtualMachine!!.updateCounters(this.clock.millis()) + val counters = virtualMachine!!.performanceCounters return GuestCpuStats( counters.cpuActiveTime / 1000L, -- cgit v1.2.3