def set_job_list_arrival_time()

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