Research Article
Cost-Effective Resource Provisioning for Real-Time Workflow in Cloud
Algorithm 4
Dynamic programming knapsack algorithm.
| (1) | procedure (DPK(TW, VMs, D)) | | (2) | if D × P1 < TW then | | (3) | return Failure; | | (4) | else | | (5) | m ⟵ the number of VMs; | | (6) | TW1 ⟵ TW; | | (7) | x1 ⟵ ⌈TW1/P1⌉; | | (8) | f1 ⟵ x1 × PRICE1; | | (9) | for j = 2 to m do | | (10) | TWj ⟵ TWj−1 − (xj−1 − 1) × Pj−1; | | (11) | xj ⟵ ⌈TWj/Pj⌉; | | (12) | fj ⟵ fj−1 − PRICEj−1 + xj × PRICEj; | | (13) | if fj ≥ fj−1 or xj−1 − 1 + TWj/Pj > D then; | | (14) | fj ⟵ fj−1; | | (15) | xj ⟵ 0; | | (16) | else | | (17) | xj−1 ⟵ xj−1 − 1; | | (18) | end if | | (19) | end for | | (20) | return X; | | (21) | end if | | (22) | end procedure |
|