diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2025-11-13 19:44:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-13 19:44:43 +0100 |
| commit | 90d4369183a420689fb1d48687a77ec677572433 (patch) | |
| tree | 6b5bf9dbc1c55700620073a099ed22690e799526 /opendc-compute/opendc-compute-simulator/src/main/java/org | |
| parent | 71f63618fb83c8e19ae48d5dc4a6e3927031cc10 (diff) | |
Updated the checkpointModel and OnUpdate of SimTraceWorkload (#380)
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main/java/org')
2 files changed, 16 insertions, 2 deletions
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; + } } |
