From 8e0c192059c828e0e6dd2de1b1493fb42ed5103d Mon Sep 17 00:00:00 2001 From: Michael Schmid Date: Wed, 25 Nov 2020 11:26:28 +0100 Subject: [PATCH] changes to now --- simso/core/etm/ACET.py | 6 +++--- simso/core/etm/CacheModel.py | 6 +++--- simso/core/etm/FixedPenalty.py | 8 ++++---- simso/core/etm/PWCET.py | 6 +++--- simso/core/etm/WCET.py | 6 +++--- simso/schedulers/BF.py | 6 +++--- simso/schedulers/DP_WRAP.py | 4 ++-- simso/schedulers/EDF.py | 2 +- simso/schedulers/EDZL.py | 2 +- simso/schedulers/EKG.py | 4 ++-- simso/schedulers/EPDF.py | 2 +- simso/schedulers/ER_PD2.py | 2 +- simso/schedulers/G_FL_ZL.py | 4 ++-- simso/schedulers/LLREF.py | 8 ++++---- simso/schedulers/LLREF2.py | 10 +++++----- simso/schedulers/LRE_TL.py | 28 ++++++++++++++-------------- simso/schedulers/MLLF.py | 2 +- simso/schedulers/NVNLF.py | 12 ++++++------ simso/schedulers/PD2.py | 4 ++-- simso/schedulers/RUN.py | 4 ++-- simso/schedulers/RUNServer.py | 4 ++-- simso/schedulers/U_EDF.py | 6 +++--- 22 files changed, 68 insertions(+), 68 deletions(-) diff --git a/simso/core/etm/ACET.py b/simso/core/etm/ACET.py index 5ce81f8..aab9fe3 100644 --- a/simso/core/etm/ACET.py +++ b/simso/core/etm/ACET.py @@ -18,7 +18,7 @@ class ACET(AbstractExecutionTimeModel): def update_executed(self, job): if job in self.on_execute_date: - self.executed[job] += (self.sim.now() - self.on_execute_date[job] + self.executed[job] += (self.sim.now - self.on_execute_date[job] ) * job.cpu.speed del self.on_execute_date[job] @@ -31,7 +31,7 @@ class ACET(AbstractExecutionTimeModel): ) * self.sim.cycles_per_ms def on_execute(self, job): - self.on_execute_date[job] = self.sim.now() + self.on_execute_date[job] = self.sim.now def on_preempted(self, job): self.update_executed(job) @@ -46,7 +46,7 @@ class ACET(AbstractExecutionTimeModel): def get_executed(self, job): if job in self.on_execute_date: - c = (self.sim.now() - self.on_execute_date[job]) * job.cpu.speed + c = (self.sim.now - self.on_execute_date[job]) * job.cpu.speed else: c = 0 return self.executed[job] + c diff --git a/simso/core/etm/CacheModel.py b/simso/core/etm/CacheModel.py index c5d39cf..82eee70 100644 --- a/simso/core/etm/CacheModel.py +++ b/simso/core/etm/CacheModel.py @@ -80,14 +80,14 @@ class CacheModel(AbstractExecutionTimeModel): def _update_instructions(self): for job in self._running_jobs: - # Compute number of instr for self.sim.now() - last_update + # Compute number of instr for self.sim.now - last_update instr = compute_instructions(job.task, self._running_jobs, - self.sim.now() - self._last_update) + self.sim.now - self._last_update) # Update the number of instr for this job self._instr_jobs[job] = self._instr_jobs.get(job, 0) + instr # Update last_update - self._last_update = self.sim.now() + self._last_update = self.sim.now def on_activate(self, job): self.penalty[job] = 0 diff --git a/simso/core/etm/FixedPenalty.py b/simso/core/etm/FixedPenalty.py index c3abb56..4f882e1 100644 --- a/simso/core/etm/FixedPenalty.py +++ b/simso/core/etm/FixedPenalty.py @@ -16,7 +16,7 @@ class FixedPenalty(AbstractExecutionTimeModel): def update_executed(self, job): if job in self.on_execute_date: - self.executed[job] += (self.sim.now() - self.on_execute_date[job] + self.executed[job] += (self.sim.now - self.on_execute_date[job] ) * job.cpu.speed del self.on_execute_date[job] @@ -26,7 +26,7 @@ class FixedPenalty(AbstractExecutionTimeModel): self.executed[job] = 0 def on_execute(self, job): - self.on_execute_date[job] = self.sim.now() + self.on_execute_date[job] = self.sim.now if job in self.was_running_on: # resume on the same processor. if self.was_running_on[job] is job.cpu: @@ -39,7 +39,7 @@ class FixedPenalty(AbstractExecutionTimeModel): self.was_running_on[job] = job.cpu def on_preempted(self, job): - self.executed[job] += (self.sim.now() - self.on_execute_date[job] + self.executed[job] += (self.sim.now - self.on_execute_date[job] ) * job.cpu.speed def on_terminated(self, job): @@ -52,7 +52,7 @@ class FixedPenalty(AbstractExecutionTimeModel): def get_executed(self, job): if job in self.on_execute_date: - c = (self.sim.now() - self.on_execute_date[job]) * job.cpu.speed + c = (self.sim.now - self.on_execute_date[job]) * job.cpu.speed else: c = 0 return self.executed[job] + c diff --git a/simso/core/etm/PWCET.py b/simso/core/etm/PWCET.py index 1d8099f..b4d6ae6 100644 --- a/simso/core/etm/PWCET.py +++ b/simso/core/etm/PWCET.py @@ -14,7 +14,7 @@ class PWCET(AbstractExecutionTimeModel): def update_executed(self, job): if job in self.on_execute_date: - self.executed[job] += (self.sim.now() - self.on_execute_date[job] + self.executed[job] += (self.sim.now - self.on_execute_date[job] ) * job.cpu.speed del self.on_execute_date[job] @@ -25,7 +25,7 @@ class PWCET(AbstractExecutionTimeModel): 0, 1) <= x[1]) * self.sim.cycles_per_ms def on_execute(self, job): - self.on_execute_date[job] = self.sim.now() + self.on_execute_date[job] = self.sim.now def on_preempted(self, job): self.update_executed(job) @@ -38,7 +38,7 @@ class PWCET(AbstractExecutionTimeModel): def get_executed(self, job): if job in self.on_execute_date: - c = (self.sim.now() - self.on_execute_date[job]) * job.cpu.speed + c = (self.sim.now - self.on_execute_date[job]) * job.cpu.speed else: c = 0 return self.executed[job] + c diff --git a/simso/core/etm/WCET.py b/simso/core/etm/WCET.py index afaa37f..7848171 100644 --- a/simso/core/etm/WCET.py +++ b/simso/core/etm/WCET.py @@ -13,7 +13,7 @@ class WCET(AbstractExecutionTimeModel): def update_executed(self, job): if job in self.on_execute_date: - self.executed[job] += (self.sim.now() - self.on_execute_date[job] + self.executed[job] += (self.sim.now - self.on_execute_date[job] ) * job.cpu.speed del self.on_execute_date[job] @@ -22,7 +22,7 @@ class WCET(AbstractExecutionTimeModel): self.executed[job] = 0 def on_execute(self, job): - self.on_execute_date[job] = self.sim.now() + self.on_execute_date[job] = self.sim.now def on_preempted(self, job): self.update_executed(job) @@ -35,7 +35,7 @@ class WCET(AbstractExecutionTimeModel): def get_executed(self, job): if job in self.on_execute_date: - c = (self.sim.now() - self.on_execute_date[job]) * job.cpu.speed + c = (self.sim.now - self.on_execute_date[job]) * job.cpu.speed else: c = 0 return self.executed[job] + c diff --git a/simso/schedulers/BF.py b/simso/schedulers/BF.py index 8c0c50d..fe028d0 100644 --- a/simso/schedulers/BF.py +++ b/simso/schedulers/BF.py @@ -82,7 +82,7 @@ class BF(Scheduler): self.t_f = int(min([x.job.absolute_deadline for x in self.task_list]) * self.sim.cycles_per_ms) # Duration that can be allocated for each processor. - w = int(self.t_f - self.sim.now()) + w = int(self.t_f - self.sim.now) available = w * len(self.processors) p = 0 # Processor id. @@ -91,7 +91,7 @@ class BF(Scheduler): print("{:#^60}".format( " Scheduling Interval [{},{}) ".format( - self.sim.now() / self.sim.cycles_per_ms, + self.sim.now / self.sim.cycles_per_ms, self.t_f / self.sim.cycles_per_ms))) for task in self.task_list: if not task.job.is_active(): @@ -191,7 +191,7 @@ class BF(Scheduler): """ self.waiting_schedule = False # At the end of the interval: - if self.sim.now() >= self.t_f: + if self.sim.now >= self.t_f: self.init_interval() # Stop current timers. diff --git a/simso/schedulers/DP_WRAP.py b/simso/schedulers/DP_WRAP.py index ea02885..64e0efd 100644 --- a/simso/schedulers/DP_WRAP.py +++ b/simso/schedulers/DP_WRAP.py @@ -37,7 +37,7 @@ class DP_WRAP(Scheduler): self.t_f = ceil(min([x.job.absolute_deadline for x in self.task_list] ) * self.sim.cycles_per_ms) # Duration that can be allocated for each processor. - w = int(self.t_f - self.sim.now()) + w = int(self.t_f - self.sim.now) p = 0 # Processor id. for task in self.task_list: job = task.job @@ -99,7 +99,7 @@ class DP_WRAP(Scheduler): """ self.waiting_schedule = False # At the end of the interval: - if self.sim.now() >= self.t_f: + if self.sim.now >= self.t_f: self.init_interval() # Stop current timers. diff --git a/simso/schedulers/EDF.py b/simso/schedulers/EDF.py index 1da6cf7..422f108 100644 --- a/simso/schedulers/EDF.py +++ b/simso/schedulers/EDF.py @@ -34,5 +34,5 @@ class EDF(Scheduler): if (cpu_min.running is None or cpu_min.running.absolute_deadline > job.absolute_deadline): - print(self.sim.now(), job.name, cpu_min.name) + print(self.sim.now, job.name, cpu_min.name) return (job, cpu_min) diff --git a/simso/schedulers/EDZL.py b/simso/schedulers/EDZL.py index f071bd5..f2e9dad 100644 --- a/simso/schedulers/EDZL.py +++ b/simso/schedulers/EDZL.py @@ -32,7 +32,7 @@ class EDZL(Scheduler): job.priority = 0 job.cpu.resched() else: - print(self.sim.now(), job.name) + print(self.sim.now, job.name) def schedule(self, cpu): """ diff --git a/simso/schedulers/EKG.py b/simso/schedulers/EKG.py index 266ab24..08752c0 100644 --- a/simso/schedulers/EKG.py +++ b/simso/schedulers/EKG.py @@ -30,7 +30,7 @@ class Modified_EDF(Scheduler): self.migrating_task1, self.migrating_task2 = \ self.migrating_task2, self.migrating_task1 if self.migrating_task1: - time_a = ceil((next_deadline - self.sim.now()) + time_a = ceil((next_deadline - self.sim.now) * self.migrating_task1[1]) self.timer_a = Timer(self.sim, Modified_EDF.on_end_migrating1, (self,), time_a, cpu=self.processors[0], @@ -39,7 +39,7 @@ class Modified_EDF(Scheduler): self.migrating_job2 = None if self.migrating_task2: - time_b = int((next_deadline - self.sim.now()) + time_b = int((next_deadline - self.sim.now) * (1 - self.migrating_task2[1])) self.timer_b = Timer( self.sim, Modified_EDF.on_start_migrating2, (self,), diff --git a/simso/schedulers/EPDF.py b/simso/schedulers/EPDF.py index 9264039..abc822d 100644 --- a/simso/schedulers/EPDF.py +++ b/simso/schedulers/EPDF.py @@ -45,7 +45,7 @@ class EPDF(Scheduler): pseudo_job = EPDF.PseudoJob(job, pseudo_job.seq + 1) timer = Timer(self.sim, EPDF.pseudo_activate, (self, pseudo_job), pseudo_job.release_date * self.quantum - - self.sim.now() / self.sim.cycles_per_ms + + self.sim.now / self.sim.cycles_per_ms + job.activation_date, cpu=job.cpu, in_ms=True) timer.start() diff --git a/simso/schedulers/ER_PD2.py b/simso/schedulers/ER_PD2.py index 2753a18..2f4b99a 100644 --- a/simso/schedulers/ER_PD2.py +++ b/simso/schedulers/ER_PD2.py @@ -139,7 +139,7 @@ class ER_PD2(Scheduler): virtual_job = VirtualJob(job) self.ready_list.append(virtual_job) - if self.sim.now() == 0: + if self.sim.now == 0: self.reschedule() def schedule(self, cpu): diff --git a/simso/schedulers/G_FL_ZL.py b/simso/schedulers/G_FL_ZL.py index 9e25be3..7cef97c 100644 --- a/simso/schedulers/G_FL_ZL.py +++ b/simso/schedulers/G_FL_ZL.py @@ -29,7 +29,7 @@ class G_FL_ZL(Scheduler): job.priority = 0 job.cpu.resched() else: - print(self.sim.now(), job.name) + print(self.sim.now, job.name) def schedule(self, cpu): """ @@ -55,7 +55,7 @@ class G_FL_ZL(Scheduler): minimum = None for job in self.ready_list: zl_date = int((job.absolute_deadline - job.ret - ) * self.sim.cycles_per_ms - self.sim.now()) + ) * self.sim.cycles_per_ms - self.sim.now) if (minimum is None or minimum[0] > zl_date) and zl_date > 0: minimum = (zl_date, job) diff --git a/simso/schedulers/LLREF.py b/simso/schedulers/LLREF.py index 24d3d70..c9aed67 100644 --- a/simso/schedulers/LLREF.py +++ b/simso/schedulers/LLREF.py @@ -31,7 +31,7 @@ class LLREF(Scheduler): Deal with a job activation. The budget for this job is computed. """ # Compute budget for this newly activated job - window = self.next_deadline - self.sim.now() + window = self.next_deadline - self.sim.now self.budget[job] = window * job.wcet / job.period # Find the next absolute deadline among the ready jobs. @@ -56,14 +56,14 @@ class LLREF(Scheduler): """ Remove budget from the currently executing jobs. """ - time_since_last_update = self.sim.now() - self.last_update + time_since_last_update = self.sim.now - self.last_update for job in self.selected_jobs: if job in self.budget: if job.is_active(): self.budget[job] -= time_since_last_update else: del self.budget[job] - self.last_update = self.sim.now() + self.last_update = self.sim.now def date_next_event(self, selected, not_selected): next_event = 0 @@ -73,7 +73,7 @@ class LLREF(Scheduler): next_event = next_bottom_hitting if not_selected: - next_ceiling_hitting = self.next_deadline - self.sim.now() \ + next_ceiling_hitting = self.next_deadline - self.sim.now \ - not_selected[0][1] if next_ceiling_hitting < next_bottom_hitting: next_event = next_ceiling_hitting diff --git a/simso/schedulers/LLREF2.py b/simso/schedulers/LLREF2.py index 2cd4d7f..d5f2ff3 100644 --- a/simso/schedulers/LLREF2.py +++ b/simso/schedulers/LLREF2.py @@ -34,7 +34,7 @@ class LLREF2(Scheduler): return # Compute budget for this newly activated job - window = self.next_deadline - self.sim.now() + window = self.next_deadline - self.sim.now self.budget[job] = window * job.wcet / job.period # Find the next absolute deadline among the ready jobs. @@ -59,14 +59,14 @@ class LLREF2(Scheduler): """ Remove budget from the currently executing jobs. """ - time_since_last_update = self.sim.now() - self.last_update + time_since_last_update = self.sim.now - self.last_update for job in self.selected_jobs: if job in self.budget: if job.is_active(): self.budget[job] -= time_since_last_update else: del self.budget[job] - self.last_update = self.sim.now() + self.last_update = self.sim.now def date_next_event(self, selected, not_selected): next_event = None @@ -76,7 +76,7 @@ class LLREF2(Scheduler): next_event = next_bottom_hitting if not_selected: - next_ceiling_hitting = self.next_deadline - self.sim.now() \ + next_ceiling_hitting = self.next_deadline - self.sim.now \ - ceil(max(y for _, y in not_selected)) if next_event is None or next_ceiling_hitting < next_event: next_event = next_ceiling_hitting @@ -84,7 +84,7 @@ class LLREF2(Scheduler): return next_event if next_event else 0 def select_jobs(self): - window = self.next_deadline - self.sim.now() + window = self.next_deadline - self.sim.now res = [(job, b) for job, b in self.budget.items() if window <= ceil(b) and job.is_active()] for job, b in sorted(self.budget.items(), key=lambda x: -x[1]): diff --git a/simso/schedulers/LRE_TL.py b/simso/schedulers/LRE_TL.py index c6b3eb5..0b45015 100644 --- a/simso/schedulers/LRE_TL.py +++ b/simso/schedulers/LRE_TL.py @@ -50,7 +50,7 @@ class LRE_TL(Scheduler): if dl not in self.h_d: heappush(self.h_d, dl) - self.t_f = self.sim.now() + self.pmin + self.t_f = self.sim.now + self.pmin if self.h_d[0] <= self.t_f: self.t_f = heappop(self.h_d) @@ -58,9 +58,9 @@ class LRE_TL(Scheduler): self.h_b = [] self.h_c = [] for task in self.task_list: - l = ceil(task.wcet * (self.t_f - self.sim.now()) / task.period) + l = ceil(task.wcet * (self.t_f - self.sim.now) / task.period) if z < len(self.processors) and task.job.is_active(): - heappush(self.h_b, (self.sim.now() + l, task)) + heappush(self.h_b, (self.sim.now + l, task)) decisions.append((task.job, self.processors[z])) z += 1 else: @@ -82,18 +82,18 @@ class LRE_TL(Scheduler): tasks_h_b = [t for _, t in self.h_b] if task not in tasks_h_b and task not in tasks_h_c: - l = ceil(task.wcet * (self.t_f - self.sim.now()) / task.period) + l = ceil(task.wcet * (self.t_f - self.sim.now) / task.period) if len(self.h_b) < len(self.processors): idle_proc = [z for z in self.processors if not z.is_running()][0] decisions.append((task.job, idle_proc)) - heappush(self.h_b, (self.sim.now() + l, task)) + heappush(self.h_b, (self.sim.now + l, task)) else: if task.wcet < task.period: heappush(self.h_c, ((self.t_f - l), task)) else: key_b, task_b = heapreplace(self.h_b, (self.t_f + l, task)) - heappush(self.h_c, (self.t_f - key_b + self.sim.now())) + heappush(self.h_c, (self.t_f - key_b + self.sim.now)) dl = int(task.job.absolute_deadline * self.sim.cycles_per_ms) if dl not in self.h_d: @@ -107,23 +107,23 @@ class LRE_TL(Scheduler): """ decisions = [] - while self.h_b and self.h_b[0][0] == self.sim.now(): + while self.h_b and self.h_b[0][0] == self.sim.now: task_b = heappop(self.h_b)[1] if self.h_c: key_c, task_c = heappop(self.h_c) - heappush(self.h_b, (self.t_f - key_c + self.sim.now(), task_c)) + heappush(self.h_b, (self.t_f - key_c + self.sim.now, task_c)) decisions.append((task_c.job, task_b.cpu)) else: decisions.append((None, task_b.cpu)) if self.h_c: - while self.h_c[0][0] == self.sim.now(): + while self.h_c[0][0] == self.sim.now: key_b, task_b = heappop(self.h_b) key_c, task_c = heappop(self.h_c) - key_b = self.t_f - key_b + self.sim.now() + key_b = self.t_f - key_b + self.sim.now assert key_c != key_b, "Handle Evt BC failed." - key_c = self.t_f - key_c + self.sim.now() + key_c = self.t_f - key_c + self.sim.now heappush(self.h_b, (key_c, task_c)) heappush(self.h_c, (key_b, task_b)) decisions.append((task_c.job, task_b.cpu)) @@ -146,7 +146,7 @@ class LRE_TL(Scheduler): self.h_c = [(d, t) for d, t in self.h_c if t.job.is_active()] heapify(self.h_c) - if self.sim.now() == self.t_f: + if self.sim.now == self.t_f: decisions = self.init_tl_plane() else: for task in self.activations: @@ -163,11 +163,11 @@ class LRE_TL(Scheduler): t_next = min(t_next, self.h_c[0][0]) self.timer = Timer(self.sim, LRE_TL.event_bc, (self,), - t_next - self.sim.now(), + t_next - self.sim.now, cpu=self.processors[0], in_ms=False) else: self.timer = Timer(self.sim, LRE_TL.reschedule, (self,), - self.t_f - self.sim.now(), + self.t_f - self.sim.now, cpu=self.processors[0], in_ms=False) self.timer.start() diff --git a/simso/schedulers/MLLF.py b/simso/schedulers/MLLF.py index fdef324..afb27e5 100644 --- a/simso/schedulers/MLLF.py +++ b/simso/schedulers/MLLF.py @@ -37,7 +37,7 @@ class MLLF(Scheduler): if len(self.ready_list) > m: ta = self.ready_list[m - 1] dmin = self.ready_list[m].absolute_deadline * \ - self.sim.cycles_per_ms - self.sim.now() + self.sim.cycles_per_ms - self.sim.now if self.timer: self.timer.stop() diff --git a/simso/schedulers/NVNLF.py b/simso/schedulers/NVNLF.py index 46c36b4..5afcb69 100644 --- a/simso/schedulers/NVNLF.py +++ b/simso/schedulers/NVNLF.py @@ -41,7 +41,7 @@ class NVNLF(Scheduler): for task in self.task_list]) \ * self.sim.cycles_per_ms - window = self.next_deadline - self.sim.now() + window = self.next_deadline - self.sim.now for j in self.budget.keys(): self.budget[j] = ceil(window * j.wcet / j.period) @@ -66,7 +66,7 @@ class NVNLF(Scheduler): self.budget[j] += a L -= a - self.last_update = self.sim.now() + self.last_update = self.sim.now # There's a new job, the system should be rescheduled. self.reschedule() @@ -79,14 +79,14 @@ class NVNLF(Scheduler): """ Remove budget from the currently executing jobs. """ - time_since_last_update = self.sim.now() - self.last_update + time_since_last_update = self.sim.now - self.last_update for job in self.selected_jobs: if job in self.budget: if job.is_active(): self.budget[job] -= time_since_last_update else: del self.budget[job] - self.last_update = self.sim.now() + self.last_update = self.sim.now def date_next_event(self, selected, not_selected): next_event = None @@ -96,7 +96,7 @@ class NVNLF(Scheduler): next_event = next_bottom_hitting if not_selected: - next_ceiling_hitting = self.next_deadline - self.sim.now() \ + next_ceiling_hitting = self.next_deadline - self.sim.now \ - ceil(max(y for _, y in not_selected)) if next_event is None or next_ceiling_hitting < next_event: next_event = next_ceiling_hitting @@ -104,7 +104,7 @@ class NVNLF(Scheduler): return next_event if next_event else 0 def select_jobs(self): - window = self.next_deadline - self.sim.now() + window = self.next_deadline - self.sim.now res = [(job, b) for job, b in self.budget.items() if window <= ceil(b) and job.is_active()] for job, b in self.budget.items(): diff --git a/simso/schedulers/PD2.py b/simso/schedulers/PD2.py index 0db664a..0c80f2c 100644 --- a/simso/schedulers/PD2.py +++ b/simso/schedulers/PD2.py @@ -141,7 +141,7 @@ class PD2(Scheduler): virtual_job = VirtualJob(job) self.ready_list.append(virtual_job) - if self.sim.now() == 0: + if self.sim.now == 0: self.reschedule() def schedule(self, cpu): @@ -153,7 +153,7 @@ class PD2(Scheduler): self.virtual_terminate(vjob) vjobs = [vjob for vjob in self.ready_list if vjob.job.is_active() and - self.sim.now() >= vjob.get_current_job().absolute_releasedate] + self.sim.now >= vjob.get_current_job().absolute_releasedate] self.running_vjobs = sorted( vjobs, diff --git a/simso/schedulers/RUN.py b/simso/schedulers/RUN.py index 3ffe60d..43e5de9 100644 --- a/simso/schedulers/RUN.py +++ b/simso/schedulers/RUN.py @@ -176,10 +176,10 @@ class ProperSubsystem(object): """ Update the budget of the servers. """ - time_since_last_update = self.sim.now() - self.last_update + time_since_last_update = self.sim.now - self.last_update for server in self.virtual: server.budget -= time_since_last_update - self.last_update = self.sim.now() + self.last_update = self.sim.now def resched(self, cpu): """ diff --git a/simso/schedulers/RUNServer.py b/simso/schedulers/RUNServer.py index 0856dcf..af7f110 100644 --- a/simso/schedulers/RUNServer.py +++ b/simso/schedulers/RUNServer.py @@ -87,9 +87,9 @@ def add_job(sim, job, server): """ server.job = job while server: - server.add_deadline(sim.now(), job.absolute_deadline * + server.add_deadline(sim.now, job.absolute_deadline * sim.cycles_per_ms) - server.create_job(sim.now()) + server.create_job(sim.now) server = server.parent diff --git a/simso/schedulers/U_EDF.py b/simso/schedulers/U_EDF.py index b11e8d2..3c4a8ec 100644 --- a/simso/schedulers/U_EDF.py +++ b/simso/schedulers/U_EDF.py @@ -44,7 +44,7 @@ class U_EDF(Scheduler): job, j, job.absolute_deadline * self.sim.cycles_per_ms, t2) def compute_al(self): - t = self.sim.now() + t = self.sim.now cycles_per_ms = self.sim.cycles_per_ms self.sorted_task_list = sorted( @@ -75,7 +75,7 @@ class U_EDF(Scheduler): self.reschedule() def update_al(self): - delta = self.sim.now() - self.last_event + delta = self.sim.now - self.last_event for job, j in self.running_jobs.items(): self.al[job][j] -= delta @@ -89,7 +89,7 @@ class U_EDF(Scheduler): else: self.update_al() - self.last_event = self.sim.now() + self.last_event = self.sim.now next_event = None decisions = [] -- libgit2 0.26.0