Ejemplo n.º 1
0
def test_assign_resources_mld_job_split_slots_2():

    v = [(0, 59, [(17, 21)]), (60, 100, [(1, 32)])]

    res = [(1, 32)]
    ss = SlotSet(Slot(1, 0, 0, res, 0, 100))
    hy = {"node": [[(1, 8)], [(9, 16)], [(17, 24)], [(25, 32)]], "switch": [[(1, 16)], [(17, 21)]], "gpu": [[(22, 32)]]}

    j1 = JobPseudo(id=1, key_cache={}, mld_res_rqts=[(1, 60, [([("node", 2)], res), ([("gpu", 1)], res)])])

    assign_resources_mld_job_split_slots(ss, j1, hy, -1)
    ss.show_slots()
    assert compare_slots_val_ref(ss.slots, v)
Ejemplo n.º 2
0
def test_assign_resources_mld_job_split_slots_1():

    v = [(0, 59, [(17, 32)]), (60, 100, [(1, 32)])]

    res = [(1, 32)]
    ss = SlotSet(Slot(1, 0, 0, res, 0, 100))
    hy = {"node": [[(1, 8)], [(9, 16)], [(17, 24)], [(25, 32)]]}

    # j1 = JobPseudo(id=1, start_time=0, walltime=0, types={},
    # key_cache="",
    j1 = JobPseudo(
        id=1, types={}, deps=[], key_cache={}, mld_res_rqts=[(1, 60, [([("node", 2)], res)])], ts=False, ph=0
    )

    assign_resources_mld_job_split_slots(ss, j1, hy, -1)

    assert compare_slots_val_ref(ss.slots, v) is True
Ejemplo n.º 3
0
 def assign_resources(self, slots_set, job, hy, min_start_time):
     '''Assign resources to a job and update by splitting the concerned
     slots'''
     job.mld_res_rqts = self.get_moldable_resources_requests(job)
     from oar.kao.scheduling import assign_resources_mld_job_split_slots
     ret = None
     while ret is None:
         ret = assign_resources_mld_job_split_slots(slots_set,
                                                    job,
                                                    hy,
                                                    min_start_time)
     return ret
Ejemplo n.º 4
0
 def assign_resources(self, slots_set, job, hy, min_start_time):
     '''Assign resources to a job and update by spliting the concerned
     slots'''
     from oar.kao.scheduling import assign_resources_mld_job_split_slots
     return assign_resources_mld_job_split_slots(slots_set, job, hy,
                                                 min_start_time)