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

Authors: Zheyi Chen; Xu Zhao; Bing Lin
Journal: Discrete Dynamics in Nature and Society
 (2020)

---

## Abstract

In hybrid cloud environments, reasonable data placement strategies are critical to the efficient execution of scientific workflows. Due to various loads, bandwidth fluctuations, and network congestions between different data centers as well as the dynamics of hybrid cloud environments, the data transmission time is uncertain. Thus, it poses huge challenges to the efficient data placement for scientific workflows. However, most of the traditional solutions for data placement focus on deterministic cloud environments, which lead to the excessive data transmission time of scientific workflows. To address this problem, we propose an adaptive discrete particle swarm optimization algorithm based on the fuzzy theory and genetic algorithm operators (DPSO-FGA) to minimize the fuzzy data transmission time of scientific workflows. The DPSO-FGA can rationally place the scientific workflow data while meeting the requirements of data privacy and the capacity limitations of data centers. Simulation results show that the DPSO-FGA can effectively reduce the fuzzy data transmission time of scientific workflows in hybrid cloud environments.


---

## Body

## 1. Introduction

With the widespread applications of Big Data technologies, the amount of data generated by modern network environments is greatly increasing. Therefore, traditional distributed computing modes such as grid computing may not meet the requirements of massive data processing. In recent years, cloud computing has emerged as a research hotspot [1–5], where hybrid cloud environments show the advantages of high sharing, high availability, and customization. Specifically, the hybrid cloud environments are composed of the data centers distributed in different geographical locations, including multiple private and public data centers [6]. On the one hand, the public cloud is good at providing high reliability and large capacity with the resource-sharing feature. On the other hand, the private cloud is adept at offering high flexibility and security, which guarantees data privacy during the work process.Due to the complexity of the work process and increasing data volumes, scientific research studies with strict work steps cannot be managed manually. To address this problem, the workflow technology was proposed [7], where scientific workflows [8] can be used to manage, monitor, and execute these scientific processes. However, the amount of data involved in scientific workflows is commonly huge, which may need to be stored in the data centers in different geographical locations and transferred across data centers during the operation of scientific workflows. Therefore, it has become a research hotspot to effectively execute the data placement for scientific workflows in hybrid cloud environments under limited bandwidth conditions with the goal of reducing data transmission time [9–12].Some researchers have contributed to addressing the problem of data placement for scientific workflows. Yuan et al. [13] proposed a k-means clustering algorithm-based data placement method, which utilized the dependency among data and considered the load balancing in data centers. Reddy et al. [14] designed an entropy-based data placement strategy for enhancing the map-reduce performance in Hadoop clusters, where the k-means clustering algorithm was used to group different datasets. However, this method was not suitable for hybrid cloud environments with different capacities of data centers. Li et al. [15] designed a data placement solution for hybrid data centers, which can reduce the data transmission time. Also for hybrid data centers, the data placement strategy proposed in [16] reduced the data transmission volume and the data transmission times across data centers. However, they did not consider some essential factors in data placement, such as differences in data centers (e.g., capacities and bandwidth) and bandwidth fluctuations. Zheng et al. [17] and Cui et al. [18] developed a data placement scheme based on the GA, which may easily fall into the local optimal solution during operation. As for optimization objectives in data placement, Liu et al. [19] set the transmission times of crossing data centers as an objective, Deng et al. [20] and Zhao et al. [21] targeted the data transmission volume, and Chen et al. [22] aimed for reducing the transmission costs. However, these methods did not involve the network bandwidth and its fluctuations, and thus, it is hard for them to map the data transmission time from their models to real-world network environments [23].Moreover, most of traditional data placement strategies are based on deterministic environments. However, uncertainty is an essential feature of network environments, which may have a significant impact on data transmission [24]. Due to various loads between data centers, bandwidth fluctuations, network congestion, and other hardware characteristics, the data transmission time may be changeable even if the same data are transmitted between fixed data centers. Therefore, the uncertainty should be considered when building the data placement model for scientific workflows. In response to the uncertainty, the fuzzy theory has emerged as an effective tool [25]. Sun et al. [26] and Lei [27] fuzzified the processing time, completion time, and deadline, and then, the job scheduling method was studied under specific constraints. Based on the analytic hierarchy process (AHP) model, a data placement strategy was proposed in [28] to select the most suitable storage sites, which applied the fuzzy comprehensive evaluation to candidate data centers for different users. However, they did not involve the data placement problem of scientific workflows, and their fuzzy object and optimization goal was not the data transmission time.To address the above problems, we proposed an effective data placement strategy for scientific workflows in hybrid cloud environments. The main contributions of this paper are summarized as follows:(i)
We define and model the data placement problem for scientific workflows in hybrid cloud environments. Specifically, we fuzzify the data transmission time into triangular fuzzy numbers and regard it as the optimization objective of the proposed model.(ii)
Based on the problem definitions and modeling, the DPSO-FGA is proposed as the second contribution for reducing the fuzzy data transmission time while considering the uncertainty of data transmission time, the different numbers and capacities of private data centers, and network bandwidth limitations, which can well adapt to real-world network environments.(iii)
We validate the effectiveness of the proposed DPSO-FGA method by using various scientific workflows in hybrid cloud environments, which can outperform the classic CFRA and CFGA methods in terms of fuzzy data transmission time.The rest of this paper is organized as follows. Section2 defines the data placement problem for scientific workflows in hybrid cloud environments. In Section 3, the proposed DPSO-FGA is discussed in detail. Section 4 shows the performance evaluation of the proposed method with simulation experiments. Finally, we conclude this paper and look for future work in Section 5.


## 2. Problem Definitions and Modeling

### 2.1. Problem Definitions

Definition 1.
Hybrid cloud environment
A hybrid cloud environment consists of public and private data centers, where each private data center has a certain capacity, while each public data center has no capacity limitation. Thus, a hybrid cloud environment is defined as(1)DC=DCpub,DCpri,DCpub=dc1,dc2,…,dcn,DCpri=dcn+1,dcn+2,…,dcn+m,dci=Vi,Δi,where DCpub is the set of public data centers, DCpri is the set of private data centers, dci represents the i-th data center, and Vi indicates the maximum capacity of a data center. Specifically, the capacity of a public data center is unlimited, while a private data center may reserve some storage space with an upper limit Vi, and Δi∈0,1 represents the attribute of dci. If dci∈DCpub, then Δi=0, and dci can be used to store public data. If dci∈DCpri, then Δi=1, and dci can be used to store both public and private data. For any two data centers dci and dcj, bij represents the network bandwidth between them, which is assumed to be known and fluctuate within a certain range.Definition 2.
Scientific workflow
The scientific workflow is a data-intensive application consisting of tasks and datasets, where a task may be related to multiple datasets and a dataset may also be related to multiple tasks. There is a data dependency relationship between the tasks, where the output datasets of a task may be the input datasets of other tasks. Meanwhile, there is also a sequential relationship between the tasks, where a task may only be executed after all its predecessor tasks have been executed. After all the tasks are completed, the scientific workflow ends. In particular, the task without a predecessor task is the beginning task and the task without a successor task is the ending task. Moreover, datasets can be divided into initial and generated datasets, where the original input datasets of a scientific workflow are the initial datasets and the datasets generated during the running process are the generated datasets. Also, datasets can be divided into private and public datasets, where private datasets can only be stored in private data centers and the tasks using them as the input datasets must also be scheduled to the same data centers. By contrast, public datasets have no restriction on storage locations. Therefore, a scientific workflow is defined as a directed acyclic graph (DAG), denoted byG as(2)G=T,E,DS,T=t1,t2,…,tc,E=e12,e13,…,eij,DS=ds1,ds2,…,dsl,ti=Ii,Oi,DCti,dsi=vi,gti,lci,where T is the set of tasks in G, E is the set of data dependencies between different tasks in G, and DS is the set of datasets in G. Specifically, tc represents the c-th task and eij indicates the data dependency between tasks ti and tj, where eij = 1 indicates that ti is the direct predecessor task of tj. Moreover, dsl is the l-th dataset, Ii is the input dataset of ti, Oi is the output dataset of ti, and DC(ti) is the data center for executing ti. Furthermore, vi is the size of the dataset dsi, gti is the task number of generating dsi, in which gti of the initial dataset is 0, and lci is the serial number of the data center storing dsi.
It should be noted that the settings of privacy datasets in scientific workflows need to satisfy three logical rules. Specifically, for the taskti in the hybrid cloud environment DC, when the set of input or output datasets of ti (denoted by {Ii, Oi}) contains the privacy dataset dsi, the following holds:(i)
Rule 1.lci≡A.(ii)
Rule 2.DCti≡A.(iii)
Rule 3. For each privacy datasetdsj∈Ii,Oi, lcj≡DCtj≡A.
According to Definition2, private datasets can only be stored in private data centers, while their storage locations cannot be changed. As shown in Rule 1, private datasets cannot be transmitted across data centers, and thus, the data center for executing a task using the dataset as an input or output must be fixed. As known from Rule 2, locations of private datasets for fixed tasks must be consistent with execution locations of the tasks, and thus, the privacy datasets cannot be stored in other data centers. Otherwise, the tasks cannot be executed.Definition 3.
Fuzzy data transmission time
When optimizing uncertainty problems, there are commonly three types of theories, including the probability theory, gray theory, and fuzzy theory. Specifically, the probability theory can be applied in sampling problems with massive samples, the gray theory is suitable for the problems with fewer samples, and the fuzzy theory can be used to solve the problems with unclear extensions of concepts [29]. As for addressing the data placement problem of scientific workflows, the fuzzy theory can be regarded as an effective tool because this problem has no clear boundary or the limitation involves uncertainty.
In the past research, the data transmission time was usually defined as the ratio of the dataset size to the bandwidth between data centers, without considering the other essential factors such as bandwidth fluctuations. However, the data transmission time is uncertain in real-world network environments. In response to this uncertainty, by utilizing the fuzzy theory, triangular fuzzy numbers are introduced to represent the data transmission time. For each independent data transmission process, the mappingdci,dsk,dcj indicates that the dataset dsk is transmitted from the data center dci to dcj. Therefore, the fuzzy data transmission time is defined as(3)T˜transferdci,dsk,dcj=aikj1,aikj2,aikj3,where aikj1 and aikj3 are the lower and upper bound elements of the triangular fuzzy number, respectively. When aikj1=aikj2=aikj3, the triangular fuzzy number degenerates into a real number. Moreover, the membership function indicates the degree which the element x belongs to the fuzzy interval. When x=aikj2, the element x completely belongs to the interval. The membership function of the triangular fuzzy number is defined as(4)μ=x−aikj1aikj2−aikj1,aikj1≤x≤aikj2,x−aikj3aikj2−aikj3,aikj2≤x≤aikj3,0,else.Definition 4.
Calculation of fuzzy number(1)
The model involves addition and comparison operations between fuzzy numbers. For the triangular fuzzy numberss˜=s1,s2,s3 and t˜=t1,t2,t3, the above operations are defined as follows:(i)
Addition operation (calculating the fuzzy data transmission time):(5)s˜+t˜=t˜+s˜=s1+t1,s2+t2,s3+t3.(ii)
Comparison operation (comparing the fuzzy completion time and choosing suitable values).Fors˜=s1,s2,s3, three comparison values are defined as(6)c1s˜=s1+2s2+s34,c2s˜=s2,c3s˜=s3−s1.According to the literature [30], if c1s˜>c1t˜, s˜>t˜. If c2s˜>c2t˜, s˜>t˜; if c3s˜>c3t˜, s˜>t˜; otherwise, s˜=t˜.(2)
The model involves the addition, subtraction, multiplication, division, fuzzification, and defuzzification operations between fuzzy and real numbers. For a triangular fuzzy numbers˜=s1,s2,s3 and a real number t, the above operations are defined as follows:(i)
Addition and subtraction operations:(7)s˜+t=t+s˜=s1+t,s2+t,s3+t,s˜−t=−t−s˜=s1−t,s2−t,s3−t.(ii)
Multiplication and division operations:(8)s˜⋅t=t⋅s˜=s1t,s2t,s3t,s˜t=s1t,s2t,s3t,wheret≠0.(iii)
Fuzzification and defuzzification operations.On the one hand, the fuzzification operation, according to the literature [26], is defined as(9)s1∈δ1s,s,s2=s,s3∈s,δ2s,where δ1<1,δ2>1.
On the other hand, the defuzzification operation is commonly used to quantitatively compare fuzzy numbers and analyze results. Li [31] defined the mean and standard deviation of fuzzy numbers under uniform distribution and proportional distribution, where the proportional distribution is suitable for the uncertainty problem of data transmission time. For the triangular fuzzy number S˜total, the mean and standard deviation are defined as(10)S˜μ=∫xS˜total2xdx∫S˜total2xdx=s1+2s2+s34,S˜σ=∫xS˜total2xdx∫S˜total2xdx−Sμ21/2=2s1−s22+s1−s32+2s2−s32801/2,minS˜total=s1,s2,s3⇒translateminS˜μ+∂S˜σ,∂≥0,where S˜μ is the mean of the triangular fuzzy number S˜=s1,s2,s3, which reflects the most likely value of the fuzzy number under probability measurement. S˜σ indicates the standard deviation of S˜=s1,s2,s3, which reflects the uncertainty degree of the fuzzy number. ∂ represents the weight of S˜σ.Definition 5.
Data placement strategy
The purpose of effective data placement is to reduce the data transmission time while meeting the order of task execution, the proportion of dataset privacy, and the capacity constraints of data centers. Only when the datasets required by a task are transmitted to the same data center, the task can be executed. Moreover, the time of scheduling a task to a data center is much shorter than the data transmission time [32], and thus, the model may need to focus on the data placement strategy. Before executing a task, the data center with the least fuzzy data transmission time will be chosen to schedule the task. Therefore, the data placement strategy is defined as(11)S=DS,DC,M,T˜total,M=∪i=1,2,…,DCdci,dsk,dcj,T˜transferdci,dsk,dcj=aikj1,aikj2,aikj3,T˜total=∑i=1DC∑j≠iDC∑k=1DST˜transferdci,dsk,dcj⋅eijk,where M represents the mapping between the dataset DS and the set of data centers DC. {dci, dsk, dcj} indicates that the dataset dsk is transmitted from the data center dci to dcj. T˜transferdci,dsk,dcj is the fuzzy data transmission time of {dci, dsk, dcj}. T˜total is the total fuzzy data transmission time during the operation of scientific workflows, where eijk = {0,1} indicates whether there is {dci, dsk, dcj} during this time (eijk = 1 for yes and eijk = 0 for no).


### 2.2. Modeling

According to the above definitions, the data placement problem for scientific workflows is modeled based on the fuzzy theory with the objective of minimizing the fuzzy data transmission time while considering the capacity constraints of data centers. The problem model is defined as(12)minT˜totals.t.∀i,∑j=1DSvj⋅uij≤V,where uij = {0,1} indicates whether the dataset dsj is stored in the data center dci (uij = 1 for yes and uij = 0 for no).


## 2.1. Problem Definitions

Definition 1.
Hybrid cloud environment
A hybrid cloud environment consists of public and private data centers, where each private data center has a certain capacity, while each public data center has no capacity limitation. Thus, a hybrid cloud environment is defined as(1)DC=DCpub,DCpri,DCpub=dc1,dc2,…,dcn,DCpri=dcn+1,dcn+2,…,dcn+m,dci=Vi,Δi,where DCpub is the set of public data centers, DCpri is the set of private data centers, dci represents the i-th data center, and Vi indicates the maximum capacity of a data center. Specifically, the capacity of a public data center is unlimited, while a private data center may reserve some storage space with an upper limit Vi, and Δi∈0,1 represents the attribute of dci. If dci∈DCpub, then Δi=0, and dci can be used to store public data. If dci∈DCpri, then Δi=1, and dci can be used to store both public and private data. For any two data centers dci and dcj, bij represents the network bandwidth between them, which is assumed to be known and fluctuate within a certain range.Definition 2.
Scientific workflow
The scientific workflow is a data-intensive application consisting of tasks and datasets, where a task may be related to multiple datasets and a dataset may also be related to multiple tasks. There is a data dependency relationship between the tasks, where the output datasets of a task may be the input datasets of other tasks. Meanwhile, there is also a sequential relationship between the tasks, where a task may only be executed after all its predecessor tasks have been executed. After all the tasks are completed, the scientific workflow ends. In particular, the task without a predecessor task is the beginning task and the task without a successor task is the ending task. Moreover, datasets can be divided into initial and generated datasets, where the original input datasets of a scientific workflow are the initial datasets and the datasets generated during the running process are the generated datasets. Also, datasets can be divided into private and public datasets, where private datasets can only be stored in private data centers and the tasks using them as the input datasets must also be scheduled to the same data centers. By contrast, public datasets have no restriction on storage locations. Therefore, a scientific workflow is defined as a directed acyclic graph (DAG), denoted byG as(2)G=T,E,DS,T=t1,t2,…,tc,E=e12,e13,…,eij,DS=ds1,ds2,…,dsl,ti=Ii,Oi,DCti,dsi=vi,gti,lci,where T is the set of tasks in G, E is the set of data dependencies between different tasks in G, and DS is the set of datasets in G. Specifically, tc represents the c-th task and eij indicates the data dependency between tasks ti and tj, where eij = 1 indicates that ti is the direct predecessor task of tj. Moreover, dsl is the l-th dataset, Ii is the input dataset of ti, Oi is the output dataset of ti, and DC(ti) is the data center for executing ti. Furthermore, vi is the size of the dataset dsi, gti is the task number of generating dsi, in which gti of the initial dataset is 0, and lci is the serial number of the data center storing dsi.
It should be noted that the settings of privacy datasets in scientific workflows need to satisfy three logical rules. Specifically, for the taskti in the hybrid cloud environment DC, when the set of input or output datasets of ti (denoted by {Ii, Oi}) contains the privacy dataset dsi, the following holds:(i)
Rule 1.lci≡A.(ii)
Rule 2.DCti≡A.(iii)
Rule 3. For each privacy datasetdsj∈Ii,Oi, lcj≡DCtj≡A.
According to Definition2, private datasets can only be stored in private data centers, while their storage locations cannot be changed. As shown in Rule 1, private datasets cannot be transmitted across data centers, and thus, the data center for executing a task using the dataset as an input or output must be fixed. As known from Rule 2, locations of private datasets for fixed tasks must be consistent with execution locations of the tasks, and thus, the privacy datasets cannot be stored in other data centers. Otherwise, the tasks cannot be executed.Definition 3.
Fuzzy data transmission time
When optimizing uncertainty problems, there are commonly three types of theories, including the probability theory, gray theory, and fuzzy theory. Specifically, the probability theory can be applied in sampling problems with massive samples, the gray theory is suitable for the problems with fewer samples, and the fuzzy theory can be used to solve the problems with unclear extensions of concepts [29]. As for addressing the data placement problem of scientific workflows, the fuzzy theory can be regarded as an effective tool because this problem has no clear boundary or the limitation involves uncertainty.
In the past research, the data transmission time was usually defined as the ratio of the dataset size to the bandwidth between data centers, without considering the other essential factors such as bandwidth fluctuations. However, the data transmission time is uncertain in real-world network environments. In response to this uncertainty, by utilizing the fuzzy theory, triangular fuzzy numbers are introduced to represent the data transmission time. For each independent data transmission process, the mappingdci,dsk,dcj indicates that the dataset dsk is transmitted from the data center dci to dcj. Therefore, the fuzzy data transmission time is defined as(3)T˜transferdci,dsk,dcj=aikj1,aikj2,aikj3,where aikj1 and aikj3 are the lower and upper bound elements of the triangular fuzzy number, respectively. When aikj1=aikj2=aikj3, the triangular fuzzy number degenerates into a real number. Moreover, the membership function indicates the degree which the element x belongs to the fuzzy interval. When x=aikj2, the element x completely belongs to the interval. The membership function of the triangular fuzzy number is defined as(4)μ=x−aikj1aikj2−aikj1,aikj1≤x≤aikj2,x−aikj3aikj2−aikj3,aikj2≤x≤aikj3,0,else.Definition 4.
Calculation of fuzzy number(1)
The model involves addition and comparison operations between fuzzy numbers. For the triangular fuzzy numberss˜=s1,s2,s3 and t˜=t1,t2,t3, the above operations are defined as follows:(i)
Addition operation (calculating the fuzzy data transmission time):(5)s˜+t˜=t˜+s˜=s1+t1,s2+t2,s3+t3.(ii)
Comparison operation (comparing the fuzzy completion time and choosing suitable values).Fors˜=s1,s2,s3, three comparison values are defined as(6)c1s˜=s1+2s2+s34,c2s˜=s2,c3s˜=s3−s1.According to the literature [30], if c1s˜>c1t˜, s˜>t˜. If c2s˜>c2t˜, s˜>t˜; if c3s˜>c3t˜, s˜>t˜; otherwise, s˜=t˜.(2)
The model involves the addition, subtraction, multiplication, division, fuzzification, and defuzzification operations between fuzzy and real numbers. For a triangular fuzzy numbers˜=s1,s2,s3 and a real number t, the above operations are defined as follows:(i)
Addition and subtraction operations:(7)s˜+t=t+s˜=s1+t,s2+t,s3+t,s˜−t=−t−s˜=s1−t,s2−t,s3−t.(ii)
Multiplication and division operations:(8)s˜⋅t=t⋅s˜=s1t,s2t,s3t,s˜t=s1t,s2t,s3t,wheret≠0.(iii)
Fuzzification and defuzzification operations.On the one hand, the fuzzification operation, according to the literature [26], is defined as(9)s1∈δ1s,s,s2=s,s3∈s,δ2s,where δ1<1,δ2>1.
On the other hand, the defuzzification operation is commonly used to quantitatively compare fuzzy numbers and analyze results. Li [31] defined the mean and standard deviation of fuzzy numbers under uniform distribution and proportional distribution, where the proportional distribution is suitable for the uncertainty problem of data transmission time. For the triangular fuzzy number S˜total, the mean and standard deviation are defined as(10)S˜μ=∫xS˜total2xdx∫S˜total2xdx=s1+2s2+s34,S˜σ=∫xS˜total2xdx∫S˜total2xdx−Sμ21/2=2s1−s22+s1−s32+2s2−s32801/2,minS˜total=s1,s2,s3⇒translateminS˜μ+∂S˜σ,∂≥0,where S˜μ is the mean of the triangular fuzzy number S˜=s1,s2,s3, which reflects the most likely value of the fuzzy number under probability measurement. S˜σ indicates the standard deviation of S˜=s1,s2,s3, which reflects the uncertainty degree of the fuzzy number. ∂ represents the weight of S˜σ.Definition 5.
Data placement strategy
The purpose of effective data placement is to reduce the data transmission time while meeting the order of task execution, the proportion of dataset privacy, and the capacity constraints of data centers. Only when the datasets required by a task are transmitted to the same data center, the task can be executed. Moreover, the time of scheduling a task to a data center is much shorter than the data transmission time [32], and thus, the model may need to focus on the data placement strategy. Before executing a task, the data center with the least fuzzy data transmission time will be chosen to schedule the task. Therefore, the data placement strategy is defined as(11)S=DS,DC,M,T˜total,M=∪i=1,2,…,DCdci,dsk,dcj,T˜transferdci,dsk,dcj=aikj1,aikj2,aikj3,T˜total=∑i=1DC∑j≠iDC∑k=1DST˜transferdci,dsk,dcj⋅eijk,where M represents the mapping between the dataset DS and the set of data centers DC. {dci, dsk, dcj} indicates that the dataset dsk is transmitted from the data center dci to dcj. T˜transferdci,dsk,dcj is the fuzzy data transmission time of {dci, dsk, dcj}. T˜total is the total fuzzy data transmission time during the operation of scientific workflows, where eijk = {0,1} indicates whether there is {dci, dsk, dcj} during this time (eijk = 1 for yes and eijk = 0 for no).


## 2.2. Modeling

According to the above definitions, the data placement problem for scientific workflows is modeled based on the fuzzy theory with the objective of minimizing the fuzzy data transmission time while considering the capacity constraints of data centers. The problem model is defined as(12)minT˜totals.t.∀i,∑j=1DSvj⋅uij≤V,where uij = {0,1} indicates whether the dataset dsj is stored in the data center dci (uij = 1 for yes and uij = 0 for no).


## 3. Effective Data Placement for Scientific Workflows Based on DPSO-FGA

In light of the advantages of the particle swarm optimization (PSO), genetic algorithm (GA), and fuzzy theory, we propose an adaptive discrete particle swarm optimization algorithm based on the fuzzy theory and genetic algorithm operators (DPSO-FGA) to implement the effective data placement for scientific workflows, with the goal of minimizing the fuzzy data transmission time.


### 3.1. PSO Algorithm

The PSO algorithm was derived from the literature [33], which was inspired by the regularity in the cluster activities of flying birds. Based on the information exchanges between individuals, the movement of the entire population will gradually become orderly, and eventually, the optimal solution can be obtained, where the solution of the optimization problem is called “particle”. When running the PSO algorithm, a fixed-size particle swarm is randomly initialized, where each particle constantly keeps iterating and updating through tracking the optimal solution found by itself and the population. The update of particles contains two aspects as follows.(i)
Speed update:(13)Vit+1=wVit+c1r1pit−Xit+c2r2gt−Xit.(ii)
Location update:(14)Xit+1=Xit+Vit+1,where the detailed definitions of the symbols can be found in [29].


### 3.2. Fitness Function

A fitness function needs to be defined for particles to track the optimal solution during the update process. As the optimization goal, the fuzzy data transmission time is used to define the fitness function as(15)FS=T˜totalXi,where F(S) represents the fitness function of data placement strategy S and T˜totalXi indicates the fuzzy data transmission time of the particle Xi.If the total size of datasets placed in a data center does not exceed its maximum capacity, the particle can be a feasible solution. Otherwise, it is infeasible. When making the selection between feasible and infeasible solutions, the feasible one will be directly selected. When making the selection between feasible solutions, the particle with the smaller fitness function will be selected. When making the selection between infeasible solutions, the particle with the smaller fitness function will be also selected because it is more likely to become a feasible solution in subsequent operations.


### 3.3. Particle Encoding

The particle encoding needs to meet three principles, including completeness, nonredundancy, and soundness [34]. Specifically, the n-dimensional particles are discretely encoded [35], where n represents the number of datasets involved in the scientific workflow. Therefore, the structure of the particle i at the t-th iteration is defined as(16)Xit=xi1t,xi2t,…,xint,where xikt represents the placement location of the k-th dataset at the t-th iteration.The following is an example of the particle encoding, where the particle number is 3, the current iteration number is 10, the number of datasets is 10, and the number of data centers is 4. Moreover, the datasets with underlines indicate that they are privacy datasets, where the data centers used for storing them cannot be changed during the subsequent update process:(17)X310=1,2,4¯,3,2,1¯,3¯,4,2,1.


### 3.4. Particle Update

The traditional update of the PSO algorithm is shown in equations (13) and (14)fd16, which reveal some weaknesses in practical operation, such as low search ability, small solution space, and the premature convergence to the local optimum. To address these problems, crossover and mutation operations in the GA are introduced into the update. Since there are certain proportions of privacy datasets, the data centers used for storing them cannot be changed during the update process.For the inertial part of the traditional update, the mutation operation is defined as(18)Ait+1=ω⊕MuXit=MuXit,r0<ω,Xit,else,where r0∈0,1 represents a random factor and the mutation operation Mu() is to randomly change a quantile in the encoded particle within a range of values. It should be noted that the quantiles of privacy datasets cannot be mutated. Moreover, an infeasible particle should select a quantile, which makes the particle infeasible, to be mutated. Thus, the quantile to be selected should be the location of an overloaded data center. For instance, the following mutation operation is taken based on equation (17) as(19)X310=1,2,4¯,3,2,1¯,3¯,4,2,1,⇓MutationA311=1,3,4¯,3,2,1¯,3¯,4,2,1,where the 2nd quantile is selected by the mutation operation and the corresponding data center number changes from 2 to 3.For the individual and population cognitions in the traditional update, the cross operation is introduced as(20)Bit+1=c1⊕CpAit+1,pit=CpAit+1,pit,r1<c1,Ait+1,else,Cit+1=c2⊕CgBit+1,gt=CgBit+1,gt,r2<c2,Bit+1,else,where r1,r2∈0,1 represent random factors; Cp(Ai(t+1), pi(t)) and CgBit+1,gt, are to randomly select two quantiles of the encoded particles Ai(t + 1) and Bi(t + 1) and cross with the values at the same positions of pi(t) and gt. It should be noted that the storage locations of privacy datasets cannot be changed when crossing. For instance, the following crossover operation is taken based on (17)fd19 as(21)p310g10=1,2,4¯,2,4,1¯,3¯,4,2,1,↓↓CrossoverA311B311=1,2,4¯,2,4,1¯,3¯,4,2,1,↓↓Turn IntoB311C3111,2,4¯,2,4,1¯,3¯,4,2,1,where the crossover operations happens at the 4th and 5th quintiles and the serial numbers of the data centers on the quantiles change from 2 to 4.In summary, the process of the particle update is defined as(22)Xit+1=c2⊕Cgc1⊕Cpω⊕MuXit,pit,gt.


### 3.5. Mapping from Particles to Data Placement Results

Algorithm1 shows the mapping from encoded particles to data placement results, where G represents the scientific workflow, DC indicates the hybrid cloud environment, X denotes the encoded particles, and S expresses the data placement strategy.Algorithm 1: Mapping from encoded particles to data placement results.
Procedure dataPlacement(G, DC, X)Input:G, DC, XOutput:S=DS,DC,Map,T˜total1:  Initialization: set the current storage capacity of data centers dccur(i) to 0 and the fuzzy data transmission time T˜total to (0, 0, 0)2:  for eachdsiofDSini//Determine whether the particle would cause the data center overloaded3:   dccur(X[i]) + = vi//Place the dataset dsiin the data center dcX[i]4:   ifdccur(X[i]) > VX[i]5:    return this particle is infeasible6:   end if7:  end for8:  forj = 1 to |T|//Determine whether the data center is overloaded during task execution9:   Place the task tj in the data center dcj with the least fuzzy data transmission time10:   ifdccur(j) + sum(Ij) + sum(Oj) > vj11:    returnthis particle is infeasible12:   end if13:   Place the output dataset Oj of tj into the corresponding data center14:   Update the storage capacity of the data center15:  end for16:  forj = 1 to |T|//Calculate the fuzzy transmission time of the corresponding data layout17:   Find the data centers dsi in the placement of task tj’s input dataset Ij18:   Calculate the fuzzy data transmission time T˜j generated by the input dataset Ij to dsj19:   T˜total+=T˜j20:  end for21:  Output T˜total,Xand the corresponding data placement strategyEnd procedureThe execution steps of Algorithm1 are listed as follows:Step 1 (line 1). Initialize the current storage capacity of data centers dccur(i) to 0 and the fuzzy data transmission time T˜total to (0, 0, 0).Step 2 (lines 2∼7). Place each initial dataset into data centers according to their numbers and update dccur(i). If dccur(i) exceeds the maximum capacity of data centers, the solution corresponding to the particle is infeasible and the current operation will be stopped and returned.Step 3 (lines 8∼15). During the task traversal, the data center dcj with the smallest fuzzy data transmission time will always be selected to place the task tj. If the solution corresponding to the particle is infeasible (i.e., the sum of dccur(j), sum(Ij), and sum(Oj) exceeds the maximum capacity of data centers), the current operation will be stopped and returned. Otherwise, the output dataset Oj of the task tj will be placed into a corresponding data center and the storage capacity of data centers will be updated.Step 4 (lines 16∼20). Traverse all tasks, calculate the fuzzy data transmission time T˜j for each dataset that needs to be transmitted across data centers, and sum them to obtain the total fuzzy data transmission time T˜total.Step 5 (line 21). Output T˜total,X, and the corresponding data placement strategy.


### 3.6. Model Parameters

The inertial weightw in (13) has a direct influence on the convergence of the PSO algorithm [36], which can affect the search speed of particles in solution space. Thus, we propose a new method to define the weight w as follows, which can adaptively adjust the value of w based on the pros and cons of the corresponding solution of the current particle (i.e., the degree of difference between the current and historically optimal particles):(23)w=wmax−wmax−wmin⋅expdXit,gt/DSdXit,gt/DS−1.01,where d(Xi(t), g(t)) represents the degree of difference between the current particle Xi(t) and the historically optimal particle gt of the current population (i.e., the number of different values on the same quantiles). In the early stage of training, d(Xi(t), g(t)) is usually large with the large value of w. Therefore, it is necessary to expand the search range of particles in solution space, in order to find the optimal solution and avoid prematurely falling into local optimum. In the later stage of training, d(Xi(t), g(t)) becomes small with the small value of w. Thus, it is better to narrow the search range of particles and accelerate the search speed of particles for the optimal solution.Moreover, the individual and population cognition factors (i.e.,c1 and c2) are defined by using the gradient descent method [37].


## 3.1. PSO Algorithm

The PSO algorithm was derived from the literature [33], which was inspired by the regularity in the cluster activities of flying birds. Based on the information exchanges between individuals, the movement of the entire population will gradually become orderly, and eventually, the optimal solution can be obtained, where the solution of the optimization problem is called “particle”. When running the PSO algorithm, a fixed-size particle swarm is randomly initialized, where each particle constantly keeps iterating and updating through tracking the optimal solution found by itself and the population. The update of particles contains two aspects as follows.(i)
Speed update:(13)Vit+1=wVit+c1r1pit−Xit+c2r2gt−Xit.(ii)
Location update:(14)Xit+1=Xit+Vit+1,where the detailed definitions of the symbols can be found in [29].


## 3.2. Fitness Function

A fitness function needs to be defined for particles to track the optimal solution during the update process. As the optimization goal, the fuzzy data transmission time is used to define the fitness function as(15)FS=T˜totalXi,where F(S) represents the fitness function of data placement strategy S and T˜totalXi indicates the fuzzy data transmission time of the particle Xi.If the total size of datasets placed in a data center does not exceed its maximum capacity, the particle can be a feasible solution. Otherwise, it is infeasible. When making the selection between feasible and infeasible solutions, the feasible one will be directly selected. When making the selection between feasible solutions, the particle with the smaller fitness function will be selected. When making the selection between infeasible solutions, the particle with the smaller fitness function will be also selected because it is more likely to become a feasible solution in subsequent operations.


## 3.3. Particle Encoding

The particle encoding needs to meet three principles, including completeness, nonredundancy, and soundness [34]. Specifically, the n-dimensional particles are discretely encoded [35], where n represents the number of datasets involved in the scientific workflow. Therefore, the structure of the particle i at the t-th iteration is defined as(16)Xit=xi1t,xi2t,…,xint,where xikt represents the placement location of the k-th dataset at the t-th iteration.The following is an example of the particle encoding, where the particle number is 3, the current iteration number is 10, the number of datasets is 10, and the number of data centers is 4. Moreover, the datasets with underlines indicate that they are privacy datasets, where the data centers used for storing them cannot be changed during the subsequent update process:(17)X310=1,2,4¯,3,2,1¯,3¯,4,2,1.


## 3.4. Particle Update

The traditional update of the PSO algorithm is shown in equations (13) and (14)fd16, which reveal some weaknesses in practical operation, such as low search ability, small solution space, and the premature convergence to the local optimum. To address these problems, crossover and mutation operations in the GA are introduced into the update. Since there are certain proportions of privacy datasets, the data centers used for storing them cannot be changed during the update process.For the inertial part of the traditional update, the mutation operation is defined as(18)Ait+1=ω⊕MuXit=MuXit,r0<ω,Xit,else,where r0∈0,1 represents a random factor and the mutation operation Mu() is to randomly change a quantile in the encoded particle within a range of values. It should be noted that the quantiles of privacy datasets cannot be mutated. Moreover, an infeasible particle should select a quantile, which makes the particle infeasible, to be mutated. Thus, the quantile to be selected should be the location of an overloaded data center. For instance, the following mutation operation is taken based on equation (17) as(19)X310=1,2,4¯,3,2,1¯,3¯,4,2,1,⇓MutationA311=1,3,4¯,3,2,1¯,3¯,4,2,1,where the 2nd quantile is selected by the mutation operation and the corresponding data center number changes from 2 to 3.For the individual and population cognitions in the traditional update, the cross operation is introduced as(20)Bit+1=c1⊕CpAit+1,pit=CpAit+1,pit,r1<c1,Ait+1,else,Cit+1=c2⊕CgBit+1,gt=CgBit+1,gt,r2<c2,Bit+1,else,where r1,r2∈0,1 represent random factors; Cp(Ai(t+1), pi(t)) and CgBit+1,gt, are to randomly select two quantiles of the encoded particles Ai(t + 1) and Bi(t + 1) and cross with the values at the same positions of pi(t) and gt. It should be noted that the storage locations of privacy datasets cannot be changed when crossing. For instance, the following crossover operation is taken based on (17)fd19 as(21)p310g10=1,2,4¯,2,4,1¯,3¯,4,2,1,↓↓CrossoverA311B311=1,2,4¯,2,4,1¯,3¯,4,2,1,↓↓Turn IntoB311C3111,2,4¯,2,4,1¯,3¯,4,2,1,where the crossover operations happens at the 4th and 5th quintiles and the serial numbers of the data centers on the quantiles change from 2 to 4.In summary, the process of the particle update is defined as(22)Xit+1=c2⊕Cgc1⊕Cpω⊕MuXit,pit,gt.


## 3.5. Mapping from Particles to Data Placement Results

Algorithm1 shows the mapping from encoded particles to data placement results, where G represents the scientific workflow, DC indicates the hybrid cloud environment, X denotes the encoded particles, and S expresses the data placement strategy.Algorithm 1: Mapping from encoded particles to data placement results.
Procedure dataPlacement(G, DC, X)Input:G, DC, XOutput:S=DS,DC,Map,T˜total1:  Initialization: set the current storage capacity of data centers dccur(i) to 0 and the fuzzy data transmission time T˜total to (0, 0, 0)2:  for eachdsiofDSini//Determine whether the particle would cause the data center overloaded3:   dccur(X[i]) + = vi//Place the dataset dsiin the data center dcX[i]4:   ifdccur(X[i]) > VX[i]5:    return this particle is infeasible6:   end if7:  end for8:  forj = 1 to |T|//Determine whether the data center is overloaded during task execution9:   Place the task tj in the data center dcj with the least fuzzy data transmission time10:   ifdccur(j) + sum(Ij) + sum(Oj) > vj11:    returnthis particle is infeasible12:   end if13:   Place the output dataset Oj of tj into the corresponding data center14:   Update the storage capacity of the data center15:  end for16:  forj = 1 to |T|//Calculate the fuzzy transmission time of the corresponding data layout17:   Find the data centers dsi in the placement of task tj’s input dataset Ij18:   Calculate the fuzzy data transmission time T˜j generated by the input dataset Ij to dsj19:   T˜total+=T˜j20:  end for21:  Output T˜total,Xand the corresponding data placement strategyEnd procedureThe execution steps of Algorithm1 are listed as follows:Step 1 (line 1). Initialize the current storage capacity of data centers dccur(i) to 0 and the fuzzy data transmission time T˜total to (0, 0, 0).Step 2 (lines 2∼7). Place each initial dataset into data centers according to their numbers and update dccur(i). If dccur(i) exceeds the maximum capacity of data centers, the solution corresponding to the particle is infeasible and the current operation will be stopped and returned.Step 3 (lines 8∼15). During the task traversal, the data center dcj with the smallest fuzzy data transmission time will always be selected to place the task tj. If the solution corresponding to the particle is infeasible (i.e., the sum of dccur(j), sum(Ij), and sum(Oj) exceeds the maximum capacity of data centers), the current operation will be stopped and returned. Otherwise, the output dataset Oj of the task tj will be placed into a corresponding data center and the storage capacity of data centers will be updated.Step 4 (lines 16∼20). Traverse all tasks, calculate the fuzzy data transmission time T˜j for each dataset that needs to be transmitted across data centers, and sum them to obtain the total fuzzy data transmission time T˜total.Step 5 (line 21). Output T˜total,X, and the corresponding data placement strategy.


## 3.6. Model Parameters

The inertial weightw in (13) has a direct influence on the convergence of the PSO algorithm [36], which can affect the search speed of particles in solution space. Thus, we propose a new method to define the weight w as follows, which can adaptively adjust the value of w based on the pros and cons of the corresponding solution of the current particle (i.e., the degree of difference between the current and historically optimal particles):(23)w=wmax−wmax−wmin⋅expdXit,gt/DSdXit,gt/DS−1.01,where d(Xi(t), g(t)) represents the degree of difference between the current particle Xi(t) and the historically optimal particle gt of the current population (i.e., the number of different values on the same quantiles). In the early stage of training, d(Xi(t), g(t)) is usually large with the large value of w. Therefore, it is necessary to expand the search range of particles in solution space, in order to find the optimal solution and avoid prematurely falling into local optimum. In the later stage of training, d(Xi(t), g(t)) becomes small with the small value of w. Thus, it is better to narrow the search range of particles and accelerate the search speed of particles for the optimal solution.Moreover, the individual and population cognition factors (i.e.,c1 and c2) are defined by using the gradient descent method [37].


## 4. Performance Evaluation

### 4.1. Parameter and Environment Settings

The scientific workflow model comes from five different scientific fields [38], including CyberShake, Epigenomics, Inspiral, Montage, and Sipht. Each scientific field has a scientific workflow with a different number of tasks, and each scientific workflow has a unique task structure, number of datasets, and computational requirements [39]. Specifically, a medium-sized (about 50 tasks) workflow in each field is selected for experiments, and the parameter and environment settings are shown in Table 1.Table 1
Environment and parameter settings.
ParameterValuePopulation size100Maximum number of iterations1000wmax, wmin0.9, 0.4c1start,c1end0.9, 0.2c2start,c2end0.4, 0.9Hybrid cloud environmentDC = {DCpub, DCpri | DCpub = {dc1}, DCpri = {dc2, dc3, dc4}}Software environmentWindows 10 64-bit, Python 3.7Hardware environmentIntel® Core™ i7-6700HQ CPU @2.60GHZ, RAM 8.00 GBMoreover, some extrasettings are shown as follows:(i)
Maximum capacity: the datum capacity is set to∑i=1DSvi/DC−1, where the maximum capacity of the three private data centers is set to 2.6 times the datum capacity.(ii)
Bandwidth (M/s) between data centers: the bandwidth betweendc1 and {dc2, dc3, dc4} is set to {10, 20, 30}, the bandwidth between dc2 and {dc3, dc4} is set to {150, 150}, and the bandwidth between dc3 and dc4 is set to 100.(iii)
Proportion of privacy datasets: due to the difference of datasets among various workflows, the proportions of privacy datasets of in the scientific workflows, including CyberShake, Epigenomics, Inspiral, Montage, and Sipht, are set to {0.25, 0.2, 0.2, 0.2, 0.02}.(iv)
Fuzzy parameter: based on the fuzzy theory, the data transmission timeT is fuzzified into the triangular fuzzy number T˜, where the fuzzy parameters are set to σ1=0.85,σ2=1.2.


### 4.2. Comparison Algorithms

The proposed DPSO-FGA is compared with the constraint fuzzy randomized algorithm (CFRA) and constraint fuzzy greedy algorithm (CFGA), which can improve the performance of the randomized algorithm (RA) and greedy algorithm (GA) in data placement. The CFRA and CFGA rely on the fuzzy theory while considering some essential conditions, including the application scenarios of scientific workflows, privacy settings, and capacity constraints. The conditions refer to meet the maximum capacity requirements of data centers and the proportion of private datasets during the data placement process.(i)
The steps of CFRAStep 1. Set privacy datasets and the maximum capacity of data centers, initialize parameters, and keep the same values as the corresponding parameters in the DPSO-FGA.Step 2. Generate a random population that meets the conditions according to the discrete encoding method in the DPSO-FGA. The population contains a certain number of individuals, and each individual represents a candidate solution for data placement.Step 3. Define the fitness function as the fuzzy data transmission time of the corresponding solution of the individual encoding.Step 4. Calculate the fitness value of each individual and compare it with the current best individual of the population. If the current individual is the better one, update the best individual of the population by using the current one.Step 5. End the traversal and output the best individual with its fitness value.(ii)
The steps of CFGAStep 1. Set privacy datasets and the maximum capacity of data centers, initialize parameters, and keep the same values as the corresponding parameters in the DPSO-FGA.Step 2. Design a data placement strategy. According to the task execution sequence of the scientific workflow, traverse the datasets that have not been deployed for tasks. If the current task has been placed, the dataset will also be placed to the same data center by using the GA. If the current task has not been placed but there is already a placed dataset, the dataset will be placed to the same data center as the placed dataset by using the GA. If the current task has not been placed and there is no already placed dataset, the dataset will be placed into the data center with the smallest fuzzy data transmission time by using the GA.Step 3. Calculate the fuzzy data transmission time of the current data placement strategy and output the strategy.


### 4.3. Experimental Results and Analysis

To avoid the randomness of results, 10 independent experiments are carried out on five scientific workflows under different environment settings. Table2 records the average fuzzy data transmission time of different algorithms under various scientific workflows.Table 2
Average fuzzy data transmission time of different algorithms under various scientific workflows.
WorkflowAlgorithmAverage fuzzy data transmission time (s)CyberShakeDPSO-FGA(375683.37, 415977.97, 448166.12)CFRA(613685.49, 658202.55, 728115.64)CFGA(760212.74, 819721.35, 890377.31)EpigenomicsDPSO-FGA(297570.10, 300909.35, 326971.76)CFRA(561274.26, 606573.37, 654489.23)CFGA(1192066.03, 1242136.17, 1290256.56)InspiralDPSO-FGA(2356942.36, 2521230.04, 2734877.94)CFRA(5859201.90, 6335216.52, 7023988.75)CFGA(8025939.27, 8547697.91, 9737463.34)MontageDPSO-FGA(794955.76, 840543.65, 863448.55)CFRA(1242644.26, 1331192.71, 1445410.25)CFGA(1920877.78, 2058800.54, 2311869.58)SiphtDPSO-FGA(10733197.95, 12051002.69, 1289802.65)CFRA(11543263.40, 12494008.57, 13725762.53)CFGA(13105310.17, 14687168.03, 1591557.53)In the subsequent experimental results, the fuzzy data transmission time is defuzzified, in order to make the comparison between the algorithms more intuitive, where ∂ is set to 1.Figure1 shows the defuzzification results for the fuzzy data transmission time of different algorithms under various scientific workflows, where the names of the scientific workflows are indicated by their first letter.Figure 1
Average fuzzy data transmission time of different algorithms under various scientific workflows.From the perspective of algorithms, the DPSO-FGA outperforms the CFRA and CFGA. This is because that the CFGA may easily fall into the local optimum by using the GA during execution, and thus, it ignores the global performance. Moreover, the overall performance of the CFRA is better than CFGA since the search space of the CFRA is larger than the CFGA and will not fall into the local optimum, and thus, the CFRA can obtain a good solution when the algorithm runs for a long time. However, the CFRA does not consider the fitness of the current particle when a solution is generated, and thus, the performance of the CFRA is worse than the DPSO-FGA. From the perspective of workflows, the data transmission time of the same algorithm in various scientific workflows is significantly different. Although all these scientific workflows contain about 50 tasks, the number of datasets used varies greatly. For example, the CyberShake uses datasets only about 70 times, while the Sipht uses datasets up to 4000 times, which results in the different data transmission time between them.As the number of private data centers in a hybrid cloud environment sometimes changes, the performance of DPSO-FGA needs to be evaluated with different numbers of private data centers. Thus, we change the number of private data centers without modifying other default settings. Specifically, these three algorithms are tested when the number of private data centers is set to {3, 5, 6, 8, 10}, where the bandwidth between newly added private data centers and public data centers is set to 20 M/s and the bandwidth between other private data centers is set to 120 M/s. The experimental results are shown in Figure2.Figure 2
Average data transmission time of different algorithms with various numbers of private data centers: (a) Cybershake; (b) Epigenomics; (c) Inspiral; (d) Montage; (e) Sipht.
(a)(b)(c)(d)(e)From the perspective of algorithms, the performance of the DPSO-FGA outperforms the CFRA and CFGA, and the reasons have been analyzed in Figure1. From the perspective of private data centers, as the number of private data centers increases, the data transmission time of these three algorithms also inclines. This is because, with the increasing number of private data centers, the privacy datasets, which are randomly set according to the privacy proportion, are dispersed and fixed in more private data centers. Therefore, the fixed tasks, which require these private datasets, need to be executed in more scattered locations, and it will lead to increasing data transmission time.Since the maximum capacity of private data centers is regarded as a constraint, the sensitivity of the DPSO-FGA to this constraint needs to be evaluated. Specifically, the CyberShake is selected as the scientific workflow for experiments, the multiple of datum capacity is set to {2, 2.6, 3, 5, 8}, and the rest of the settings remain default. The experimental results are shown in Figure3.Figure 3
Average fuzzy data transmission time of different algorithms with various capacities of private data centers.When the maximum capacity of private data centers increases and the bandwidth between data centers remains the same, each data center is able to store more datasets and the datasets required for executing tasks become more concentrated. Therefore, the data transmission time of the DPSO-FGA is reduced. Specifically, the fastest decline in data transmission time happens when the maximum capacity is 2∼3 times than that of the datum capacity, and the slowest decline happens when the maximum capacity is 5∼8 times than that of the datum capacity. This is because when the maximum capacity of data centers is small, the available space is small and the placement locations of datasets are restricted. Thus, the maximum capacity has a significant impact on data transmission time. When the maximum capacity of data centers becomes larger, each data center can store more datasets, and it will be easy to meet the operational requirements of scientific workflows. Therefore, the maximum capacity has little effect on the data transmission time.Finally, the performance of the DPSO-FGA is evaluated under different bandwidths between data centers. Specifically, the CyberShake is selected as the scientific workflow for experiments, the multiple of the bandwidth between data centers relative to the default one is set to {0.5, 0.8, 1.5, 3, 5}, and the rest of the settings remains default. The experimental results are shown in Figure4. The data transmission time decreases greatly as the bandwidth increases, which indicates that the bandwidth changes between data centers will not significantly affect the data placement strategy.Figure 4
Average fuzzy data fuzzy transmission time of different algorithms with various bandwidths between data centers.


## 4.1. Parameter and Environment Settings

The scientific workflow model comes from five different scientific fields [38], including CyberShake, Epigenomics, Inspiral, Montage, and Sipht. Each scientific field has a scientific workflow with a different number of tasks, and each scientific workflow has a unique task structure, number of datasets, and computational requirements [39]. Specifically, a medium-sized (about 50 tasks) workflow in each field is selected for experiments, and the parameter and environment settings are shown in Table 1.Table 1
Environment and parameter settings.
ParameterValuePopulation size100Maximum number of iterations1000wmax, wmin0.9, 0.4c1start,c1end0.9, 0.2c2start,c2end0.4, 0.9Hybrid cloud environmentDC = {DCpub, DCpri | DCpub = {dc1}, DCpri = {dc2, dc3, dc4}}Software environmentWindows 10 64-bit, Python 3.7Hardware environmentIntel® Core™ i7-6700HQ CPU @2.60GHZ, RAM 8.00 GBMoreover, some extrasettings are shown as follows:(i)
Maximum capacity: the datum capacity is set to∑i=1DSvi/DC−1, where the maximum capacity of the three private data centers is set to 2.6 times the datum capacity.(ii)
Bandwidth (M/s) between data centers: the bandwidth betweendc1 and {dc2, dc3, dc4} is set to {10, 20, 30}, the bandwidth between dc2 and {dc3, dc4} is set to {150, 150}, and the bandwidth between dc3 and dc4 is set to 100.(iii)
Proportion of privacy datasets: due to the difference of datasets among various workflows, the proportions of privacy datasets of in the scientific workflows, including CyberShake, Epigenomics, Inspiral, Montage, and Sipht, are set to {0.25, 0.2, 0.2, 0.2, 0.02}.(iv)
Fuzzy parameter: based on the fuzzy theory, the data transmission timeT is fuzzified into the triangular fuzzy number T˜, where the fuzzy parameters are set to σ1=0.85,σ2=1.2.


## 4.2. Comparison Algorithms

The proposed DPSO-FGA is compared with the constraint fuzzy randomized algorithm (CFRA) and constraint fuzzy greedy algorithm (CFGA), which can improve the performance of the randomized algorithm (RA) and greedy algorithm (GA) in data placement. The CFRA and CFGA rely on the fuzzy theory while considering some essential conditions, including the application scenarios of scientific workflows, privacy settings, and capacity constraints. The conditions refer to meet the maximum capacity requirements of data centers and the proportion of private datasets during the data placement process.(i)
The steps of CFRAStep 1. Set privacy datasets and the maximum capacity of data centers, initialize parameters, and keep the same values as the corresponding parameters in the DPSO-FGA.Step 2. Generate a random population that meets the conditions according to the discrete encoding method in the DPSO-FGA. The population contains a certain number of individuals, and each individual represents a candidate solution for data placement.Step 3. Define the fitness function as the fuzzy data transmission time of the corresponding solution of the individual encoding.Step 4. Calculate the fitness value of each individual and compare it with the current best individual of the population. If the current individual is the better one, update the best individual of the population by using the current one.Step 5. End the traversal and output the best individual with its fitness value.(ii)
The steps of CFGAStep 1. Set privacy datasets and the maximum capacity of data centers, initialize parameters, and keep the same values as the corresponding parameters in the DPSO-FGA.Step 2. Design a data placement strategy. According to the task execution sequence of the scientific workflow, traverse the datasets that have not been deployed for tasks. If the current task has been placed, the dataset will also be placed to the same data center by using the GA. If the current task has not been placed but there is already a placed dataset, the dataset will be placed to the same data center as the placed dataset by using the GA. If the current task has not been placed and there is no already placed dataset, the dataset will be placed into the data center with the smallest fuzzy data transmission time by using the GA.Step 3. Calculate the fuzzy data transmission time of the current data placement strategy and output the strategy.


## 4.3. Experimental Results and Analysis

To avoid the randomness of results, 10 independent experiments are carried out on five scientific workflows under different environment settings. Table2 records the average fuzzy data transmission time of different algorithms under various scientific workflows.Table 2
Average fuzzy data transmission time of different algorithms under various scientific workflows.
WorkflowAlgorithmAverage fuzzy data transmission time (s)CyberShakeDPSO-FGA(375683.37, 415977.97, 448166.12)CFRA(613685.49, 658202.55, 728115.64)CFGA(760212.74, 819721.35, 890377.31)EpigenomicsDPSO-FGA(297570.10, 300909.35, 326971.76)CFRA(561274.26, 606573.37, 654489.23)CFGA(1192066.03, 1242136.17, 1290256.56)InspiralDPSO-FGA(2356942.36, 2521230.04, 2734877.94)CFRA(5859201.90, 6335216.52, 7023988.75)CFGA(8025939.27, 8547697.91, 9737463.34)MontageDPSO-FGA(794955.76, 840543.65, 863448.55)CFRA(1242644.26, 1331192.71, 1445410.25)CFGA(1920877.78, 2058800.54, 2311869.58)SiphtDPSO-FGA(10733197.95, 12051002.69, 1289802.65)CFRA(11543263.40, 12494008.57, 13725762.53)CFGA(13105310.17, 14687168.03, 1591557.53)In the subsequent experimental results, the fuzzy data transmission time is defuzzified, in order to make the comparison between the algorithms more intuitive, where ∂ is set to 1.Figure1 shows the defuzzification results for the fuzzy data transmission time of different algorithms under various scientific workflows, where the names of the scientific workflows are indicated by their first letter.Figure 1
Average fuzzy data transmission time of different algorithms under various scientific workflows.From the perspective of algorithms, the DPSO-FGA outperforms the CFRA and CFGA. This is because that the CFGA may easily fall into the local optimum by using the GA during execution, and thus, it ignores the global performance. Moreover, the overall performance of the CFRA is better than CFGA since the search space of the CFRA is larger than the CFGA and will not fall into the local optimum, and thus, the CFRA can obtain a good solution when the algorithm runs for a long time. However, the CFRA does not consider the fitness of the current particle when a solution is generated, and thus, the performance of the CFRA is worse than the DPSO-FGA. From the perspective of workflows, the data transmission time of the same algorithm in various scientific workflows is significantly different. Although all these scientific workflows contain about 50 tasks, the number of datasets used varies greatly. For example, the CyberShake uses datasets only about 70 times, while the Sipht uses datasets up to 4000 times, which results in the different data transmission time between them.As the number of private data centers in a hybrid cloud environment sometimes changes, the performance of DPSO-FGA needs to be evaluated with different numbers of private data centers. Thus, we change the number of private data centers without modifying other default settings. Specifically, these three algorithms are tested when the number of private data centers is set to {3, 5, 6, 8, 10}, where the bandwidth between newly added private data centers and public data centers is set to 20 M/s and the bandwidth between other private data centers is set to 120 M/s. The experimental results are shown in Figure2.Figure 2
Average data transmission time of different algorithms with various numbers of private data centers: (a) Cybershake; (b) Epigenomics; (c) Inspiral; (d) Montage; (e) Sipht.
(a)(b)(c)(d)(e)From the perspective of algorithms, the performance of the DPSO-FGA outperforms the CFRA and CFGA, and the reasons have been analyzed in Figure1. From the perspective of private data centers, as the number of private data centers increases, the data transmission time of these three algorithms also inclines. This is because, with the increasing number of private data centers, the privacy datasets, which are randomly set according to the privacy proportion, are dispersed and fixed in more private data centers. Therefore, the fixed tasks, which require these private datasets, need to be executed in more scattered locations, and it will lead to increasing data transmission time.Since the maximum capacity of private data centers is regarded as a constraint, the sensitivity of the DPSO-FGA to this constraint needs to be evaluated. Specifically, the CyberShake is selected as the scientific workflow for experiments, the multiple of datum capacity is set to {2, 2.6, 3, 5, 8}, and the rest of the settings remain default. The experimental results are shown in Figure3.Figure 3
Average fuzzy data transmission time of different algorithms with various capacities of private data centers.When the maximum capacity of private data centers increases and the bandwidth between data centers remains the same, each data center is able to store more datasets and the datasets required for executing tasks become more concentrated. Therefore, the data transmission time of the DPSO-FGA is reduced. Specifically, the fastest decline in data transmission time happens when the maximum capacity is 2∼3 times than that of the datum capacity, and the slowest decline happens when the maximum capacity is 5∼8 times than that of the datum capacity. This is because when the maximum capacity of data centers is small, the available space is small and the placement locations of datasets are restricted. Thus, the maximum capacity has a significant impact on data transmission time. When the maximum capacity of data centers becomes larger, each data center can store more datasets, and it will be easy to meet the operational requirements of scientific workflows. Therefore, the maximum capacity has little effect on the data transmission time.Finally, the performance of the DPSO-FGA is evaluated under different bandwidths between data centers. Specifically, the CyberShake is selected as the scientific workflow for experiments, the multiple of the bandwidth between data centers relative to the default one is set to {0.5, 0.8, 1.5, 3, 5}, and the rest of the settings remains default. The experimental results are shown in Figure4. The data transmission time decreases greatly as the bandwidth increases, which indicates that the bandwidth changes between data centers will not significantly affect the data placement strategy.Figure 4
Average fuzzy data fuzzy transmission time of different algorithms with various bandwidths between data centers.


## 5. Conclusions

In this paper, we propose a DPSO-FGA-based data placement method for scientific workflows in hybrid cloud environments. Based on the fuzzy theory, the DPSO-FGA fuzzifies the data transmission time for adapting to real-world network environments while considering the characteristics of hybrid cloud environments, bandwidth fluctuations, capacity limitations of private data centers, and dependencies between different scientific workflow tasks. Simulation results demonstrate the effectiveness of the proposed DPSO-FGA method. In the future, we will study the impact of other essential factors on the proposed method, such as different proportions of private datasets in scientific workflows and capacities of various private data centers. Moreover, under the conditions that are not critical for data transmission time, such as business network environments, data transmission costs between different clouds should also be regarded as a prioritized optimization goal. Therefore, a comprehensive model for minimizing the fuzzy data transmission time and costs will be researched.



---

*Source: 8105145-2020-08-17.xml*