**4.2 Elimination of the standard GA**

We did several experiments with n-GA and the initial result was not satisfactory. The algorithm has long runtime and presents low quality solutions. We believe that the reason

path are marked with color. The sub-jobs joined with the critical path in solution 1 include 0,

<sup>17</sup> w-TG: A Combined Algorithm to Optimize the Runtime

**Step 2:** Form the critical set. The critical set includes sub-jobs have appeared in both critical

**Step 3:** Create derived configurations. The derived configuration is extracted from the old one by getting only sub-jobs which have appeared in the critical set. After this step, the two

**Step 4:** Exchange assignment if there is improvement signal. A couple (*si* : *rj*|*si* ∈ *S*,*rj* ∈ *Ki*) is called an assignment. Assume that (*s*1*<sup>i</sup>* : *rj*) is an assignment of the derived configuration 1, and (*s*2*<sup>i</sup>* : *rk*) is an assignment of the derived configuration 2. If we change (*s*1*<sup>i</sup>* : *rj*) to (*s*1*<sup>i</sup>* : *rk*) and the finished time of the data transfer from the sub-job *s*1*<sup>i</sup>* to the next sub-job in the critical path is decreased, we say that the improvement signal appears. Without the improvement signal, the critical path cannot be shortened and the *makespan* cannot be improved. The

With each sub-job, we exchange the RMS between two configurations. If the exchange indicates an improvement signal, we keep the change. Otherwise, we return to the old

algorithm for doing the exchange assignment is presented in Algorithm 5.

2 1 4 2 6 sj0 sj2 sj3 sj4 sj7

4 3 2 5 6

2, 4, 7. The sub-jobs joined the critical path in solution 2 include 0, 3, 4, 7.

paths. With our example, the critical set includes sub-jobs 0, 2, 3, 4, 7.

new configurations of the example are presented in Figure 8.

2 3 1 4 2 5 3 6

of the Grid-Based Workflow Within an SLA Context

(1)

(2)

1: *imp*\_*signal* ← 0

6: **else**

8: **end if**

12: **else**

14: **end if** 15: **end for**

assignment.

5: *imp*\_*signal* ← 1

11: *imp*\_*signal* ← 1

4 2 3 2 5 3 4 6

Fig. 8. The new derived configurations

**Algorithm 5** Exchange assignment algorithm

2: **for** each sub-job *si* in the critical set **do**

3: (*s*1*<sup>i</sup>* : *rj*) change to (*s*1*<sup>i</sup>* : *rk*) 4: **if** has improving signal **then**

7: (*s*1*<sup>i</sup>* : *rk*) change to (*s*1*<sup>i</sup>* : *rj*)

9: (*s*2*<sup>i</sup>* : *rk*) change to (*s*2*<sup>i</sup>* : *rj*) 10: **if** has improving signal **then**

13: (*s*1*<sup>i</sup>* : *rj*) change to (*s*1*<sup>i</sup>* : *rk*)

for this is located in we do the crossover and mutation operations. In particular, we do not carefully consider the critical path of the workflow. The runtime of the workflow depends mainly on the execution time of the critical path. With a defined solution and timetable, the critical path of a workflow is defined with the algorithm as described in Algorithm 4.
