-
For each machine, request a reservation for the lesser of remaining total nodes and maximum nodes for that machine. Constrain this request with earliest start time, latest end time and duration.
24 total nodes
/ \
/ \
SDSC (min 0, max 256) NCSA (min 1, max 256)
####################### #
# 23 Nodes # # 1 Node
# 5 hours # # 5 hours
# # #
####################### #
-
If total nodes is satisfied and all reservations start at the same time, then exit.
-
If reservations do not start at the same time, keep the latest starting one(s), cancel the rest. Use the start time of the retained reservation(s) as the new earliest start time.
Reservations:
SDSC NCSA
04:00 #######################
03:00 # 23 Nodes #
02:00 # 5 hours #
01:00 # #
00:00 #######################
23:00
22:00 #
21:00 # 1 Nodes
20:00 # 5 hours
19:00 #
18:00 #
17:00
16:00
15:00
Keep later one Cancel earlier one
New earliest start time = 00:00
-
Request reservations from the remaining machines, according to the new earliest start time.
Reservations:
SDSC NCSA
05:00 #
04:00 ####################### # 1 Node
03:00 # 23 Nodes # # 5 hours
02:00 # 5 hours # #
01:00 # # #
00:00 #######################
23:00
22:00
21:00
20:00
19:00
18:00
17:00
16:00
15:00
Cancel earlier one Keep later one one
New earliest start time = 01:00
-
Repeat steps 3 and 4, until a synchronized set of reservations is found or the duration cannot fit between earliest start time and latest end time.
Reservations:
SDSC NCSA
06:00
05:00 ####################### #
04:00 # 23 Nodes # # 1 Node
03:00 # 5 hours # # 5 hours
02:00 # # #
01:00 ####################### #
00:00
23:00
22:00
21:00
20:00
19:00
18:00
17:00
16:00
15:00
Keep both of these
-
If a synchronized set of reservations has not been found, change the distribution of nodes such that fewer are chosen for the preferred machines. This will shift nodes to machines later in the machine list. Keep shifting node distribution until a synchronized set of reservations is found or a machine's minimum or maximum node constraint is reached.
24 total nodes
/ \
/ \
SDSC (min 0, max 256) NCSA (min 1, max 256)
###################### ##
# 22 Nodes # ## 2 Node
# 5 hours # ## 5 hours
# # ##
###################### ##
-
If no synchronized set of reservations is found, exit and report failure.