Research Article
Scheduling Parallel Jobs Using Migration and Consolidation in the Cloud
Algorithm 3
REASY Backfilling.
Input : : jobs running in fg VMs; | : jobs running in bg VMs; | : jobs waiting in the queue. | (1) begin | (2) / * Make reservation for the first job in , then backfill */ | (3) let = 0 (shadow time), = 0 (extra fg VM number); | (4) first job in ; process number of ; | (5) current idle fg VM number; | (6) if then | (7) Sort in ascending order of their termination time; | (8) for do | (9) processe number in ; ; | (10) if then | (11) = the termination time of ; = − ; | (12) break; | (13) else | (14) the jobs running in the foreground VMs of ; | (15) the size sum of jobs in ; | (16) = last termination time of jobs in ; | (17) = + − ; | (18) / * Backfill runnable jobs */ | (19) for do | (20) processe number ; idle fg VM number; | (21) if then | (22) continue; | (23) the runtime of ; current time; | (24) if () or then | (25) if Deploy (j, 'R') then | (26) remove from or , insert it into ; | (27) if then | (28) = − ; |
|