From 4181a4bd51b54a5905be1f46f74c1349776e35c2 Mon Sep 17 00:00:00 2001 From: Dante Niewenhuis Date: Tue, 14 Oct 2025 16:38:27 +0200 Subject: Improved the performance by removing many invalidates from FlowNodes (#377) * Updated the UpDatedConsumer to boolean array * Updated SimTraceWorkload to not invalidate when the next fragment is started. * Removed as much invalidates as possible --- .../compute/simulator/telemetry/ComputeMetricReader.kt | 2 +- .../simulator/telemetry/parquet/ParquetComputeMonitor.kt | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) (limited to 'opendc-compute') diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt index 83899678..59c0ed0e 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt @@ -196,7 +196,7 @@ public class ComputeMetricReader( if (toMonitor[OutputFiles.SERVICE] == true) { this.serviceTableReader.record(now) - monitor.record(this.serviceTableReader.copy()) + this.monitor.record(this.serviceTableReader.copy()) } if (printFrequency != null && loggCounter % printFrequency == 0) { diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt index 4fb930e1..ab893158 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt @@ -44,7 +44,6 @@ public class ParquetComputeMonitor( private val batteryExporter: Exporter?, private val serviceExporter: Exporter?, ) : ComputeMonitor, AutoCloseable { - // FIXME: Include GPU override fun record(reader: HostTableReader) { hostExporter?.write(reader) } @@ -179,16 +178,11 @@ public class ParquetComputeMonitor( } return ParquetComputeMonitor( - hostExporter = - hostExporter, - taskExporter = - taskExporter, - powerSourceExporter = - powerSourceExporter, - batteryExporter = - batteryExporter, - serviceExporter = - serviceExporter, + hostExporter = hostExporter, + taskExporter = taskExporter, + powerSourceExporter = powerSourceExporter, + batteryExporter = batteryExporter, + serviceExporter = serviceExporter, ) } } -- cgit v1.2.3