From c425a03c59e7d5c2e5d82988c61e340a6cbf61fe Mon Sep 17 00:00:00 2001 From: Dante Niewenhuis Date: Tue, 17 Dec 2024 11:14:13 +0100 Subject: Updated the FlowEngine so nodes that have to be updated in the current cycle cannot be scheduled twice. (#284) Updated the FlowNodeQueue --- .../java/org/opendc/simulator/compute/workload/SimChainWorkload.java | 4 ++++ .../java/org/opendc/simulator/compute/workload/SimTraceWorkload.java | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'opendc-simulator/opendc-simulator-compute/src/main/java') diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java index 75bdde92..b612de2c 100644 --- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java +++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java @@ -270,6 +270,10 @@ final class SimChainWorkload extends SimWorkload implements FlowSupplier { */ @Override public void removeSupplierEdge(FlowEdge supplierEdge) { + if (this.machineEdge == null) { + return; + } + this.stopWorkload(); } } diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java index fbbe0815..8487fbc2 100644 --- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java +++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java @@ -139,6 +139,10 @@ public class SimTraceWorkload extends SimWorkload implements FlowConsumer { @Override public void stopWorkload() { + if (this.machineEdge == null) { + return; + } + this.closeNode(); this.machineEdge = null; -- cgit v1.2.3