summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-base/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-experiments/opendc-experiments-base/src/main
parent46ba81a45f7cb10c7f870bbf6946a46207ee353c (diff)
Made some changes to improve RAM of OpenDC (#318)
Diffstat (limited to 'opendc-experiments/opendc-experiments-base/src/main')
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt1
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt5
3 files changed, 5 insertions, 3 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
index a345fcb9..6d1ee0f0 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
@@ -37,6 +37,7 @@ public data class ExportModelSpec(
val computeExportConfig: ComputeExportConfig = ComputeExportConfig.ALL_COLUMNS,
val filesToExport: List<OutputFiles> = OutputFiles.entries.toList(),
var filesToExportDict: MutableMap<OutputFiles, Boolean> = OutputFiles.entries.associateWith { false }.toMutableMap(),
+ var printFrequency: Int? = 24,
) {
init {
require(exportInterval > 0) { "The Export interval has to be higher than 0" }
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
index 45fedd0d..5664e0cb 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
@@ -104,7 +104,7 @@ public suspend fun ComputeService.replay(
for (entry in trace.sortedBy { it.submissionTime }) {
val now = clock.millis()
- val start = entry.submissionTime.toEpochMilli()
+ val start = entry.submissionTime
// Set the simulationOffset based on the starting time of the first task
if (simulationOffset == Long.MIN_VALUE) {
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
index 683bd5b6..4da035ec 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
@@ -93,9 +93,9 @@ public fun runScenario(
checkpointIntervalScaling,
scalingPolicy,
)
- val workload = workloadLoader.sampleByLoad(scenario.workloadSpec.sampleFraction)
+ var workload = workloadLoader.sampleByLoad(scenario.workloadSpec.sampleFraction)
- val startTimeLong = workload.minOf { it.submissionTime }.toEpochMilli()
+ val startTimeLong = workload.minOf { it.submissionTime }
val startTime = Duration.ofMillis(startTimeLong)
val topology = clusterTopology(scenario.topologySpec.pathToFile)
@@ -153,6 +153,7 @@ public fun addExportModel(
Duration.ofSeconds(scenario.exportModelSpec.exportInterval),
startTime,
scenario.exportModelSpec.filesToExportDict,
+ scenario.exportModelSpec.printFrequency,
),
)
}