Research Article
Cost-Effective Resource Provisioning for Real-Time Workflow in Cloud
Algorithm 5
Partition workflow algorithm.
| (1) | procedure (PartitionPath()) | | (2) | CP ⟵ Critical Path of ; | | (3) | for each ti ∈ G do | | (4) | if ti ∈ CP then | | (5) | ti.assigned ⟵ true; | | (6) | else | | (7) | ti.assigned ⟵ false; | | (8) | end if | | (9) | end for | | (10) | k ⟵ BD(t) where t is the first task of CP; | | (11) | while all of ti ∈ BL(k) with ti.assigned = true do | | (12) | k ⟵ k − 1; | | (13) | end while | | (14) | t ⟵ the first ti ∈ BL(k) where ti.assigned = false; | | (15) | ⟵ ; | | (16) | ⟵ Null; | | (17) | while t.assigned = false do | | (18) | ⟵ + {t}; | | (19) | ⟵ − {t}; | | (20) | t.assigned ⟵ true; | | (21) | t′ ⟵ t; | | (22) | for each tp′ ∈ Parent(t′) do | | (23) | if tp′.assigned = false then | | (24) | t′ = tp′; | | (25) | ⟵ + {t′}; | | (26) | ⟵ − {t′}; | | (27) | t′.assigned ⟵ true; | | (28) | end if | | (29) | end for | | (30) | t ⟵ Child(t); | | (31) | end while | | (32) | return , | | (33) | end procedure |
|