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 |
|