summaryrefslogtreecommitdiff
path: root/simulator/opendc-experiments/opendc-experiments-capelin
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-03-30 22:42:41 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-08 14:29:32 +0200
commit638dd7a33d5f7f0b8fcca9c99cdc92819cf0847c (patch)
tree739a8569545608068141288eb25ae80ce2597b7d /simulator/opendc-experiments/opendc-experiments-capelin
parent6a04ae25ca18f959b8f2b768c8ce2c285ed72c09 (diff)
exp: Add experiment for OpenDC Energy project
This change adds an experiment for the OpenDC Energy project, which tests various energy models that have been implemented in OpenDC.
Diffstat (limited to 'simulator/opendc-experiments/opendc-experiments-capelin')
-rw-r--r--simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/trace/Sc20StreamingParquetTraceReader.kt30
1 files changed, 18 insertions, 12 deletions
diff --git a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/trace/Sc20StreamingParquetTraceReader.kt b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/trace/Sc20StreamingParquetTraceReader.kt
index 9ab69572..c5294b55 100644
--- a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/trace/Sc20StreamingParquetTraceReader.kt
+++ b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/trace/Sc20StreamingParquetTraceReader.kt
@@ -57,8 +57,8 @@ private val logger = KotlinLogging.logger {}
@OptIn(ExperimentalStdlibApi::class)
public class Sc20StreamingParquetTraceReader(
traceFile: File,
- performanceInterferenceModel: PerformanceInterferenceModel,
- selectedVms: List<String>,
+ performanceInterferenceModel: PerformanceInterferenceModel? = null,
+ selectedVms: List<String> = emptyList(),
random: Random
) : TraceReader<SimWorkload> {
/**
@@ -229,20 +229,26 @@ public class Sc20StreamingParquetTraceReader(
buffers.remove(id)
}
val relevantPerformanceInterferenceModelItems =
- PerformanceInterferenceModel(
- performanceInterferenceModel.items.filter { it.workloadNames.contains(id) }.toSortedSet(),
- Random(random.nextInt())
- )
+ if (performanceInterferenceModel != null)
+ PerformanceInterferenceModel(
+ performanceInterferenceModel.items.filter { it.workloadNames.contains(id) }.toSortedSet(),
+ Random(random.nextInt())
+ )
+ else
+ null
val workload = SimTraceWorkload(fragments)
+ val meta = mapOf(
+ "cores" to maxCores,
+ "required-memory" to requiredMemory,
+ "workload" to workload
+ )
TraceEntry(
uid, id, submissionTime, workload,
- mapOf(
- IMAGE_PERF_INTERFERENCE_MODEL to relevantPerformanceInterferenceModelItems,
- "cores" to maxCores,
- "required-memory" to requiredMemory,
- "workload" to workload
- )
+ if (performanceInterferenceModel != null)
+ meta + mapOf(IMAGE_PERF_INTERFERENCE_MODEL to relevantPerformanceInterferenceModelItems as Any)
+ else
+ meta
)
}
.sortedBy { it.start }