in cluster-trace-gpu-v2020/simulator/scheduler.py [0:0]
def alloc_job_sort(self, job_list, job_runn_list=None):
if self.alloc_policy == 0: # short_duration_first
job_list.sort(key=lambda e: (e['duration'], e['job_id']))
elif self.alloc_policy == 8: # FIFO, remains the original order
job_list.sort(key=lambda e: (e['submit_time'], e['job_id']))
elif self.alloc_policy in [1, 2, 4]: # SJF with duration estimation
est_feature = {1: 'user_dur', 2: 'group_dur', 4: 'group_gpu_dur'}[self.alloc_policy]
job_list.sort(key=lambda e: (e[est_feature], e['job_id']))
else:
raise Exception("Unexpected alloc policy: %d" % self.alloc_policy)
if self.verbose:
for i, j in enumerate(job_list):
print_fn("%2d %s" % (i, j))
if i > 20:
break