summaryrefslogtreecommitdiff
path: root/opendc-compute/opendc-compute-workload/src/main
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2025-03-18 22:55:50 +0100
committerGitHub <noreply@github.com>2025-03-18 22:55:50 +0100
commit5965492a9bab7e25dfc01c02bbfa7effe1e36dd0 (patch)
tree7b90b5e746859fc89aab6958de01a64190ce1378 /opendc-compute/opendc-compute-workload/src/main
parent46ba81a45f7cb10c7f870bbf6946a46207ee353c (diff)
Made some changes to improve RAM of OpenDC (#318)
Diffstat (limited to 'opendc-compute/opendc-compute-workload/src/main')
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt2
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt5
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/WorkloadLoader.kt22
3 files changed, 5 insertions, 24 deletions
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
index 2b8b589f..cbff5fb9 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
@@ -126,7 +126,7 @@ public class ComputeWorkloadLoader(
continue
}
- val submissionTime = reader.getInstant(submissionTimeCol)!!
+ val submissionTime = reader.getInstant(submissionTimeCol)!!.toEpochMilli()
val duration = reader.getLong(durationCol)
val cpuCount = reader.getInt(cpuCountCol)
val cpuCapacity = reader.getDouble(cpuCapacityCol)
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt
index 7a5089b9..d32c84f6 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt
@@ -23,7 +23,6 @@
package org.opendc.compute.workload
import org.opendc.simulator.compute.workload.trace.TraceWorkload
-import java.time.Instant
import java.util.UUID
/**
@@ -45,7 +44,7 @@ public data class Task(
val cpuCapacity: Double,
val memCapacity: Long,
val totalLoad: Double,
- var submissionTime: Instant,
+ var submissionTime: Long,
val duration: Long,
- val trace: TraceWorkload,
+ var trace: TraceWorkload,
)
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/WorkloadLoader.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/WorkloadLoader.kt
index ecb98ba2..6b9c3753 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/WorkloadLoader.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/WorkloadLoader.kt
@@ -22,7 +22,6 @@
package org.opendc.compute.workload
import mu.KotlinLogging
-import java.time.Instant
import java.time.LocalDateTime
import java.time.ZoneOffset
@@ -34,13 +33,13 @@ public abstract class WorkloadLoader(private val submissionTime: String? = null)
return
}
- val workloadSubmissionTime = workload.minOf({ it.submissionTime }).toEpochMilli()
+ val workloadSubmissionTime = workload.minOf({ it.submissionTime })
val submissionTimeLong = LocalDateTime.parse(submissionTime).toInstant(ZoneOffset.UTC).toEpochMilli()
val timeShift = submissionTimeLong - workloadSubmissionTime
for (task in workload) {
- task.submissionTime = Instant.ofEpochMilli(task.submissionTime.toEpochMilli() + timeShift)
+ task.submissionTime += timeShift
}
}
@@ -54,10 +53,6 @@ public abstract class WorkloadLoader(private val submissionTime: String? = null)
reScheduleTasks(workload)
-// if (fraction >= 1.0) {
-// return workload
-// }
-
if (fraction <= 0.0) {
throw Error("The fraction of tasks to load cannot be 0.0 or lower")
}
@@ -75,19 +70,6 @@ public abstract class WorkloadLoader(private val submissionTime: String? = null)
currentLoad += entry.totalLoad
}
-// val shuffledWorkload = workload.shuffled()
-// for (entry in shuffledWorkload) {
-// val entryLoad = entry.totalLoad
-//
-// // TODO: ask Sacheen
-// if ((currentLoad + entryLoad) / totalLoad > fraction) {
-// break
-// }
-//
-// currentLoad += entryLoad
-// res += entry
-// }
-
logger.info { "Sampled ${workload.size} VMs (fraction $fraction) into subset of ${res.size} VMs" }
return res