From 90d4369183a420689fb1d48687a77ec677572433 Mon Sep 17 00:00:00 2001 From: Dante Niewenhuis Date: Thu, 13 Nov 2025 19:44:43 +0100 Subject: Updated the checkpointModel and OnUpdate of SimTraceWorkload (#380) --- .../opendc/compute/simulator/service/ComputeService.java | 4 ++++ .../org/opendc/compute/simulator/service/ServiceTask.java | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'opendc-compute/opendc-compute-simulator/src/main/java/org') diff --git a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java index f357b164..f4adaac1 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java +++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java @@ -573,6 +573,10 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { activeTasks.put(task, host); updateHost(host); + + long new_scheduling_delay = clock.millis() - req.getSubmitTime() + task.getSchedulingDelay(); + task.setSchedulingDelay(new_scheduling_delay); + } catch (Exception cause) { LOGGER.error("Failed to deploy VM", cause); scheduler.removeTask(task, hv); diff --git a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java index 8c066e4f..689a0e95 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java +++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java @@ -75,6 +75,8 @@ public class ServiceTask { private int numFailures = 0; private int numPauses = 0; + private long schedulingDelay = 0; + /// ////////////////////////////////////////////////////////////////////////////////////////////////// /// Getters and Setters /// ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -343,12 +345,12 @@ public class ServiceTask { case PAUSED: LOGGER.info("User requested to start task after pause {}", id); setState(TaskState.PROVISIONING); - request = service.schedule(this, true); + request = service.schedule(this, false); break; case FAILED: LOGGER.info("User requested to start task after failure {}", id); setState(TaskState.PROVISIONING); - request = service.schedule(this, true); + request = service.schedule(this, false); break; } } @@ -433,4 +435,12 @@ public class ServiceTask { return !parents.isEmpty(); } + + public long getSchedulingDelay() { + return schedulingDelay; + } + + public void setSchedulingDelay(long schedulingDelay) { + this.schedulingDelay = schedulingDelay; + } } -- cgit v1.2.3