summaryrefslogtreecommitdiff
path: root/opendc-compute/opendc-compute-simulator/src/main
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2025-03-20 15:27:47 +0100
committerGitHub <noreply@github.com>2025-03-20 15:27:47 +0100
commit29ec804965fa71d19073195248fbd2bfedd735c5 (patch)
tree2fdbdc68491a8f33bde76fe13b1cd541f428ff78 /opendc-compute/opendc-compute-simulator/src/main
parent1e35c61cd31b8bfb33a6ccbb46b08c0466518e6c (diff)
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
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main')
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt65
1 files changed, 30 insertions, 35 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 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,