Research Article
Estimated Interval-Based Checkpointing (EIC) on Spot Instances in Cloud Computing
Algorithm 1
Checkpointing and recovery algorithm.
(1) // Input: user’s requested task and bid | (2) // Output: total task execution time and total cost | (3) Boolean _flag = false // a flag representing occurrence of a task failure | (4) Boolean EI_flag = true // a EI_flag representing a task start | (5) while (! Task execution finishes) do | (6) if (EI_flag) then | (7) Estimation( ); | (8) EI_flag = false; | (9) end if | (10) if (spot prices < User bid) then | (11) if (_flag) then | (12) Recovery( ); | (13) _flag = false; | (14) end if | (15) if (rising edge && Price threshold < spot prices) then | (16) Checkpoint( ); | (17) end if | (18) if (Time threshold < execution time in current price) then | (19) Checkpoint( ); | (20) end if | (21) end if | (22) if (failure is occurred) then | (23) _flag = true; | (24) end if | (25) end while | (26) Function Estimation( ) | (27) calculate the points of checkpoint to base a price history; | (28) set the price and time thresholds; | (29) end Function | (30) Function Checkpoint( ) | (31) task a checkpoint on the spot instance; | (32) Send the checkpoint to the storage; | (33) end Function | (34) Function Recovery( ) | (35) retrieve the checkpoint information form the storage; | (36) restart the job execution; | (37) end Function |
|