diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-03-02 17:04:02 +0100 |
|---|---|---|
| committer | Georgios Andreadis <info@gandreadis.com> | 2020-03-04 17:51:57 +0100 |
| commit | 0dd7ae2ed80fb4f581a3e56a3f7d5d4a920a32b7 (patch) | |
| tree | 4bc16a3aed0703be03f1affec54722cfa2c2ef91 /opendc/opendc-format/src | |
| parent | 78417251806e079c998380a76ab3533de373289b (diff) | |
Move performance interference to image tags
Diffstat (limited to 'opendc/opendc-format/src')
| -rw-r--r-- | opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/vm/VmTraceReader.kt | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/vm/VmTraceReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/vm/VmTraceReader.kt index 2e881a6c..2867e993 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/vm/VmTraceReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/vm/VmTraceReader.kt @@ -28,6 +28,7 @@ import com.atlarge.opendc.compute.core.image.FlopsHistoryFragment import com.atlarge.opendc.compute.core.image.VmImage import com.atlarge.opendc.compute.core.workload.VmWorkload import com.atlarge.opendc.core.User +import com.atlarge.opendc.core.workload.PerformanceInterferenceModel import com.atlarge.opendc.format.trace.TraceEntry import com.atlarge.opendc.format.trace.TraceReader import java.io.BufferedReader @@ -39,8 +40,12 @@ import java.util.UUID * A [TraceReader] for the VM workload trace format. * * @param traceDirectory The directory of the traces. + * @param performanceInterferenceModel The performance model covering the workload in the VM trace. */ -class VmTraceReader(traceDirectory: File) : TraceReader<VmWorkload> { +class VmTraceReader( + traceDirectory: File, + performanceInterferenceModel: PerformanceInterferenceModel +) : TraceReader<VmWorkload> { /** * The internal iterator to use for this reader. */ @@ -115,9 +120,21 @@ class VmTraceReader(traceDirectory: File) : TraceReader<VmWorkload> { } val uuid = UUID(0L, vmId) + + val relevantPerformanceInterferenceModelItems = PerformanceInterferenceModel( + performanceInterferenceModel.items.filter { it.workloadIds.contains(uuid) }.toSet() + ) + val vmWorkload = VmWorkload( uuid, "VM Workload $vmId", UnnamedUser, - VmImage(uuid, vmId.toString(), emptyMap(), flopsHistory, cores, requiredMemory) + VmImage( + uuid, + vmId.toString(), + mapOf("performance-interference" to relevantPerformanceInterferenceModelItems), + flopsHistory, + cores, + requiredMemory + ) ) entries[vmId] = TraceEntryImpl( flopsHistory.firstOrNull()?.tick ?: -1, |
