diff options
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main/java/org')
| -rw-r--r-- | opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java | 52 |
1 files changed, 10 insertions, 42 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 557fb760..3f6ef73b 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 @@ -193,6 +193,10 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { host.delete(task); + if (host.isEmpty()) { + setHostEmpty(host); + } + if (newState == TaskState.COMPLETED) { tasksCompleted++; addCompletedTask(task); @@ -294,6 +298,12 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { host.addListener(hostListener); } + public void setHostEmpty(SimHost host) { + HostView hv = hostToView.get(host); + + this.scheduler.setHostEmpty(hv); + } + public void addPowerSource(SimPowerSource simPowerSource) { // Check if host is already known if (powerSources.contains(simPowerSource)) { @@ -437,11 +447,6 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { void addCompletedTask(ServiceTask completedTask) { int parentId = completedTask.getId(); - // int taskId = task.getId(); - - // if (!this.completedTasks.contains(taskId)) { - // this.completedTasks.add(taskId); - // } for (int taskId : completedTask.getFlavor().getChildren()) { SchedulingRequest request = blockedTasks.get(taskId); @@ -457,24 +462,6 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { } } } - - // List<SchedulingRequest> requestsToRemove = new ArrayList<>(); - // - // for (SchedulingRequest request : blockedTasks) { - // request.getTask().getFlavor().updatePendingDependencies(taskId); - // - // Set<Integer> pendingDependencies = request.getTask().getFlavor().getDependencies(); - // - // if (pendingDependencies.isEmpty()) { - // requestsToRemove.add(request); - // taskQueue.add(request); - // tasksPending++; - // } - // } - // - // for (SchedulingRequest request : requestsToRemove) { - // blockedTasks.remove(request); - // } } void addTerminatedTask(ServiceTask task) { @@ -493,25 +480,6 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { blockedTasks.remove(childTask.getId()); } } - - // int taskId = task.getId(); - // - // List<SchedulingRequest> requestsToRemove = new ArrayList<>(); - // - // if (!this.terminatedTasks.contains(taskId)) { - // this.terminatedTasks.add(taskId); - // } - // - // for (SchedulingRequest request : blockedTasks) { - // if (request.getTask().getFlavor().isInDependencies(taskId)) { - // requestsToRemove.add(request); - // request.getTask().setState(TaskState.TERMINATED); - // } - // } - // - // for (SchedulingRequest request : requestsToRemove) { - // blockedTasks.remove(request); - // } } void delete(ServiceFlavor flavor) { |
