Research Article

Fuzzy Theory-Based Data Placement for Scientific Workflows in Hybrid Cloud Environments

Algorithm 1

Mapping from encoded particles to data placement results.
Procedure dataPlacement(G, DC, X)
Input: G, DC, X
Output:
1:  Initialization: set the current storage capacity of data centers dccur(i) to 0 and the fuzzy data transmission time to (0, 0, 0)
2:  for each dsiof DSini//Determine whether the particle would cause the data center overloaded
3:   dccur(X[i]) + = //Place the dataset dsiin the data center dcX[i]
4:   ifdccur(X[i]) > VX[i]
5:    return this particle is infeasible
6:   end if
7:  end for
8:  for j = 1 to |T|//Determine whether the data center is overloaded during task execution
9:   Place the task tj in the data center dcj with the least fuzzy data transmission time
10:   if dccur(j) + sum(Ij) + sum(Oj) > 
11:    return this particle is infeasible
12:   end if
13:   Place the output dataset Oj of tj into the corresponding data center
14:   Update the storage capacity of the data center
15:  end for
16:  for j = 1 to |T|//Calculate the fuzzy transmission time of the corresponding data layout
17:   Find the data centers dsi in the placement of task tj’s input dataset Ij
18:   Calculate the fuzzy data transmission time generated by the input dataset Ij to dsj
19:   
20:  end for
21:  Output and the corresponding data placement strategy
End procedure