Knowledge-Based Systems xxx (xxxx) xxx
Contents lists available at ScienceDirect
Knowledge-Based Systems journal homepage: www.elsevier.com/locate/knosys
Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution ∗
Mohamed Abd Elaziz a,c , Shengwu Xiong a , , K.P.N. Jayasena a,b , Lin Li a a
School of Computer Science and Technology, Wuhan University of Technology, PR China Department of Computing and Information System, Sabaragamuwa University of Sri Lanka, Sri Lanka c Department of Mathematics, Faculty of Science, Zagazig University, Zagazig, Egypt b
highlights • • • • •
An alternative method for cloud task scheduling problem. The proposed method is a modified moth search algorithm using Differential Evolution. The Differential Evolution is used as local search method to enhance moth search algorithm. The proposed method is evaluated twenty optimization functions. It is used to solve the cloud task scheduling using synthetic and real trace data.
article
info
Article history: Received 11 July 2018 Received in revised form 18 January 2019 Accepted 19 January 2019 Available online xxxx Keywords: Task scheduling Cloud computing Makespan Moth search algorithm (MSA) Differential evolution (DE) Meta-heuristics algorithm
a b s t r a c t This paper presents an alternative method for cloud task scheduling problem which aims to minimize makespan that required to schedule a number of tasks on different Virtual Machines (VMs). The proposed method is based on the improvement of the Moth Search Algorithm (MSA) using the Differential Evolution (DE). The MSA simulates the behavior of moths to fly towards the source of light in nature through using two concepts, the phototaxis and Levy flights that represent the exploration and exploitation ability respectively. However, the exploitation ability is still needed to be improved, therefore, the DE can be used as local search method. In order to evaluate the performance of the proposed MSDE algorithm, a set of three experimental series are performed. The first experiment aims to compare the traditional MSA and the proposed algorithm to solve a set of twenty global optimization problems. Meanwhile, in second and third experimental series the performance of the proposed algorithm to solve the cloud task scheduling problem is compared against other heuristic and meta-heuristic algorithms for synthetical and real trace data, respectively. The results of the two experimental series show that the proposed algorithm outperformed other algorithms according to the performance measures. © 2019 Elsevier B.V. All rights reserved.
1. Introduction The resources in cloud computing are shared between cloud clients through the virtualization concept [1]. Virtualization technology [2,3] is one of the main features in cloud data centers which allow dynamic sharing of physical resources, permitting numerous applications to executing in different platforms called virtual machines (VMs) in a single physical server [4,5]. Through the virtualization concept, a cloud provider can confirm the quality
∗ Corresponding author. E-mail addresses:
[email protected] (M.A. Elaziz),
[email protected] (S. Xiong),
[email protected] (K.P.N. Jayasena),
[email protected] (L. Li).
of service (QoS) distributed to the different users while accomplishing maximum resource utilization and minimum power consumption. Optimal task scheduling is an important topic in cloud virtualization [6]. The task scheduling procedure is an NP-complete problem where, the time needed to locate the solution varies by the size of the problem. The task scheduling process [7] is a very essential issue in cloud computing where effective searching and decisions were involved to discover the best optimal VM for each task. There are various computation-based performance metrics used in scheduling procedure such as makespan, system utilization, response time and network-based metrics such as traffic volume, network communication cost and round trip. Optimal scheduling of tasks in cloud computing [8] can be classified as heuristic, meta-heuristics and hybrid task scheduling approaches.
https://doi.org/10.1016/j.knosys.2019.01.023 0950-7051/© 2019 Elsevier B.V. All rights reserved.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
2
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
The heuristic task scheduling algorithms deliver ease to schedule the task and deliver the best possible solutions, but it does not guarantee the optimal result. The meta-heuristic approaches can handle massive search space to discover optimal solution for task scheduling problem within polynomial time. The hybrid task scheduling techniques combined with both the heuristic and metaheuristic. Recently, the moth search algorithm (MSA) has been proposed as new swarm algorithm [9], through simulating the behavior of moths in the nature where the moths are a family insects coupled with the butterflies are belonging to the order Lepidoptera. The simulation is performed through using the phototaxis and Levy flights. Where the phototaxis is considered as one of the most features of moths which used to represent the movement of moth towards or away from the light source. Also, it has been established that the characteristics of moths follow Levy flights [9]. In general, the light source represents the best moth (solution) inside the population, also, the moths which close to the best moth are fly around their positions in way similar to the Levy flights. On the other hand, those moths that are far away from the best moth will fly toward it directly in a straight line and this is results from the phototaxis. The previous features of the moths are represent the exploration and exploitation abilities of moth search algorithm as a swarm algorithm. The MSA algorithm established its performance in [9], however, it suffer from some drawbacks such as, it can easy have stuck in local solution and its convergence becomes slow. These drawbacks result from the its exploitation ability is not as good as its exploration ability. This paper presents moth search algorithm (MSA) based DE method referred as MSDE for scheduling the tasks in VMs with balanced task distribution. The DE algorithm is used as local search technique, by this way, the exploitation ability of the MSA will be improved since the DE algorithm has been taken the properties of the genetic algorithm (GA) and the ES algorithm [10]. These properties are the large population of GA and self-adapting mutation of ES. Based on the properties it has been established its performance to improve the performance of other MH algorithms. For example, Zheng et al., [11] used the DE to enhance the performance of fireworks optimization algorithm to sharing the information among the fireworks and sparks. Also, in [12], the DE is combined with Harmony Search and used as multiobjective design of water distribution networks. Yuancheng et al., proposed a hybrid chaotic artificial bee colony differential evolution (CABC-DE) algorithm for Reactive Power Optimization problem [13]. The firefly algorithm is improved as global optimization algorithm through combining it with DE as presented in [14]. The major contributions of this paper are:
• The first contribution of this work is to provide an alternative MH model based on improved MSA using DE algorithm for global optimization problem. • The secondary contribution of this work is to design a task scheduling model based on the of MSDE algorithm. In order to achieve these goals, the performance of the MSDE algorithm is evaluated to find the global solution of a set of benchmark functions CEC2005 compared with MSA. In addition, the performance of proposed method as task scheduling in cloudsim is compared with PSO, Whale Optimization Algorithm (WOA) and some heuristics such as Round robin (RR) and Shortest Job First (SJF) for synthetic data. Moreover, the best approach to evaluate task scheduling strategies is applied to a realistic cloudlets (task) mixes. We evaluate the meta-heuristics algorithms by simulations using the CloudSim to create simulated cloud architecture consisted of identical heterogeneous VMs, physical machines, and with large number of cloudlets for real workload data.
2. Related work The heuristic and meta-heuristic methods are used to solve the task scheduling problem through discovering the optimal or near optimal solutions [8] . The heuristic algorithms [15] attempt to find the various solutions by applying problem features in a comprehensive way and work in dependent on the problem. The six rule based heuristic algorithms are applied in heterogeneous and homogeneous cloud environments and schedule independent tasks with the objective of comparing their performance such as makespan and throughput, cost, degree of imbalance. The heuristic algorithms namely Minimum Completion Time (MCT), First Come First Serve (FCFS), Minimum Execution Time (MET), Maxmin, Minimum Completion Time (MCT), Sufferage and min–min are used in task scheduling in cloud computing. In [16], compare the various task scheduling policies consisting FCFS, SJEF, SJNF, LJEF and LJNF for cost optimization and resource utilization. Furthermore, [17] discuss five heuristic algorithms (Shortest Task First (STF), Greedy Scheduling (GS), FCFS, Sequence Scheduling (SS) and Balance Scheduling (BS)) and evaluate the performance using CloudSim. The heuristic algorithms such as Opportunistic Load Balancing (OLB), MCT, MCT, Max–min, Min–min and Load Balancing Min–min (LBMM) and proposed Enhanced (LBMM) algorithm used in [18] for static task scheduling in cloud computing. Further, detailed descriptions of various task scheduling algorithms are illustrated for the cloud computing by [19]. Tabak, et al. [20] present a newly anticipated Min–min algorithm is combined with Max–min and Sufferage algorithm to reduces the execution time without affecting the quality of service. However, these previous methods easily stuck in local point because of the task scheduling problem is considered as a multi-modal problem. Therefore, the meta-heuristic can be used to avoid this limitation. The reason for using meta-heuristic (MH) techniques, since they are consist of simplicity, flexibility and ergodicity. Most MH algorithms are simple, easy to deploy and comparatively less complex. These algorithms are flexible to cover a comprehensive range of optimization problems which cannot be tackle by classic algorithms. Ergodicity means MH algorithms can find multi-modal search spaces with adequate variety and avoiding local optima at the same time. The current research results [21–24] shows that MH algorithms can provide efficient scheduling results than traditional scheduling algorithms. The MH approach [25] can be categorized into two ways such as bio-inspired (BI) and swarm intelligence (SI)-based MH. The bio-inspired algorithms such as imperialism competitive algorithm (ICA) [26], Memetic algorithm (MA) [27] and Lion algorithm (LA) [28] are discussed in the task scheduling domain in cloud computing. A genetic algorithm is used for various kind of the task scheduling problems [29]. Keshanchi et al. [30], proposed an improved genetic algorithm with a heuristic-based HEFT named as N-GA used for static task scheduling in the cloud. Two-StageTask Scheduling Problem in Data-Centers solved by Johnson’s-rulebased GA (JRGA) Algorithm [31]. In this model GA was used to assign tasks to suitable machines, and for decoding method to determine the correct order in which tasks are managed on each machine by the Johnson’s Rule. Akbari et al. [32], improves the performance of genetic algorithm through significant changes and overview of new operators that assure sample diversity and reliable coverage of the whole space. For task scheduling, the memetic algorithm used in [33,34], hill climbing and tabu search. Task scheduling decision is more complex in the heterogeneous cloud environment. Therefore, cloud scheduling methods that are based on SI techniques, for example, Ant Colony Optimization (ACO) [35,36], Artificial Bee Colony (ABC) [37,38] and Particle Swarm Optimization (PSO) [39,40] are suitable. In order to enhance the task scheduling for heterogeneous platform and reduce energy
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
consumption ACO based task scheduling implemented for realtime sensor node [41]. Furthermore a lot of researches implement [35,42,43] ACO based task scheduling for green cloud computing platform. An efficient task scheduling is always needed for optimum resource utilization to overcome the situation of over or under resource utilization. Through [44], they proposed the cuckoo search-based task scheduling method for efficient task scheduling for minimize QoS response time. The task scheduling algorithm based on whale optimization algorithm [45] can efficiently schedule the tasks to the VM while reducing the makespan and cost. Therefore, recently, the majority of the proposed task scheduling algorithms have focused on hybrid meta-heuristic methods for task scheduling. In [46], they presented a hybrid meta-heuristic method by using HEFT (Heterogeneous Earliest Finish Time) algorithm combining PSO and GA. The existing methods are not suitable for many scenarios, also, the task scheduling problem is considered as NP-complete problem. In addition, according to the No-Free-Lunch (NFL) theorem that states that the same algorithm cannot solve all problems with the same accuracy [47]. Therefore, [9] provides an alternative method to solve the task scheduling based on moth search algorithm. In general, the proposed algorithm depends on improving the performance of MSA algorithm using the operators of DE and it is called MSDE algorithm. It starts by generating a random integer population in which each solution represents the virtual machines where the tasks will be allocated. Then the fitness function for each solution is computed where in this paper the makespan is used as the main metric (fitness function). It is defined as the overall completion time of all the tasks that is optimally scheduled in the VMs. Thereafter, the population will divided into two subpopulations, the first one will fly directly toward the source of light. Meanwhile, the second one will be updated using either the Levy flight or DE according to the probability of each fitness function of the solutions belong to this subpopulation. Then the fitness function is computed again and the previous steps are repeated until the stop conditions are reached. In order to evaluate the performance of the proposed method a set of experimental series are performed. The main objective of the first experimental series is to assess the performance of the proposed algorithm to find the global solution of a set of benchmark functions CEC2005 [48]. Meanwhile, the second experimental series are performed to solve the task scheduling problem with minimum makespan in cloud computing using synthetic and real trace data. Comparisons with other algorithms refer to the high superiority of the proposed MSDE algorithm over the other algorithms. The rest of the paper is organized as follows. Section 3 introduces the preliminaries about Task Scheduling problem, the Moth search algorithm, and Differential Evolution. The proposed MSDE method is introduced in Section 4. Meanwhile, Section 5 presented the experiments and comparisons. Finally Section 6 presents the conclusions. 3. Preliminaries This section introduces the basic concepts of the task scheduling problem, moth search algorithm (MSA), and the differential evolution (DE). 3.1. Task scheduling problem The cloud task scheduling problem can be defined as how to schedule and allocate various tasks to numerous virtual machines (VMs) practically and make all the tasks accomplished in a short execution time period. Considering the cloud system (CS) which
3
consists of Npm physical machines (PM) and each physical machine consists of Nv m virtual machines (VMs). CS = [PM1 , PM2 , . . . , PMi , . . . , PMNpm ]
(1)
where PMi (i = 1, . . . ., Npm ) denoted the PMs presented in the cloud and it can represent as: PMi = [VM1 , VM2 , . . . , VMk , . . . , VMNvm ]
(2)
where VMk , k = 1, 2, . . . , Nv m represents the kth virtual machine. Nv m is the number of virtual machines and VMk denotes the kth virtual machine resource in the cloud environment. The feature of VMk is defined as: VMk = [SIDVk , MIPSk ]
(3)
Where SIDVk is the serial number of virtual machines and MIPSk is the information processing speed of virtual machines (unit: millions-of-instructions-per-second, mips). T = [Task1 , Task2 , . . . , Taskl , . . . , TaskNtsk ]
(4)
where Ntsk is the number of tasks l submitted by the users. Taskl represents the lth task in the task sequence. The feature of Taskl is defined as: Taskl = [SIDTl , task_lengthl , ECTl , PIl ]
(5)
Where SIDTl is the serial number of tasks and task_lengthl is the instruction length of the task (unit: million instruction). Time ECTl refers to the expected completion time for the Taskl ; PIl refers to the task priority the number of tasks for Ntsk , the number of virtual machines for Nv m . The Expect Complete Time (ECT) matrix of size Ntsk × Nv m denotes the execution time required to run the task on each computing resource (virtual machine) that can be calculated by formula: ECT
⎡
ECT1,1 ⎢ ECT2,1
=⎣
ECT1,2 ECT2,2
...
...
ECTNtsk ,1
ECTNtsk ,2
ECT1,3 ECT2,3
...
ECTNtsk ,3
ECT1,4 ECT2,4
...
ECTNtsk ,4
... ... ... ...
⎤
ECT1,Nvm ECT2,Nvm ⎥
...
⎦
ECTNtsk ,Nvm (6)
The main objective functions is to reduce the makespan by locating the best set of tasks to be executed on VMs. ECTlk =
task_lengthl MIPSk
, k = 1, 2, 3, . . . , Nvm , l = 1, 2, 3, . . . , Ntsk (7)
where ECTlk refers to the required execution time of lth task on kth VM where Nv m is the number of VMs and Ntsk is the number of tasks. The fitness value can be defined as [49]: fit = max{ECTlk },
∀l ∈ [1, Ntsk ] mapped to kth VM , k = 1, 2, 3, . . . , Nvm
(8)
3.2. Moth search algorithm The mathematical model of the moth search algorithm (MSA) [9] is given in this section. Where the MSA simulates the behavior of the moths in natural by using the phototaxis and Levy flights which represents the exploration and exploitation of the algorithm, respectively. The MSA starts by generating a random population of moths (solutions) and then evaluate the quality of each moth using the fitness function. The moths that are nearest to the best moth with fly around it through using the Levy flights as in the following equation [9]: xti +1 = xti +
Smax t2
L(s),
(9)
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
4
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
where xti represents the position of the ith moth at iteration t. While Smax represents the maximum walk step and L(s) represents the step drawn from Levy flights, using parameter s, that defined using the gamma function Γ as [9]: L(s) =
(β − 1)Γ (β − 1)sin(
π (β−1) 2
π sβ
)
, s ≥ 0,
(10)
where β = 1.5 represents the parameter of Levy distribution [9]. Moreover, the moths that are far away from the source of the light they will fly in line towards this source or the towards the final position that is beyond the that source according to probability (Probs ). xki +1 =
λ × (xi + φ × (xb − xi )), if Probs ≤ 0.5 λ × (xi + φ1 × (xb − xi )), other w ise
{
,
(11)
where xb represents the best moth position, while λ and φ are the scale and acceleration factor respectively. Algorithm 1: Moth search algorithm (MSA) [9]. 1: Input: The Number of solutions N, maximum number of iterations tmax , the dimension dim
2: Output: The best solution xb . 3: Initialize the maximum walk step Smax , the index β , and acceleration factor φ . 4: Generate a random population X with size N and dimension dim. 5: Compute the fitness function for each solution xi ∈ X , i = 1, 2, ..., N. 6: while (t < tmax ) do 7: Sort the moths based on the fitness function values. 8: for i = 1 : N /2 do 9: Update xi using Levy flights as in Equation (9), 10: Compute the fitness function of xi . 11: end for 12: for i = N /2 + 1 : N do 13: Update xi using Eq. (11). 14: Compute the fitness function of xi . 15: end for 16: t = t + 1. 17: end while
xi = round(li + rand × (ui − li )), i = 1, 2, . . . , Ntsk
(12)
where γ represents the scaling factor ri , i = 1, 2, 3 are mutually exclusive random integers belong to [1, N ], t is the current iteration. Thereafter, the DE used the crossover operator to generate an offspring solution utij , j = 1, 2, . . . , Ntsk based on the mutant solution vijt , and the current solution xtij using the following equation:
{ =
vijt
xtij
if η≤ CP |j = jr other w ise
(13)
where jr ∈ [1, 2, . . . , dim] represent random selected index, the CP ∈ [0, 1] is the crossover probability, and η ∈ [0, 1] is random number. The selection operator is used to select the best solution from the offspring and the current solution based on the fitness function to pass to the next iterations. This operator is defined as: xti +1 =
{
uti xti
( )
if fit(uti )≤ fit xti other w ise
In this section, the moth search algorithm based on DE is proposed for solving the task scheduling problem in cloud computing. Where, the DE algorithm is used as local search method to enhance the exploitation ability of MSA. The framework of the proposed MSDE consists of two phases (Fig. 1) as discussed in the following subsections. In general, the MSDE begins by receiving the input parameters such as the number of cloudlet Ntsk , number of solutions N, number of virtual machines Nv m , number of physical machines Npm , and maximum number of iterations tmax . Thereafter, the MSDE generating a random integer population X of size N and dimension Ntsk , where the value of each solution xi are taken from the interval [1, Nv m ]. Then the fitness function fit for each solution is computed and the best solution xb is determined. Meanwhile, the current population X will be updated in the second phase through using either the MSA or DE algorithm and this updating still until reach the stopping conditions. The full description of each phase will be given in the following subsections with more details.
In this phase, the MSDE generates a random integer population X with size N and the dimension of each solution equal to the number of tasks (Ntsk ) (i.e, xi = [xi,1 , xi,2 , . . . , xi,Ntsk ]). The value of xi,k , k = 1, . . . , Ntsk is selected from [1, Nv m ] using the following equation:
The basic concepts of the Differential evolution (DE) is introduced in this section [50,51]. In general, the DE algorithm used three operators to improve the population, these operators are mutation, crossover, and selection. Considering the population X with size N is generated and the process of updating it using the three operators can be discussed as the following. The mutation operator is used to generate a mutant solution through combining a random solution vi with the difference between two other random solutions as in Eq. (12) [10]:
utij
4. The proposed approach
4.1. Initial phase
3.3. Differential evolution
vit = xtr1 + γ × (xtr2 − xtr3 ),
where fit(u) is the objective function value of the trial vector u.
(14)
(15)
where round(.) represents a function that used to round the value to the nearest whole number. rand is a random number generated from the interval [0,1]. li and ui represent the lower and upper boundary of search space (here li = 1 and ui = Nv m ). An example for generating xi , if we consider there exits 10 tasks and 5 virtual machines then the xi can be represented by xi = [3 1 4 5 2 4 2 1 4 5], where the first value in xi is 3, refers to the first task will be allocated in the 3th virtual machine. 4.2. Updating phase This phase starts by choosing the best solution xb according to the best fitness function fitb . Then the current population X will be divided into two half to represent the moths that fly directly toward the source of light xb and those will fly around the xb in the form of Levy flights. This division will be performed based on the fitness function values similar to the classical MSA [9]. Since the DE is used to improve the exploitation ability of the MSA, so, it will be used in the second half. However, to determine whether the current solution in this half will be updated using DE or MSA, the probability selection Pri1 for each solution xi1 , i1 = [1, N /2] is computed using the following equation: fiti1 Pri1 = ∑N i1=1 fiti1
(16)
According to the value of Pri1 the current solution may be updated according to the DE or MSA, where if Pri1 > ϵ then the MSA is used; otherwise, DE is used. After updating the solutions in the current population, they convert to the integer value through using the round function (note: when the proposed MSDE method used to solve the global optimization problem the previous step is ignored). The previous steps, of the updating phase, are repeated until the terminal conditions are met. Here, the terminal condition is the maximum number of iterations. Finally, the output is best
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
5
Fig. 1. The proposed MSDE method for cloud Task scheduling.
solution that represents the optimal allocation for tasks along the VMs. The pseudocode of the proposed MSDE method contains the rest implementation parts is given in Algorithm 2. Where t and tmax represent the current iteration and the maximum number of iterations, respectively.
According to the complexity of QS (OQS ) that given in worst case by O(N 2 ) and in best case by O(NlogN). Also, the complexity of the DE algorithm depends on the three operations mutation, crossover, and selection which can be represented as O(DE) = O((N × dim + N × dim + N) × tmax )
(17)
Therefore, the complexity of MSDE is given as the following: Algorithm 2: Cloud Task scheduling Based on MSDE. 1: Input: The infrastructure of datacenter, the size of population N, the number of tasks Ntsk , and maximum number of generations tmax , number of virtual machines Nv m . 2: Output: The best solution xb . 3: Initialize the parameter values of the MSA and DE algorithms (as in initial stage). 4: Generate a random integer population X ∈ RN ×Ntsk (as in initial stage). 5: Compute the fitness function for each solution. 6: t = 1 7: repeat 8: Sorting the fitness function and select the best solution xb based on the best fitness function fitb . 9: Divide X into two half. 10: for i1=1:N/2 do 11: Compute the probability Pri1 using Eq. (16). 12: if Pri1 ≤ ϵ then 13: Update xi1 using the operators of DE. 14: else 15: Update xi1 using Eq. (9). 16: end if 17: end for 18: for i1=N/2+1:N do 19: Update xi2 using Eq. (11). 20: end for 21: Compute the fitness function for each solution xi , i = 1, ..., N. 22: t = t + 1. 23: until stopping criterion is not met
4.3. Complexity of proposed method In this section, the complexity of the proposed method is discussed, in which it depends on some factors Such as: (1) The total size of the population (N), (2) The total number of iterations (tmax ), (3) The total number of variables of the given problem dim, (4) The algorithm used to sort the individual based on the fitness function, in this study the Quicksort (QS) is used.
O(MSDE) = O((O(OQS ) +
N 2
× dim + δ1 × dim + δ2 × dim
+ δ2 × dim + δ2 )tmax ) O(MSDE) = O((O(OQS ) +
N 2
× dim + δ1 × dim + 2δ2 × dim
+ δ2 ) × tmax ) O(MSDE) = O((O(OQS ) + (
(18)
(19) N 2
+ δ1 + δ2 ) × dim) × tmax )
(20)
Therefore,
O(MSDE) =
⎧ N ⎪ ⎪ ⎪ O((Nlog(N) + ( + δ1 + δ2 ) × dim) × tmax ) ⎪ 2 ⎪ ⎪ ⎨ In worst case of Quicksort N ⎪ ⎪ ⎪ O((N 2 + ( + δ1 + δ2 ) × dim) × tmax ) ⎪ ⎪ 2 ⎪ ⎩ In best case of Quicksort
(21) where δ1 , and δ2 represent the number of solutions in the first half of population updated by SSA and DE, respectively. 5. Experiments and discussion In this section, the performance of proposed task scheduling method is evaluated. Since, the proposed MSDE method depends on the improved MSA using the DE algorithm, so it is necessary to assess its performance as global optimization method and as task scheduling algorithm. Based on the properties of the proposed MSDE that benefits from the MSA and DE algorithm, it is expected that the convergence of the proposed MSDE is better than the traditional MSA algorithm. As well as, the proposed MSDE algorithm as a task scheduling algorithm can provide results better than the other traditional and, also, meta-heuristic algorithms task scheduling models.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
6
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
Table 1 The definition of CEC2005 Benchmark. ID
Equation
F1
f (x) =
∑n
F2
f (x) =
∑n
F3
f (x) =
F4
f (x) = maxi {|xi |, 1 ⩽ i ⩽ n}
2 i=1 xi
n i=1 |xi |+Πi=1 |xi | ∑n ∑i 2 i=1 (
j−1
xi )
Lower
Upper
Dimension
Type
−100
100
30
Unimodal
−10
10
30
Unimodal
−100
100
30
Unimodal
−100
100
30
Unimodal
F5
f (x) =
∑n−1
−30
30
30
Unimodal
F6
f (x) =
∑n
−100
100
30
Unimodal
F7
f (x) =
∑n
−1.28
1.28
30
Unimodal
F8 F9 F10 F11 F12
F13 F14 F15
i=1
[100(xi+1 −
x2i )2
2
+ (xi − 1) ]
2 i=1 ([xi + 0.5]) 4 i=1 ixi + random[0, 1]
√ f (x) = i=1 −xi sin( |xi |) ∑n 2 f (x) = i=1 [xi − 10cos(2π xi ) + 10] √ ∑ ∑n n 1 2 f (x) = −20exp(−0.2 1n i=1 xi ) − exp( n i=1 cos(2π xi )) + 20 + e ∑n 2 x 1 n √i ) + 1 f (x) = 4000 x − Π cos( i=1 i=1 i i ∑n−1 ∑n f (x) = πn {10sin2 (π y1 ) + i=1 (yi − 1)2 [1 + 10sin2 (π yi+1 )] + (yn − 1)2 } + i=1 u(xi , 10, 100, 4) ⎧ ⎪ ⎪k(xi − a)m , ⎪ xi > a ⎪ ⎨ u(xi , a, k, m) = 0, −a ⩽ xi ⩽ a ⎪ ⎪ ⎪ ⎪ ⎩ k(−xi − a)m , xi < −a ∑n 2 f∑ (x) = 0.1{sin (3π x1 ) + i=1 (xi − 1)2 [1 + sin2 (3π xi + 1)] + (xn − 1)2 [1 + sin2 (2π xn )]} + n i=1 u(xi , 5, 100, 4) ∑ 1 1 −1 f (x) = ( 500 + 25 j=1 j+∑2 (x −a )6 ) ij i= 1 i ∑11 x1 (b2i +bi x2 ) 2 f (x) = ( i=1 [ai − 2 ] ) b +b x +x
∑n
(4x21
− 2.
F16
f (x) =
F17
f (x) = (x2 −
1x41
5.1 4π 2
i
i 3
+
1 6 x 3 1
x21 +
500
30
Multimodal
5.12
30
Multimodal
−32
32
30
Multimodal
−600
600
30
Multimodal
−50
50
30
Multimodal
−50
50
30
Multimodal
−65.536
65.536
2
Multimodal
−5
5
4
Multimodal
4x42 )
−5
5
2
Multimodal
1 8π
−5
5
2
Multimodal
−2
2
2
Multimodal
1
3
3
Multimodal
0
1
6
Multimodal
4
+ x1 x2 −
x22
+
5
x − 6)2 + 10(1 − π 1 2
3x21
)cosx1 + 10
− 14x2 + 6x1 x2 +
3x22 )
F18
f (x) = [1 + (x1 + x2 + 1) (19 − 14x1 +
F19
×[30 + (2x1 − 3x2 ) × (18 − 32x1 + 12x21 + 48x2 − 36x1 x2 + 27x22 )] ∑4 ∑3 f (x) = − i=1 ci exp(− j=1 aij (xj − pij )2 ) ∑4 ∑6 f (x) = − i=1 ci exp(− j=1 aij (xj − pij )2 )
F20
−500 −5.12
]
Table 2 Measure definition. Measure
Definition
Formula
Average
Value that represent the central value of the fitness function values
1 NR
Standard deviation (STD)
Measures of dispersion of the fitness function values from its average
In order to validated these expectations, a set of three experimental series are performed. The first experimental series aims to assess the performance of the proposed algorithm to find the global solution of a set of benchmark functions CEC2005 [48]. Meanwhile, the second experimental is performed to solve the task scheduling problem in cloud computing for synthetic data. The task scheduling problem for real trace data experiment presented in third experiment series. 5.1. Experimental series 1: Classical benchmark functions In this experimental, the number of moths N are set to 30 with dimension of the given problem and the maximum number of iterations is 1000. Also, a random population is generated in the specified domain of each problem (i.e, the round function not used). The proposed algorithm is compared with the traditional MSA and for the statistical analysis, each algorithm is performed 30 independent runs over each benchmark problem. The structure of
√
∑NR
i=1
1 NR−1
Fi
∑NR
i=1
(Fi − MeanF )2 ,
this experimental series is organized, the definition of the benchmark function is given in Section 5.1.1. Meanwhile, Section 5.1.2 presents the performance measures to evaluate the quality of each solution. The results and discussion are introduced in Section 5.1.3. 5.1.1. The description of functions A set of 20 functions are selected from the CEC2005 benchmark functions [48], where the basic information about the each function is given Table 1. These functions are categorized into two classes unimodal (F1–F7) and multimodal (F8–F20), where the unimodal is used to assess convergence rate and the precision of the algorithm. Meanwhile, multimodal type is used to evaluate the performance of the algorithm to avoid from attractive toward stagnation point, also, this type has more than one extreme solution in the given search space. 5.1.2. Measures of the performance The performance of the algorithm is evaluated through using a set of measures such as average, and standard deviation of the
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx Table 3 The Comparison results of the two algorithms. Function
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20
Average
7
Table 5 The parameters settings for all algorithms.
Time
STD
MSDE
MSA
MSDE
MSA
MSDE
MSA
1.13E−49 1.88E−22 8.40E−14 8.20E−10 2.78E+01 5.37E−01 2.01E−02 −6.56E+05 5.68E−15 3.00E−14 0.00E+00 4.33E−02 1.02E+00 8.54E+00 1.34E+00 −1.03E+00 3.98E−01 2.95E+01 −3.62E+00 −3.32E+00
4.24E−11 1.59E−05 4.51E−10 9.37E−03 2.78E+01 7.36E−01 6.07E−01 −1.43E+06 1.06E−08 4.73E−06 7.18E−07 1.24E−01 8.43E−01 8.87E+00 6.03E+00 −1.03E+00 3.98E−01 7.50E+00 −3.86E+00 −3.32E+00
0.94 0.56 1.10 0.50 0.55 0.50 0.62 0.51 0.61 0.67 0.55 0.50 0.52 0.57 0.91 0.91 0.56 0.49 0.52 0.56
1.11 1.10 1.71 1.07 1.03 0.95 1.06 1.12 1.23 1.30 0.97 1.06 1.10 1.12 1.44 1.40 1.04 1.09 1.07 1.20
6.12E−49 5.67E−22 4.23E−13 1.35E−09 1.79E−01 3.03E−01 7.87E−02 2.37E+06 1.73E−14 2.53E−14 0.00E+00 2.60E−02 3.75E−01 4.13E+00 3.68E+00 5.67E−16 1.71E−04 3.21E+01 1.33E+00 3.34E−13
3.07E−11 1.03E−05 4.46E−10 5.00E−02 1.82E−01 1.10E+00 1.10E+00 6.19E+06 1.10E−08 1.66E−06 1.49E−06 3.64E−01 8.80E−01 4.52E+00 5.82E+00 3.72E−14 4.46E−04 1.02E+01 9.97E−14 1.95E−11
fitness function which defined in Table 2. Where NR and Fi represent the total number of runs and the fitness value at the ith run. 5.1.3. Results and discussion The comparison results between the traditional MSA and the proposed MSDE algorithm are given in Table 3 and Figs. 2–5. From these results, it can be observed that the proposed MSDE algorithm is better than the MSA in terms of performance measures. For example, according to the average and the standard deviation of the fitness function, the proposed MSDE achieves lower value in all functions except, F8, F13, F18, and F19 where MSA is the better. However, for F13, the proposed algorithm is convergence to the best solution faster than MSA as in Fig. 4(a). Moreover, from Table 3, we observed that the CPU time required by the proposed MSDE algorithm to find the optimal solution for the given problem is smaller than the CPU time of the MSA. 5.2. Experimental series 2: Test the effect of random value ϵ In this experimental, the performance of the proposed method is evaluated with fixed number of the ϵ using the first seven functions (F1–F7) with the same parameters in the previous experimental. In which three values are selected ϵ = 0.3, 0.5 and 0.8. The results of the performance of the proposed MSDE at those values are given in Table 4, from this table it can be observed, in general, that ϵ = 0.8 is better than the other two values. Where in terms of the average of the fitness function value the ϵ = 0.8 has the smallest value in three functions (F1, F2, F4), followed by ϵ = 0.5 which has best value in two functions (i.e., F3, F6) while ϵ = 0.3 achieves the best value only on single function F7. Based on the value of STD, it can be observed that the proposed method at ϵ = 0.8 is better at the seven functions except at F3, F6 where
Algorithm
Parameters
Value
MOMVO
a
2
PSO
Maximum Inertia weight Minimum Inertia weight Maximum velocity Minimum velocity Cognitive coefficient Cognitive coefficient
0.9 0.4 1.0 −1.0 1.429 1.429
a b l maxStepSize goldenRatio maxStepSize goldenRatio mutation scale factor crossover constant
[−2, 0] 1 [−1, 1] 1√ ( 5 − 1)/2 1√ ( 5 − 1)/2 0.5 0.3
WOA
MSA MSDE
ϵ = 0.5 makes the MSDE is better. In addition, the CPU time(s) taken by the proposed MSDE at ϵ = 0.3 is the shortest time. Moreover, by comparing the results of the seven functions that given in Table 4 with those in Table 3 it can be concluded that the results in Table 3 is better than results in Table 4 in terms of the average, and STD, CPU time(s). This indicates that it is better to generate the ϵ value randomly in the interval of maximum and minimum of the probability (Pri1 ) than to assign to it fixed value. 5.3. Experimental series 3: Task scheduling in synthetic workload models In this experiment, we used CloudSim 3.0.3 [52] to implemented the algorithms. We have evaluated the performance of makespan and compared with existing meta-heuristics techniques such as PSO [39,40,53], WOA [54] and MSA [9], and heuristics techniques such as SJF and RR. The parameters of each algorithm are given Table 5. The Table 6 shows the cloudsim experimental settings. To present the scalability of the proposed algorithm in terms of the number of tasks, we vary the number of cloud tasks from 100 to 600 in comparison with other algorithms. In addition, to evaluate the performance of the proposed MSDE algorithm as task scheduling approach the following degree of imbalance is used in addition to the makespan. The degree of imbalance is defined as in the following equation: DI =
Tmax − Tmin
(22)
Tav g
where Tav g , Tmin and Tmax represent the average, minimum and maximum of the total execution times, respectively, among all VMs. 5.3.1. Results and discussion The comparison results between the proposed algorithm and the other algorithms (PSO, WOA, MSA, SJF and RR) are given in
Table 4 The results of effect of ϵ on the performance of MSDE algorithm. Function
F1 F2 F3 F4 F5 F6 F7
Average
STD
Time
0.3
0.5
0.8
0.3
0.5
0.8
0.3
0.5
0.8
3.49E−18 2.80E−08 4.07E−12 1.47E−07 2.77E+01 3.20E−01 1.50E−04
4.36E−17 7.60E−10 1.09E−12 1.03E−07 2.77E+01 1.88E−01 2.37E−04
1.40E−20 2.69E−11 1.11E−12 5.14E−08 2.77E+01 5.37E−01 1.57E−04
5.85E−18 1.18E−08 2.51E−12 6.12E−08 1.90E−01 1.61E−01 1.01E−04
6.07E−17 7.05E−10 5.29E−13 1.85E−08 2.16E−01 1.23E−01 2.22E−04
2.17E−20 2.83E−11 7.22E−13 7.76E−09 1.76E−01 9.57E−01 8.76E−05
0.99 1.08 1.55 0.83 0.68 0.66 0.96
1.45 1.12 1.64 0.88 0.68 0.66 1.02
1.16 1.64 2.57 1.18 0.69 0.90 0.92
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
8
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
Fig. 2. The convergence curves for the CEC2005 fitness functions F1–F6.
Table 7 and Fig. 6. Where Fig. 6 shows the comparison of the proposed algorithm with other algorithms in terms of the average makespan value. From Fig. 6, it can be concluded that the average of makespan value is gradually increased with increasing the size of tasks. Where the average makespan value of meta-heuristics algorithms is better than traditional heuristics algorithm. Meanwhile, the average of the makespan of the proposed MSDE algorithm is less than the other meta-heuristic algorithms (i.e., WOA, MSA and PSO). This indicates the high performance of the proposed algorithm Moreover, the improvement of MSDE over others algorithm is summarized in Table 7, it can be seen that at size of tasks is 100, the performance gap between MSDE and PSO, WOA and MSA is around
16.35%, 64.25%, 66.30%, respectively. Meanwhile, at 300 tasks it gets the results as 4.02%, 32.67%, 34.17% for PSO, WOA and MSA, respectively. In larger size of tasks such as 600 tasks illustrates the performance gap between MSDE and PSO, WOA and MSA as 8.13%, 18.32%,17.60%, respectively. The proposed algorithm gives slight improvements in makespan when compared to meta-heuristics in different distribution of tasks. In addition, at task 100, the improvement of MSDE over heuristics algorithms RR and SJF are 90.27% and 82.30% and when it reaches to 600 tasks the improvement also 30.40% and 32% compared to MSDE. It is observed that there is a huge improvement when it is compared with heuristics (RR and SJF). Moreover, the CPU time(s) that needed by each algorithm to
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
9
Fig. 3. The convergence curves for the CEC2005 fitness functions F7–F12.
perform its task is given in Table 8. It can be observed from this table that MSDE takes the shortest time than other algorithms. The comparison results of degree imbalance (DI) between the proposed MSDE algorithm and the other algorithms (PSO, WOA, MSA, SJF and RR) are given in Table 9. It can be seen that the proposed MSDE algorithm can achieve better system load balance than the others. Also, the meta-heuristic method are better than the traditional methods (i.e., SJF, and RR)
5.4. Experimental series 4: Task scheduling in real work load traces The best approach to evaluate task scheduling strategies is to apply realistic cloudlets (task) mixes, gained from large-scale supercomputing sites. In this experiment, we evaluate the metaheuristic algorithms by simulations using the CloudSim to create a simulated cloud architecture consisted of identical heterogeneous VMs, physical machines, and with thousands of CloudSim’s cloudlets. The information of cloudlets and VMs is extracted from a real log-traces (HPC2N Seth log-trace [55]) to model HPC jobs/tasks and NASA Ames iPSC/860 log [56] in Feitelson’s Parallel Workloads Archive (PWA) presented in Table 10.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
10
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
Fig. 4. The convergence curves for the CEC2005 fitness functions F13–F18.
We have evaluated the performance of makespan of the proposed algorithm and compared with existing meta-heuristic techniques such as PSO, WOA and MSA. In this experiment, the heuristics algorithms are not used because it gets high execution time for complete tasks as discussed in the previous experiment. To present the scalability of the proposed algorithm in terms of the number of tasks, we vary the number of cloud tasks from 100 to 2000. The simulation parameters was set as follows: The one data center was created with the default characteristics by CloudSim and two different hosts were created on the data center illustrated in Table 11. Also, ten virtual machines were created and characteristics described in Table 12. The cloudlets were produced from HPC2N which is Sweden standard formatted workload trace log of a high performance
computing. Each row in the workload denoted as a cloudlet, in the first column we get the id of each cloudlet, the length of the cloudlet extracted from the fourth column, and finally from the eighth column we get the number of the requested processing elements. The cloudlets were produced in NASA iPSC which is placed in the Numerical Aerodynamic Simulation (NAS) Systems Division at NASA Ames Research Center and SWF workload trace log of a scientific computing. It consists of three months record of sanitized accounting records for the 128-node iPSC/860. 5.4.1. Results and discussion The comparison results between the proposed MSDE algorithm and the other three algorithms using HPC2N (NASA iPSC) real
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
11
Fig. 5. The convergence curves for the CEC2005 fitness functions F19–F20. Table 7 Improvement of MSDE over other algorithms. PSO RR SJF WOA MSA
100
200
300
400
500
600
16.35% 90.27% 82.30% 64.25% 66.30%
24.17% 86.07% 89.65% 63.74% 71.12%
4.02% 47.67% 56.10% 28.91% 34.17%
3.14% 44.76% 51.83% 22.78% 26.58%
2.62% 37.56% 53.19% 20.76% 21.38%
8.13% 35.91% 50.62% 18.32% 30.61%
Table 8 The CPU time(s) of each algorithm for Synthetic Workload Models.
Fig. 6. The average of makespan of the algorithms using synthetic workload models. Table 6 Cloudsim parameters. Entity
Parameter
Values
Cloudlet
No of cloudlets length
100–600 1000–2000
Virtual machine
RAM MIPS Size bandwidth Policy type VMM Operating system No of CPUs
512 MB 100–1000 10000 1000 Time Shared Xen Linux 1
No of Hosts RAM Storage Bandwidth Policy type No of data center
2 2048 MB 1000000 10000 Time Shared 2
Host
Data center
MSDE DE PSO MSA WOA SJF RR
100
200
300
400
500
600
6267 12907 13539 13463 5161 740 648
7186 23939 24805 24857 8123 1445 1007
12934 36733 36908 36055 12652 1565 1352
16316 47916 48689 48512 17221 1571 1594
21981 60846 61455 61329 23572 2009 1961
22653 73454 72694 72535 23600 2357 2151
Table 9 The comparison between the algorithms based on Degree of Imbalance. MSDE PSO MSA WOA SJF RR
trace are given in Figs. 7–8 and Table 13. Figs. 7(a) and 8(a) show the comparison of average makespan for smaller tasks (100–600) between MSDE, MSA, PSO and WOA using HPC2N and NASA iPSC, respectively. When the number of tasks ranges from 100 to 300, the makespan of MSDE algorithm with others is not much difference except in the case of NASA iPSC there is large difference between
100
200
300
400
500
600
0.8649 1.2773 1.2391 1.0857 1.9636 2.3614
0.9046 1.1988 1.10398 1.1122 2.3206 1.5045
0.9321 0.9916 0.9807 1.0624 1.6627 1.8471
0.8469 0.95644926 0.8432 0.9105 1.8431 1.6592
1.0228 1.0591 0.9633 0.9576 1.7044 1.8805
1.0017 1.0112 0.9010 1.0312 1.7782 2.0024
the proposed MSDE and MSA. As well as, with this small tasks, the proposed algorithm still achieves the better results than the other three algorithm. In addition, when the number of tasks ranges from 400 to 600, the makespan of MSDE was significantly smaller than that of the other algorithms. Moreover, the results of comparing the proposed MSDE algorithm with other algorithm over a larger tasks (1000–2000) are given in Figs. 7(b) and 8(b) for HPC2N and NASA iPSC, respectively. From these figures it can be observed that the proposed MSDE algorithm performs best and archives the minimum makespan.
Table 10 Selected real workloads used for analysis. Source
Duration
Cloudlets (tasks)
Resources (CPUs)
File
HPC2N NASA iPSC
2002–2006 October 1993–December 1993
527371 42264
240 128
HPC2N-2002-1.1-cln.swf NASA-iPSC-1993-3.swf
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
12
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
Fig. 7. The results of the algorithms using HPC2N real trace. Table 11 Characteristics of hosts. Processor MIPS RAM Storage Bandwidth Policy No of Cores
which still needs to be improved and this can be achieved through using suitable method to provide it by good initial population (see Table 15).
Host1
Host2
Intel Core 2 Extreme X6800 27079 MIPS 2 GB 1 TB 10 GB Time shared 2 cores (PEs)
Intel Core i7 Extreme Edition 3960X 177730 MIPS 2 GB 1 TB 10 GB Time shared 6 cores (PEs)
Table 12 Cloudsim parameters. Entity
Parameter
Values
Virtual machine
No of VMs RAM MIPS Size bandwidth Policy type VMM Operating System Processor
10 0.5GB MB 9726 10000 1000 Time Shared Xen Linux Pentium 4 Extreme Edition
That is to say, MSDE algorithm is better than other meta-heuristic algorithm in large scale tasks. In addition, the improvement of MSDE over others algorithms using the real trace is given in Table 13. From this table it can be observed that the results of the proposed MSDE is better than all other algorithms overall the number of tasks in two cases (HPC2N and NASA iPSC). However, the WOA algorithm is better than the MSDE algorithm when the number of tasks is 400 for NASA iPSC real trace. Moreover, the comparison between the proposed method and the other methods in terms of DI are given In Table 14. From this table it can be observed that the proposed MSDE algorithm has the smallest degree of imbalance, while, the other algorithms are competitive together. In addition, the CPU time(s) that required to achieve the performance is given in Table 15. From this table it can be concluded, in general, that the time required by the proposed MSDE algorithm is smaller than the time taken by other algorithms. From all the previous results of experimental series it can be concluded that, the proposed MSDE algorithm provides better results than the traditional MSA especially (also the other algorithms). The reasons for this improvement in the results are the combining the behavior of moth search algorithm with the differential evolution (DE) algorithm. The DE algorithm is used to enhance the ability of the moths to avoid stuck in local points, also the ability of moths to fly directly to the source of light (best solution) increase the ability of exploration the search space. However, the main limitation of the proposed algorithm is the time complexity
6. Conclusion The task scheduling in cloud computing environment is considered to be one of the critical challenges. In the past, many heuristic and meta-heuristics task scheduling strategies have been used in cloud computing. In this paper, we have proposed MSDE algorithm as an alternative method to solve the task scheduling problem in cloud computing environment, this algorithm combining the moth search algorithm (MSA) and with the differential evolution (DE). The algorithm MSA was inspired by the behavior of moths insects and its relationships and it is used as global optimization algorithm. However, its exploitation ability is not good like its exploration ability, so, the DE algorithm, that combines the properties of the genetic algorithm (GA) and the ES algorithm, is used as local search technique, to enhance the exploitation ability of the MSA. The proposed MSDE algorithm was simulated in cloudsim environment and the main objective is to enhance the throughput of the cloud system by minimizing the makespan. The performance analysis of the proposed MSDE is performed using three experimental series; and the results are compared with the results of existing heuristics methods such as SJF and RR, also, with meta-heuristics methods such as PSO, WOA, and MSA. The main objective of the first experimental is to compare the traditional MSA and the proposed MSDE algorithm to solve a set of twenty global optimization problem. From results of this experimental, it can be concluded that the proposed algorithm provides better performance than the traditional algorithm. Furthermore, in second experimental series the performance of the proposed algorithm to solve the cloud task scheduling problem is compared against other heuristic and meta-heuristic algorithms for synthetical data. The best method to evaluate the performance of task scheduling strategies is to apply realistic tasks gained from real workload. Therefore, in the third experiment, we evaluate the performance of MSDE with other meta-heuristics algorithms for real trace data. From the experimental results, we can conclude that the proposed MSDE can efficiently schedule the tasks to the VM while consuming minimum makespan. In future we plan to develop, multi-objective version of MSDE for optimize the task scheduling model in the cloud environment. Study of workflow scheduling using MSDE is another future investigation. In addition, the proposed method can consider many other parameters in Cloud environment such as usage of memory, peak of the demand, and overloads. As well as, improve the time complexity of the proposed method.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
13
Fig. 8. The results of the algorithms using NASA iPSC real trace. Table 13 Improvement of MSDE for real workload HPC2N and NASA iPSC.
HPC2N
PSO WOA MSA
NASA iPSC
PSO WOA MSA
100
200
300
400
500
600
1000
2000
12.96% 7.78% 11.30%
3.73% 7.40% 2.59%
8.43% 5.52% 3.44%
7.48% 6.14% 8.23%
10.29% 9.09% 9.41%
6.27% 8.55% 5.04%
1.41% 2.20% 10.17%
2.40% 2.14% 6.98%
100
200
300
400
500
600
1000
2000
3.59% 2.67% 1.13%
7.86% 10.66% 22.20%
10.19% 1.58% 25.51%
5.06% −3.16% 6.42%
2.99% 6.06% 11.77%
7.56% 9.42% 20.72%
0.64% 0.75% 7.45%
7.65% 2.65% 8.52
Table 14 Degree of imbalance values for HPC2N and NASA iPSC. 100
200
300
400
500
600
1000
2000
HPC2N
MSDE MSA WOA PSO
0.939974 1.195719 1.135594 0.945114
1.084389 1.166196 1.123422 1.160564
0.979446 1.117778 1.115419 1.027525
0.839467 0.876748 1.032229 0.946986
0.917298 0.974589 1.03234 1.086521
0.951177 0.969259 1.018922 0.969376
1.01822 1.004289 1.031351 1.146866
0.971754 1.020463 1.042991 0.98665
100
200
300
400
500
600
1000
2000
NASA iPSC
MSDE MSA WOA PSO
0.972773 0.998946 1.001338 0.974118
1.138444 0.945147 1.345072 1.375412
0.905947 1.075172 1.060444 1.051463
0.878397 1.001693 1.098972 1.050034
0.942521 1.00815 1.331073 1.077579
0.983239 1.119014 1.270371 1.097044
1.040253 0.943819 1.086164 1.013558
1.011911 1.144984 0.991087 0.974118
References
Table 15 The CPU time(s) of each algorithm for real trace. NASA iPSC
MSDE PSO MSA WOA
100
200
300
400
500
600
1000
2000
2879 3203 3257 3602
4847 4755 5191 5916
9912 7286 8049 7433
15670 10716 11981 10314
22549 14122 14566 14984
30939 19082 24068 21864
57953 41893 56505 47172
155596 343155 269250 262878
100
200
300
400
500
600
1000
2000
4049 3711 2491 3049
6715 6197 4864 5528
10295 11464 7959 8358
15715 17022 12051 14282
21555 24038 18999 19452
24035 31759 26063 24441
88937 75919 88024 65209
352977 160535 506215 447828
HPCA
MSDE PSO MSA WOA
Acknowledgments
This work was supported by the National Key Research and Development Program of China (Grant No. 2017YFB1402203), Science & Technology Cooperation Program of Henan Province (No. 152106000048), Hubei Provincial Natural Science Foundation of China (Grant No. 2017CFA012), and the Key Technical Innovation Project of Hubei Provence of China (Grant No. 2017AAA122).
[1] M. Mishra, A. Das, P. Kulkarni, A. Sahoo, Dynamic resource management using virtual machine migrations, IEEE Commun. Mag. 50 (9) (2012) 34–40. [2] D. Kapil, E.S. Pilli, R.C. Joshi, Live virtual machine migration techniques: Survey and research challenges, in: Advance Computing Conference, 2013, pp. 963– 969. [3] K. Li, H. Zheng, J. Wu, Migration-based virtual machine placement in cloud systems, in: IEEE International Conference on Cloud Networking, 2014, pp. 83–90. [4] F. De la Prieta, S. Rodríguez, J. Bajo, J.M. Corchado, A multiagent system for resource distribution into a Cloud Computing environment, in: International Conference on Practical Applications of Agents and Multi-Agent Systems, Springer, 2013, pp. 37–48. [5] F. De la Prieta, J. Bajo, S. Rodríguez, J.M. Corchado, MAS-based self-adaptive architecture for controlling and monitoring Cloud platforms, J. Ambient. Intell. Humaniz. Comput. 8 (2) (2017) 213–221. [6] C.W. Tsai, W.C. Huang, M.H. Chiang, M.C. Chiang, A hyper-heuristic scheduling algorithm for cloud, IEEE Trans. Cloud Comput. 2 (2) (2014) 236–250. [7] F. Juarez, J. Ejarque, R.M. Badia, Dynamic energy-aware scheduling for parallel task-based application in cloud computing, Future Gener. Comput. Syst. 78 (2018) 257–271. [8] D. Hazra, A. Roy, S. Midya, K. Majumder, Distributed task scheduling in cloud platform: A survey, in: Smart Computing and Informatics, Springer, 2018, pp. 183–191. [9] G.-G. Wang, Moth search algorithm: A bio-inspired metaheuristic algorithm for global optimization problems, Memet. Comput. (2016) 1–14. [10] R. Storn, K. Price, Differential evolution–A simple and efficient heuristic for global optimization over continuous spaces, J. Global Optim. 11 (4) (1997) 341–359.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.
14
M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al. / Knowledge-Based Systems xxx (xxxx) xxx
[11] S.-Y. Chen, Y.-J. Zheng, X.-L. Xu, H.-F. Ling, A hybrid fireworks optimization method with differential evolution operators, Neurocomputing 148 (19) (2015) 75–82. [12] J. Yazdi, Y.H. Choi, J.H. Kim, Non-dominated sorting harmony search differential evolution (NS-HS-DE): A hybrid algorithm for multi-objective design of water distribution networks, Water 9 (8) (2017) 587. [13] Y. Li, X. Li, Z. Li, Reactive power optimization using hybrid CABC-DE algorithm, Electr. Power Compon. Syst. (2017) 1–10. [14] L. Zhang, L. Liu, X.-S. Yang, Y. Dai, A novel hybrid firefly algorithm for global optimization, PLoS One 11 (9) (2016) e0163230. [15] S.H.H. Madni, M.S.A. Latiff, M. Abdullahi, M.J. Usman, et al., Performance comparison of heuristic algorithms for task scheduling in IaaS cloud computing environment, PLoS One 12 (5) (2017) e0176321. [16] Y. Cao, C.W. Ro, J.W. Yin, Comparison of job scheduling policies in cloud computing, Lect. Notes Electr. Eng. 235 (2013) 81–87. [17] Z.T. He, X.Q. Zhang, H.X. Zhang, Z.W. Xu, Study on new task scheduling strategy in cloud computing environment based on the simulator cloudsim, Adv. Mater. Res. 651 (2013) 829–834. [18] G. Patel, R. Mehta, U. Bhoi, Enhanced load balanced min-min algorithm for static meta task scheduling in cloud computing, Proc. Comput. Sci. 57 (2015) 545–553. [19] S.K. Panda, P.K. Jana, SLA-based task scheduling algorithms for heterogeneous multi-cloud environment, J. Supercomput. 71 (4) (2017) 1–33. [20] E.K. Tabak, B.B. Cambazoglu, C. Aykanat, Improving the performance of independenttask assignment heuristics minmin,maxmin and sufferage, IEEE Trans. Parallel Distrib. Syst. 25 (5) (2014) 1244–1256. [21] C.W. Tsai, J.J.P.C. Rodrigues, Metaheuristic scheduling for cloud: A survey, IEEE Syst. J. 8 (1) (2014) 279–291. [22] M. Kalra, S. Singh, A review of metaheuristic scheduling techniques in cloud computing, Egypt. Inform. J. 16 (3) (2015) 275–295. [23] F. Ramezani, J. Lu, J. Taheri, F.K. Hussain, Evolutionary algorithm-based multiobjective task scheduling optimization model in cloud environments, World Wide Web 18 (6) (2015) 1737–1757. [24] F. Ramezani, J. Lu, J. Taheri, A.Y. Zomaya, A multi-objective load balancing system for cloud environments, Comput. J. 60 (9) (2017) 1316–1337. [25] P. Singh, M. Dutta, N. Aggarwal, A review of task scheduling based on metaheuristics approach in cloud computing, Knowl. Inf. Syst. 52 (1) (2017) 1–51. [26] M. Habibi, N. Jafari, Multi-objective task scheduling in cloud computing using an imperialist competitive algorithm, Int. J. Adv. Comput. Sci. Appl. 7 (5) (2016). [27] S.A. Mirsoleimani, A. Karami, F. Khunjush, A parallel memetic algorithm on GPU to solve the task scheduling problem in heterogeneous environments, 2013, pp. 1181–1188. [28] N. Almezeini, A. Hafez, Task scheduling in cloud computing using lion optimization algorithm, Int. J. Adv. Comput. Sci. Appl. 8 (11) (2017). [29] X. Sheng, Q. Li, Template-based genetic algorithm for QoS-aware task scheduling in cloud computing, in: International Conference on Advanced Cloud and Big Data, 2017, pp. 25–30. [30] B. Keshanchi, A. Souri, N.J. Navimipour, An improved genetic algorithm for task scheduling in the cloud environments using the priority queues: Formal verification, simulation, and statistical testing, J Syst. Softw. 124 (February 2017) (2017) 1–21. [31] Y. Xiong, S. Huang, M. Wu, J. She, K. Jiang, A Johnson’s-Rule-Based genetic algorithm for two-stage-task scheduling problem in data-centers of cloud computing, IEEE Trans. Cloud Comput. (1) (2017) 1–1. [32] M. Akbari, H. Rashidi, S.H. Alizadeh, An Enhanced Genetic Algorithm with New Operators for Task Scheduling in Heterogeneous Computing Systems, vol. 61, 2017. [33] S. Padmavathi, S.M. Shalinie, B.C. Someshwar, T. Sasikumar, Enhanced Memetic Algorithm for Task Scheduling, vol. 6466, 2010, pp. 448–459. [34] S. Padmavathi, S.M. Shalinie, R. Abhilaash, A memetic algorithm based task scheduling considering communication cost on cluster of workstations, Int. J. Adv. Comput. Sci. Appl. 2 (2) (2010) 174–190.
[35] A.A.A. Ari, I. Damakoa, C. Titouna, N. Labraoui, A. Gueroui, Efficient and scalable ACO-based task scheduling for green cloud computing environment, in: IEEE International Conference on Smart Cloud, 2017, pp. 66–71. [36] M. Kaur, M. Agnihotri, Performance evaluation of hybrid GAACO for task scheduling in cloud computing, in: International Conference on Contemporary Computing and Informatics, 2017, pp. 168–172. [37] M. Arsuaga-Ríos, M.A. Vega-Rodríguez, Energy Optimization for Task Scheduling in Distributed Systems by an Artificial Bee Colony Approach, in: Nature and Biologically Inspired Computing, 2014, pp. 127–132. [38] M. Shokouhifar, A. Jalali, Real-time Task Scheduling in Heterogeneous Multiprocessor Systems using Artificial Bee Colony, in: Electrical Engineering, 2015, pp. 1007–1012. [39] X. Zuo, G. Zhang, W. Tan, Self-adaptive learning PSO-based deadline constrained task scheduling for hybrid IaaS cloud, IEEE Trans. Autom. Sci. Eng. 11 (2) (2014) 564–573. [40] R.K. Jena, Multi objective task scheduling in cloud environment using nested PSO framework, Proc. Comput. Sci. 57 (2015) 1219–1227. [41] M. Agarwal, M.S. Srivastava, A Cuckoo Search Algorithm-Based Task Scheduling in Cloud Computing, 2018. [42] P.C. Pendharkar, An ant colony optimization heuristic for constrained task allocation problem, J. Comput. Sci. 7 (2015) 37–47. [43] L. Ding, P. Fan, B. Wen, A task scheduling algorithm for heterogeneous systems using ACO, in: International Symposium on Instrumentation and Measurement, Sensor Network and Automation, 2014, pp. 749–751. [44] M. Agarwal, G.M.S. Srivastava, A Cuckoo Search Algorithm-Based Task Scheduling in Cloud Computing, 2018. [45] K. Sreenu, M. Sreelatha, W-Scheduler: Whale optimization for task scheduling in cloud computing, Clust. Comput. (6) (2017) 1–12. [46] A. Kamalinia, A. Ghaffari, Hybrid task scheduling method for cloud computing by genetic and DE algorithms, Wirel. Pers. Commun. (2017) 1–23. [47] D. Wolpert, W. Macready, No free lunch theorems for optimization, IEEE Trans. Evol. Comput. 1 (1) (1997) 67–82. [48] P. Suganthan, N. Hansen, J. Liang, K. Deb, Y. Chen, A. Auger, S. Tiwari, Problem Definitions and Evaluation Criteria for the CEC 2005 Special Session on Realparameter Optimization, Tech. Rep., Rep. No. 2005, Nanyang Tech. Univ., Singapore and KanGAL, Kanpur Genetic Algorithms Lab., IIT, Kanpur, India, 2005. [49] M. Abdullahi, M.A. Ngadi, S.M. Abdulhamid, Symbiotic organism search optimization based task scheduling in cloud computing environment, Future Gener. Comput. Syst. 56 (2016) 640–650. [50] K. Price, Differential evolution: A fast and simple numerical optimizer, in: Proceedings of North American Fuzzy Information Processing, Berkeley, CA, 1996, pp. 524–527. [51] S. Saha, O. Uryupina, U. Sikdar, A. Ekbal, M. Poesio, Differential evolutionbased feature selection technique for anaphora resolution, Soft Comput. 19 (2015) 2149–2161. [52] R. Buyya, R. Ranjan, R.N. Calheiros, Modeling and simulation of scalable cloud computing environments and the cloudSim toolkit: Challenges and opportunities, in: International Conference on High Performance Computing and Simulation, 2009, pp. 1–11. [53] M. Shahverdy, Z. Mahdavi, A.H. Mahdavi, A. Mirzaee, M. Asgari, Review the use of improved scheduling PSO algorithm in grid computing, in: IEEE International Conference on Communication Software and Networks, 2011, pp. 86–89. [54] S. Mirjalili, A. Lewis, The whale optimization algorithm, Adv. Eng. Softw. 95 (2016) 51–67. [55] D.G. Feitelson, Looking at Data, in: 22nd Intl. Parallel & Distributed Processing Symp. (IPDPS), 2008, http://dx.doi.org/10.1109/IPDPS.2008.4536092. [56] J. Meng, S. McCauley, F. Kaplan, V.J. Leung, A.K. Coskun, Simulation and optimization of HPC job allocation for jointly reducing communication and cooling costs, Sustain. Comput.: Inform. Syst. 5 (2015) http://dx.doi.org/10. 1016/j.suscom.2014.05.002.
Please cite this article as: M.A. Elaziz, S. Xiong, K.P.N. Jayasena et al., Task scheduling in cloud computing based on hybrid moth search algorithm and differential evolution, Knowledge-Based Systems (2019), https://doi.org/10.1016/j.knosys.2019.01.023.