예제 #1
0
    def __init__(self, options):
        super(EasyPlusPlusScheduler, self).__init__(options)
        self.init_predictor(options)
        self.init_corrector(options)

        self.cpu_snapshot = CpuSnapshot(self.num_processors, options["stats"])
        self.unscheduled_jobs = []

        self.ff = open("times-epp-sgd.txt", 'w')
예제 #2
0
    def __init__(self, num_processors, threshold=0.2, window_size=150):
        super(OrigProbabilisticEasyScheduler, self).__init__(num_processors)
        self.threshold = threshold
        self.window_size = window_size  # a parameter for the distribution
        self.cpu_snapshot = CpuSnapshot(num_processors)

        self.user_distribution = {}

        self.unscheduled_jobs = []
        self.currently_running_jobs = []

        #self.work_list = [[None for i in xrange(self.num_processors+1)] for j in xrange(self.num_processors+1)]
        self.M = {}
        for c in xrange(self.num_processors + 1):
            for n in xrange(self.num_processors + 1):
                self.M[c, n] = 0.0

        self.max_user_rounded_estimated_run_time = 0
        self.prev_max_user_rounded_estimated_run_time = 0
예제 #3
0
 def __init__(self, options):
     super(HeadDoubleEasyScheduler, self).__init__(options)
     self.cpu_snapshot = CpuSnapshot(self.num_processors, options["stats"])
예제 #4
0
 def __init__(self, options):
     super(EasyBackfillScheduler, self).__init__(options)
     self.cpu_snapshot = CpuSnapshot(self.num_processors, options["stats"])
     self.unscheduled_jobs = []
 def __init__(self, num_processors):
     super(EasyPlusPlusScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
     self.unscheduled_jobs = []
     self.user_run_time_prev = {}
     self.user_run_time_last = {}
예제 #6
0
 def __init__(self, num_processors):
     super(TailDoubleEasyScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
예제 #7
0
 def __init__(self, options):
     super(FcfsScheduler, self).__init__(options)
     self.cpu_snapshot = CpuSnapshot(self.num_processors, options["stats"])
     self.waiting_queue_of_jobs = []
예제 #8
0
 def __init__(self, options):
     super(ConservativeScheduler, self).__init__(options)
     self.cpu_snapshot = CpuSnapshot(self.num_processors, options["stats"])
     self.unfinished_jobs_by_submit_time = []
 def __init__(self, num_processors):
     super(ConservativeScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
     self.unfinished_jobs_by_submit_time = []
예제 #10
0
 def __init__(self, num_processors):
     super(EasyBackfillScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
     self.unscheduled_jobs = []
 def __init__(self, num_processors):
     super(ShrinkingEasyScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
     self.unscheduled_jobs = []
예제 #12
0
 def __init__(self, num_processors):
     super(FcfsScheduler, self).__init__(num_processors)
     self.cpu_snapshot = CpuSnapshot(num_processors)
     self.waiting_queue_of_jobs = []