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) = − ; |
|