in cluster-trace-gpu-v2020/simulator/simulator.py [0:0]
def set_job_list_arrival_time(job_list, arrival_rate=None, interval=60, shuffle_order=False):
"""
job_list: jobs to execute in this run
arrival_rate: num of jobs to arrive at each time interval (-1 or None means no changes)
interval: time interval (default: 60)
shuffle_order: bool, whether each user's inherent job order are shuffled (default: False)
"""
if arrival_rate is None or arrival_rate < 0:
return 0 # respect the original submit time
if shuffle_order is True:
np.random.shuffle(job_list)
else:
job_list.sort(key=lambda e: (e.get('submit_time', float('inf')), e['job_id']))
arrival_counter = 0
for job in job_list:
arrival_time = (arrival_counter // arrival_rate) * interval
job['submit_time'] = arrival_time
arrival_counter += 1