• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    An Effective Cloud Workflow Scheduling Approach Combining PSO and Idle Time Slot-Aware Rules

    2021-04-13 06:56:22YunWangandXingquanZuoSeniorMemberIEEE
    IEEE/CAA Journal of Automatica Sinica 2021年5期

    Yun Wang and Xingquan Zuo, Senior Member, IEEE

    Abstract—Workflow scheduling is a key issue and remains a challenging problem in cloud computing. Faced with the large number of virtual machine (VM) types offered by cloud providers, cloud users need to choose the most appropriate VM type for each task. Multiple task scheduling sequences exist in a workflow application. Different task scheduling sequences have a significant impact on the scheduling performance. It is not easy to determine the most appropriate set of VM types for tasks and the best task scheduling sequence. Besides, the idle time slots on VM instances should be used fully to increase resources’ utilization and save the execution cost of a workflow. This paper considers these three aspects simultaneously and proposes a cloud workflow scheduling approach which combines particle swarm optimization (PSO) and idle time slot-aware rules, to minimize the execution cost of a workflow application under a deadline constraint. A new particle encoding is devised to represent the VM type required by each task and the scheduling sequence of tasks. An idle time slot-aware decoding procedure is proposed to decode a particle into a scheduling solution. To handle tasks’invalid priorities caused by the randomness of PSO, a repair method is used to repair those priorities to produce valid task scheduling sequences. The proposed approach is compared with state-of-the-art cloud workflow scheduling algorithms.Experiments show that the proposed approach outperforms the comparative algorithms in terms of both of the execution cost and the success rate in meeting the deadline.

    I. INTRODUCTION

    IN scientific computing communities, such as astronomy,physics, and bioinformatics, there are many large-scale and complex workflow applications consisting of tasks with data dependencies amongst them [1]. Those applications must be deployed in high-performance distributed computing environments for rapid execution. Cloud computing [2] offers cloud users elastic resources that can be acquired and released on demand. Cloud users pay for the leased resources on a payas-you-go basis. Such flexible resource provisioning and payas-you-go strategy attract enterprises or research institutes to run their workflow applications on clouds at low costs without the need of purchasing and maintaining any infrastructure.

    In cloud computing, IT resources are often encapsulated as virtual machines (VMs). The running VMs are called VM instances. Cloud users usually want to obtain the computation result of a workflow within a given deadline at lower execution cost. Generally, the more computing power a VM has, the higher its price. To balance the execution cost and runtime of a workflow, scheduling the tasks of a workflow onto VM instances [3] is very vital for cloud computing.However, the flexible management of cloud resources and the complex workflow structure makes the cloud workflow scheduling challenging.

    Cloud providers offer various VM types with different configurations (e.g., CPU, memory and disk size, and price)for users to choose. The number of VM types has been increasing. For example, the number of VM types provided by Amazon elastic computing cloud (Amazon EC2) has been recently increased from 8 to more than 35 [4]. Faced with so many VM types, scheduling algorithms need to choose the most appropriate VM type for each task to achieve the lowest cost for the whole workflow. However, when choosing a VM type for a task, current scheduling algorithms typically only consider the VM type that has the cheapest price and can meet the resources needed to complete the task, while ignoring the impact of the chosen VM type on other subsequent tasks. This manner of choosing VM type may encourage subsequent tasks to be scheduled on faster VM instances, thereby increasing the cost of a workflow [5].

    Scheduling algorithms usually assign each task in the order of a task scheduling sequence to a VM instance. The task scheduling sequence has a significant impact on the execution time and cost of a workflow application [6]. For a workflow application, although precedence constraints exist for many tasks, there are many parallel tasks which do not directly have data dependencies with each other. On the premise of keeping the dependencies of tasks, the scheduling order of parallel tasks can be arbitrary. Thus, a workflow application may have lots of different task scheduling sequences. Moreover, the complex workflow structure makes a workflow have an exponential number of different task scheduling sequences.However, usually only a fixed task scheduling sequence is used in current scheduling algorithms, which restricts the search space for obtaining a better solution. It is necessary to determine the most appropriate task scheduling sequence to achieve a scheduling solution with better performance.

    In addition, due to the precedence constraint amongst workflow tasks, idle time slots exist on VM instances. The more idle time slots a VM instance has, the lower its utilization is. Moreover, the billing interval for VM instances is usually set to one hour or one minute by cloud providers,such as Amazon EC2 and Google compute engine cloud. That means even if a VM instance is used for less than one billing period (e.g., one hour), users must pay for the whole hour. If a VM instance has an idle time slot between two running tasks and another task can be run within the slot, scheduling the task to that slot will save cost. It is vital to consider the scheduling of tasks to the idle time slots of VM instances to reduce the workflow’s cost and improve VMs’ utilization.

    In this paper, we propose a new scheduling approach for the deadline constrained cloud workflow scheduling problem,with simultaneous consideration of aforementioned three aspects. This approach, termed HPSO, combines PSO and idle time slots-aware scheduling rules. To be specific, the VM type required by each task and the priority of each task are indicated by a particle in PSO. It means that a particle represents a specific mapping of tasks to VM types and a scheduling sequence of tasks. Idle time slot-aware scheduling rules are proposed to decode a particle into a scheduling solution. Those rules assign each task to a leased VM instance or to a new instance, making full use of idle time slots of VMs.

    The contributions of this paper include:

    1) A new approach for cloud workflow scheduling is proposed, which combines a meta-heuristic (PSO) and heuristic rules (idle time slot-aware scheduling rules).

    2) A particle coding scheme is proposed, which represents the assignment of VM types and scheduling sequences for all tasks in workflow.

    3) A PSO is devised to find the best particle, that is, the most appropriate assignment of VM types for tasks and the best task scheduling sequence, to achieve the best scheduling performance. To avoid infeasible solutions during the search of PSO, a repair method is devised to repair tasks’ invalid priorities to generate a valid task scheduling sequence.

    4) Idle time slot-aware scheduling rules are devised to decode a particle into a scheduling solution. The decoding procedure makes full use of idle time slots of leased VM instances to improve VMs’ utilization and minimize costs.

    The remainder of this paper is organized as follows. Section II outlines current cloud workflow scheduling algorithms.Section III introduces the model and the basic elements of the scheduling problem. Section IV presents the details of the proposed approach. Experimental results are described and discussed in Section V. Finally, we conclude our work and give insight into future works in Section VI.

    II. RELATED WORK

    Cloud workflow scheduling is a well-known nondeterministic polynomial (NP)-complete problem [7]. An exact approach cannot find the optimal solution within acceptable computational time for large-scale problem instances.Therefore, current research typically adopts meta-heuristic or heuristic rules to solve this problem. The former uses metaheuristics, such as PSO, genetic algorithm (GA), and ant colony optimization (ACO) to find a near-optimal solution.The latter obtains an approximate solution to the problem quickly using scheduling rules. Compared with heuristic rules,meta-heuristics can find higher quality solutions as they explore solutions by a guided search but take longer runtime[8].

    In current research, many quality of service (QoS) metrics such as cost, makespan [9]–[12], energy consumption[13]–[15], budget [16]–[18], and security [19], [20] are often regarded as optimization objectives or constraints of the problem. This section mainly reviews literature on the deadline constrained cloud workflow scheduling problem, as those are related to our work. Approaches in those literature can be divided into two parts: meta-heuristic based scheduling approaches [21]–[30] and heuristic rules based scheduling approaches [5], [31]–[36].

    A. Meta-Heuristic Based Cloud Workflow Scheduling

    Rodriguez and Buyya [21] adopted a PSO method (SPSO)to minimize the workflow execution cost while meeting deadline constraint, in which the effect of VM performance variation is considered. SPSO maps tasks onto VM instances by a particle and determines a scheduling solution without considering idle time slots of leased VM instances. The number of VM instances needs to be predetermined. In [22], a GA-based approach was proposed for the cloud workflow scheduling with deadline constraint, where an adaptive penalty function is used for the strict constraints and the coevolution approach is used to adjust the crossover and mutation probabilities. Chen et al. [23] used dynamic objective strategy and proposed a dynamic objective GA approach to solve the cloud workflow scheduling with deadline constraint. Chen et al. [24] further developed an ACO-based approach to solve the same problem in [23].Considering the uncertainty of the runtime of tasks, Jia et al.[25] designed a new estimation model of the tasks’ runtime based on historical data. On this basis, an adaptive ACO based cloud workflow scheduling algorithm was proposed. In addition to PSO, GA and ACO, other meta-heuristics, such as flog leaping [26] and biogeography-based optimizations [27]have been applied to workflow scheduling problems.

    In those meta-heuristics, the coding of scheduling solution usually represents the mapping of tasks to a set of VM instances. However, due to the infinite number of VM instances in clouds, a limited number of VM instances must be predetermined. But, it is not easy to predetermine an appropriate set of instances. Moreover, those algorithms usually only use a single task scheduling sequence while ignoring the impact of different task scheduling sequences on the cloud workflow scheduling performance.

    Zuo et al. [28] proposed a self-adaptive learning PSO-based scheduling approach by considering multiple different task scheduling sequences. However, the algorithm was used for the scheduling of independent tasks on hybrid cloud, and not for the workflow application. Wu et al. [29] proposed a metaheuristic algorithm (LACO) and employed ACO to carry out deadline-constrained cost optimization. In LACO, different task scheduling sequences are constructed by different ant individuals. But the idle time slots on leased resources are not exploited adequately, and the method of determining the VM type required by each task is different from ours.

    In addition, Yuan et al. [30] considered the uncertainty of arriving tasks and deemed that the energy price of private cloud data center (CDC) and the execution price of public clouds have the temporal diversity. A hybrid scheduling algorithm combining PSO and simulated annealing method(TTSA) is proposed to solve them. TTSA is used to schedule parallel tasks; not workflow tasks with data dependencies.Moreover, TTSA is to schedule all parallel tasks from a private CDC perspective, and our work is to schedule one workflow application from the cloud users’ perspective.Finally, the optimization objective of TTSA is to minimize the cost for private CDC, including the energy cost of private CDC and the execution cost generated by outsourcing tasks to public clouds, whereas ours is to minimize the cost of executing a workflow on a public cloud.

    B. Heuristic Rules Based Cloud Workflow Scheduling

    Heterogeneous earliest finish time (HEFT) [31] is one of the most widely used heuristic scheduling rules. It is first used to construct a task scheduling sequence based on tasks’priorities, and then assigns each task in order of the scheduling sequence to a processor that can meet the users’needs, such as the earliest finish time. Although HEFT was originally proposed for workflow scheduling in a limited number of heterogeneous processors, many modified versions of HEFT have been proposed for cloud workflow scheduling[16], [37], [38].

    Abrishami et al. [32] introduced the concept of partial critical path (PCP) and proposed two algorithms, which are called IaaS cloud partial critical paths (ICPCP) and IaaS cloud partial critical paths with deadline distribution (ICPCPD2),respectively. ICPCP tries to minimize the execution cost of a workflow by scheduling a PCP path on a cheapest VM instance, which can finish all the tasks of the PCP before their latest finish time. Sahni and Vidgarthi [5] proposed a just-intime scheduling algorithm (JIT) while taking into account the VM performance variability and instance acquisition.Arabnejad et al. [33] proposed two algorithms, proportional deadline constrained (PDC) and deadline constrained critical path (DCCP), for the deadline-based workflow scheduling on dynamically provisioned cloud resources. In the aforementioned algorithms, the VM type for each task is usually chosen by heuristic information (such as the cheapest VM). Moreover, only the remaining time of the last time interval of leased instances is typically used while ignoring the availability of other idle time slots. Our approach selects the best VM type for each task by a PSO and considers the effective use of all idle time slots.

    Recently, some studies [34]–[36] considered the efficient use of idle time slots to improve the performance of workflow scheduling. To mitigate the effect of performance variation of resources on soft deadlines of workflow applications,Calheiros and Buyya [34] used the idle time slots of leased resources and budget surplus to replicate task so as to meet the deadline constraint. The minimization of the execution cost of a workflow is not considered in their work. By considering realistic factors such as software setup time and data transfer time, Li and Cai [35] proposed a multi-rules based heuristic to solve the deadline-based workflow scheduling. Furthermore,three priority rules are developed to allocate tasks to appropriate available time slots. The heuristics for scheduling workflow tasks are based on reserved resources in clouds.How to determine the best task scheduling sequence was not considered.

    To our knowledge, our work is the first study considering the following three aspects simultaneously: selecting the most appropriate VM type for each task, determining the best task scheduling sequence, and effectively using idle time slots. A PSO combined with idle time slot-aware rules is proposed to solve those aspects, to minimize the execution cost of a workflow while meeting the deadline constraint.

    III. CLOUD WORKFLOw SCHEDULING PROBLEM AND FORMULATION

    A. Workflow Model

    A workflow is usually represented by a directed acyclic graph (DAG) consisting of vertexes and edges [39]. A DAG is formulated as a tuple G = , where T = {t1, t2,..., tn} is a set of vertices corresponding to tasks of a workflow, n denotes the number of tasks, and E = {eij|ti, tj∈T} is a set of directed edges reflecting data dependencies amongst tasks. For instance, an edge eijmeans that there is the precedence constraint between tiand tj, that is, tiis the direct predecessor(parent) of tj,and tjis the direct successor (child) of ti. Every edge eijhas a weight to represent the size of data transferred from tito tj. A task may have one or more parents or children,and the task cannot be executed until all its parents have been executed and all input data required by the task has been received. All direct predecessors and successors of tiare defined respectively as follows:

    In DAG, a task without any parent is an entry task tentry.Similarly, a task without any children is called an exit task texit. There may be multiple entry tasks and exit tasks in a DAG. Fig.1 shows an example workflow with 5 tasks, where t1is the entry task and t5is the exit task.

    B. Cloud Resource Model

    Fig. 1. An example workflow with 5 tasks.

    The cloud model consists of a single data center and has various VM types. A set П = {π1, π2, …, πm} represents all VM types, and m is the number of VM types. In this paper, all VM types are assumed to have enough memory to execute a workflow and only the CPU and network bandwidth of each VM type are considered. The number of instances a user can rent from the cloud is unlimited.

    This paper assumes that the CPU capacity represented by floating-point operation per second (FLOPS) is available either from a cloud provider or estimated by a performance estimation method [40]. The workload of a task tiis assumed to be known in advance. Therefore, the execution time of task tion VM instance λj, χ(ti, λj), is defined as follows:

    where α(λj) represents the CPU capacity of λj, and w(ti) is the workload of ti.

    All VM instances are in the same data center. The average network bandwidth β between instances is roughly the same.The data transfer time between tiand tj, γ(ti, tj), is defined as(4), where the amount of data transferred between the two tasks, μ(ti, tj), is known. Note that the transfer time between two tasks is 0 when they are executed on the same VM instance.

    According to the pay-per-use strategy, all leased instances are charged for the number of used billing intervals. This paper assumes that the size of billing interval is one hour, just like the on-demand VM instances of Amazon EC2. The cost of data transfer is not considered because many commercial cloud providers do not charge the cost within a data center. In addition, we assume that the tasks of a workflow application cannot be preempted.

    C. Basic Conceptions

    This section introduces some basic concepts of workflow that are used in Section IV-D. The earliest start time of task tion one instance λj, EST(ti, λj), is determined by the finish time of all parents of ti. It means that all parents of timust be completed before executing ti. Besides, if tiis an entry task, its earliest start time on λjis 0. EST(ti, λj) is computed as follows:

    where F(ta, λk) is the actual finish time of taon instance λk, and tais a parent of tiand has been scheduled on λk. In order to utilize the idle time slots of instance λj, the calculation of EST(ti, λj) does not consider the final available time of λjin this paper. The actual start time of tion instance λj, S(ti, λj),must be greater than or equal its earliest start time.

    The actual finish time of ti, F(ti, λj), equals the sum of S(ti,λj) and χ(ti, λj), and is computed as follows:

    The latest finish time of ti, LFT(ti), is the latest time that tishould be finished to ensure a workflow will be finished before its deadline Δ.

    where MET(tc) is the execution time of tcbased on the fastest VM, and tcis a child task of ti.

    For more details about the above basic concepts of workflow, please refer to literature [31] and [39].

    D. Cloud Scheduling Problem Description

    This paper focuses on minimizing the cost of executing a workflow in clouds while meeting a deadline constraint. A scheduling solution is expressed as S = (R, M, Θ). R = {λ1,λ2, …, λl} is a set of l leased VM instances that will be used to execute tasks. Each VM instance in R has four attributes, that is, λi= (πi, Bi, Zi, Li), representing the VM type of VM instance λi, the lease start time and end time of λi, and tasks list scheduled on the instance, respectively. M = {m1, m2, …,mn} represents the mapping of tasks to instances in R. mi= (λj,S(ti), F(ti)) means that task tiis scheduled on the instance λjand is expected to start executing tiat time S(ti), and finish by time F(ti). The size of M is equal to the number of tasks n in the workflow, and the size of R is less than or equal to n. Θ is a task scheduling sequence and must follow the dependencies amongst tasks.

    Based on S = (R, M, Θ), the execution cost Ψ and the execu tion time Ω of a workflow are calculated by the following formulas:

    where Δ is the deadline of a workflow.

    IV. PROPOSED APPROACH

    PSO is a stochastic optimization algorithm which is inspired by the foraging behavior of bird flocks [41]. Because PSO has few parameters and is easy to implement, it has been widely applied to numerous fields, including production scheduling problems [42] and cloud resources scheduling [43], [44]. This paper uses PSO combined with idle time slot-aware rules to solve the workflow scheduling on clouds.

    A. PSO for Cloud Workflow Scheduling

    where inertia weight ω is used to balance the global and local search; r1and r2are uniform random numbers in [0, 1]; c1and c2are acceleration factors to control the influence of the social and cognitive components, and their values usually are set as 2 [41].

    A pseudocode of PSO for the cloud workflow scheduling problem is described in Algorithm 1. It evolves iteratively a population of particles until the number of iterations is reached (lines 5–15) and then the scheduling solution of the global best particle is regarded as the final scheduling solution(line 16).

    There are several issues to consider when using the PSO to solve the scheduling problem: the first is the encoding representation of a particle, which is elaborated in Section IV-B;the second is how to decode a particle into a scheduling solution (decoding procedure), which is shown in line 9 and detailed in Section IV-D; the third is to evaluate a particle by a fitness function, which reflects the optimization objectives. In this paper, the execution cost Ψ and the execution time Ω are calculated in the fitness function (in Section IV-E), and Ψ is used to evaluate a particle (line 10). The fourth issue is the population initialization that is described in Section IV-F; and the final issue is the treatment of the deadline constrain of the scheduling problem.

    During the search of the PSO, some infeasible solutions that violate the deadline constraint may be generated. To handle those infeasible solutions, the constraint handing technique in[45] is introduced into the PSO. A solution is infeasible if it does not satisfy the deadline constraint. There are three cases for two solutions’ comparison: the solution with a better fitness value (execution cost) is better if the two solutions are both feasible; the feasible one is better if one solution is feasible and the other is unfeasible; the solution with the smaller execution time is better if both solutions are unfeasible. In lines 11 and 13, the historical best position of a particle and the global best particle are updated under the constraint-handing technique.

    In addition, in line 1, the workflow is preprocessed to merge the “pipeline pair” tasks into a single task, which helps to reduce the runtime overhead of the scheduling algorithm and save the data transfer time between tasks [10]. The “pipeline pair” tasks refer to a special pair of tasks tiand tjwhich have a one to one relationship. That is, tionly has one child task tjand tjonly has one parent task ti.

    Algorithm 1 PSO for Cloud Workflow Scheduling Input: The DAG of a workflow G = .Output: The scheduling solution S = (R, M, Θ).1: Preprocessing the workflow;2: Set parameters, such as population size N and inertia weight;3: Initialize the population;4: Let the number of iterations, t = 1;≤5: While t the total number of iterations do 6: For each particle qi, i∈{1, 2, …, N} do vti 7: Update the velocity by (11);xti 8: Update the position by (12);9: Decode qi to a solution Si by Algorithm 3;10: According to Si, calculate Ψ and Ω by Algorithm 4;11: Update the historical best position pi of qi;12: End for 13: Update the global best particle g;14: t = t+1;15: End while 16: Output the scheduling solution S of g;

    B. Encoding Scheme

    A key issue for PSO to solve a problem is to devise an effective particle encoding. Although VM instances in clouds are infinite, cloud providers provide a finite number of VM types. Inspired by this, the particle encoding only needs to consider the mapping of tasks to VM types (instead of VM instances). Besides, the priority of each task, which determines its scheduling order in all tasks, is encoded in the particle. A task scheduling sequence is obtained by sorting tasks’ priorities in ascending order. Therefore, a particle contains two parts: the first part (dimensions from 1 to n)embodies the mapping of tasks to VM types, and the second part (dimensions from n+1 to 2n) determines the priority for each task. The dimension of a particle D is equal to twice the number of workflow tasks. The value of each dimension in the first part falls within the real range of [1, m]. The values of the second part can be any positive real number.

    Because PSO is for continuous optimization problems,whereas the workflow scheduling problem is a combinatorial one, the value of each dimension must be rounded to the nearest integer. Specifically, in the first part of a particle,dimensions from 1 to n correspond to tasks t1to tn,respectively. The rounded nearest integer of each dimension represents an index of VM type, which means the corresponding task is assigned to an instance with the same VM type. In the second part of a particle, the rounded nearest integer of dimension i∈[n+1,2n] represents the priority of task ti-n.

    An example of an encoded particle for the workflow in Fig. 1 is shown in Fig. 2, where the number of VM types is assumed to be 4. In this example, dimension 1 corresponds to task t1and its value is 2.1. This means that the VM type required by t1is π2. The values of dimensions 2–5 follow the same logic.The values of dimensions 6–10 are rounded to 2, 9, 11, 3, and 14, indicating the priorities of t1–t5, respectively. Sorting those values in ascending order, the scheduling sequence of tasks is:t1-> t4-> t2-> t3-> t5.

    Fig. 2. A particle encoding for the workflow in Fig. 1.

    By this encoding, different mapping combinations of tasks to VM types and different task scheduling sequences are represented by different particles. On this basis, an idle time slot-aware heuristic decoding procedure in Section IV-D can identify the VM instances to be leased and the scheduling of all tasks on those leased instances.

    C. Repairing Method for Invalid Tasks ’s Priorities

    A feasible task scheduling sequence must satisfy the data dependencies amongst tasks. However, those cannot be guaranteed during the iterative evolution because of the stochastic feature of PSOs. This paper sorts priorities of all tasks in ascending order to obtain a task scheduling sequence.This means the priority of each task must be greater than those of all its parents and cannot be the same as each other.Otherwise, the priority of the task is invalid.

    A simple repairing method is designed to repair tasks’invalid priorities. Its main idea is to modify the invalid priority of a task to the maximum value of the priorities of all its parents plus 1, while ensuring that the modified priority is not equal to any other tasks’ priorities.

    Algorithm 2 gives the detailed steps of the repairing procedure, where T is a set of workflow tasks, and set V is used to store those tasks with valid priorities and is initially set to be empty (line 2). The priority of an entry task tentrywith the minimum priority is deemed as valid (line 3). Based on this priority, lines 5–18 gradually judge whether the priorities of other tasks are valid. First, those tasks whose parents are in set V are selected from T and represented by set Q (line 6,).Then the following steps are to judge whether the priority of each task tjin Q is valid one by one (lines 8–17). If the priority of tj, η(j), is not bigger than the maximum priority value of all its parents, pmax, it is modified to pmax+ 1 (lines 10–12). Moreover, if the priority of tjis identical to that of one task in set V, it is modified to vmax+ 1 (lines 13–15), where vmaxis the maximum of the priorities of all tasks in set V (line 7).

    Through this, the priority of each task is bigger than those of all its parents and all tasks have different priorities. Finally,once a task has a valid priority or the invalid priority of the task has been modified to a valid one, the task is added into V and removed from T (line 16).

    Algorithm 2 Repair Invalid Priorities of Tasks.Input: A particle q and a set of tasks T ={t1, t2, …, tn}.Output: The repaired particle.1: η(1:n) = round (q(n+1:2n));?2: V = ;3: Find an entry task tentry with the minimum priority;4: V = V∪{tentry}, and T = T{tentry};5: While (T is not empty)6: Find all tasks whose parents are in V, denoted by Q;7: vmax = max(priorities of tasks in V);8: For (each task tj in Q)9: pmax = max(priorities of tj’s parents);≤10: If η(j) pmax 11: η(j) = pmax+1;12: End if 13: If η(j) = = the priority of one task in V 14: η(j) = vmax +1;15: End if 16: V = V∪{tj}, and T = T{tj};17: End for 18: End while 19: q(n+1:2n) = η(1:n);20: Output the repaired particle;

    D. Idle Time Slot-Aware Decoding Procedure

    An idle time slot-aware decoding procedure is proposed to decode a particle into a scheduling solution. The decoding procedure makes full use of the idle time slots of leased VM instances to improve resource utilization and decrease execution cost of a workflow. Meanwhile, it can schedule tasks under their precedence constraints and tends to schedule them on the same VM instance to save the data transfer time between them.

    Algorithm 3 presents the detailed steps. In line 1, R, M, and H are set as empty. Set H is used to store the applicable instances of a task tj. Herein, if a leased instance has one or more idle time slots that can be used to finish tjbefore tj’s latest finish time, LFT(tj), it is termed an applicable instance of tj. LFT(tj) is calculated by (7). Each task is scheduled in order of the scheduling sequence Θ to a leased instance in R or a new instance (lines 4–17). In line 5, the VM type πj, required by tjis obtained from the jth dimension of the particle. Then,serial and parallel instances with the same type πj, denoted by X and Y, respectively, are selected from R (line 6). For tj,serial instances refer to those instances that have one or more parents of tjscheduled, and parallel instances are those that do not schedule any one of tj’s parents. Note that the VM type of an instance on which a task is scheduled must be the same as that required by the task.

    In order to save the data transfer time, those serial instances which are applicable to tjare first selected from X and recorded by H (line 7). If there is no applicable instance of tjin X, namely the set H is empty (line 8), continue to find parallel instances that applicable to tjin Y (line 9). Finally, if there is still no applicable instance can be used to schedule tjin Y (line 13), a new instance λnwith πjis launched for tj(line 14).

    There may be multiple applicable instances in H. The instance λa, which has the smallest cost difference between its execution cost before scheduling tjand that after scheduling tj,is chosen to execute tjfrom H (lines 11–12). The execution cost of an instance is calculated by (8), where l = 1. Furthermore, if there are multiple instances with the same smallest cost difference in H, select one of those instances randomly for tj.

    Algorithm 3 An Idle Time Slot-Aware Decoding Procedure.Input: A particle q (1:2n).Output: A scheduling solution S = (R, M, Θ).???1: R = , M = , H = ;2: Repair tasks’ invalid priorities in the particle q by Algorithm 2;3: Get a feasible scheduling sequence Θ based on the particle q;4: For each task tj, j∈{1, 2, …, n} in Θ do 5: πj = q (j);6: Select serial and parallel instances with VM type πj from R,denoted as X and Y, respectively;7: Search the applicable instances of tj from X, and recorded them by H;8: If H is empty then 9: Continue to search the applicable instances of tj (also recorded by H) from Y;10: End if 11: If H is not empty then 12: Allocate tj to the instance λa∈H with the smallest cost difference;13: Else 14: Launch a new instance λn with πj for tj;15: End if 16: Update R and M;17: End for 18: Output S = (R, M, Θ).

    All applicable instances of tjin X and Y (lines 7 and 9) are identified by an insertion-based policy. The length of an idle time slot is equal to the difference between the execution start time and finish time of two tasks that were consecutively scheduled on the same instance [31]. If an idle time slot between txand tkis available to tj, it means that S(tj) ≥ F(tx),F(tj) ≤ S(tk), and F(tj) ≤ LFT(tj). Note that scheduling a task on an idle time slot must satisfy its precedence constraints.Therefore, the insertion-based policy first calculates the EST(tj) of tjon an instance by (5), and then check all idle time slots on the instance to determine whether available time slots exists to execute tj.

    There may be multiple idle time slots available for executing tjon an applicable instance, and tjis scheduled in the first time slot in chronological order. The S(tj) on an applicable instance is finally determined during checking the idle time slots by the insertion-based policy, and F(tj) is calculated by (6).

    E. Fitness Function

    In this paper, the total execution cost of a scheduling solution Si= (R, M, Θ) derived from a particle is used as the fitness value of the particle. The total execution time of Siis used to judge whether the particle is feasible. For example, if the total execution cost of a particle q1is less than that of another particle q2, it means q1is better than q2. If the total execution time of a particle is bigger than the deadline, the particle is unfeasible; otherwise, it is feasible.

    Algorithm 4 Fitness Function.Input: A solution Si = (R, M, Θ) of a particle Output: The execution cost and time of a workflow, Ψ and Ω.1: Ψ is calculated by (8), based on the R of Si;2: Ω is computed by (9), according to the M of Si;3: Output Ψ and Ω;

    In Algorithm 4, all leased instances are in R, and the mappings between tasks and leased instances are in M. The lease expenses of all leased instances are summed up as the total execution cost by (8), and the total execution time is computed by (9). Finally, output the total execution cost and time of Si= (R, M, Θ) (line 3).

    F. Population Initialization

    In order to generate N particles with valid task scheduling sequences, the upward and downward ranks of a task, which are usually used in the list-based scheduling algorithms, are adopted to compute tasks’ priority in the initial population.

    The upward rank of a task tiis the critical path length from tito the exit task, including ti’s average execution time. The down rank of tiis the longest distance from the entry task to it,excluding the average execution time of ti. Please refer to [39]for the calculations of tasks’ upward and downward ranks.

    In the initiation of population, two populations, Ο1and Ο2,are first generated randomly, and each population has N particles. For each particle in Ο1, the value of dimension i∈[n+1,2n] is set to the downward rank of task ti–n. Besides,because this paper obtains the task scheduling sequence by sorting tasks’ priorities in ascending order, the priority of each task in Ο2is set as σ–ru(ti), where σ represents the maximum value of all tasks’ upward ranks and ru(ti) is the upward rank of ti. Finally, N particles are selected as the initial population from Ο1and Ο2in ascending order of their fitness values.

    V. PERFORMANCE EVALUATION

    A. Experimental Settings

    Pegasus project [46] publishes some synthetic workflows resembling those used by real world scientific applications,including Montage, Epigenomics, Sipht, CyberShake, and LIGO’s Inspiral Analysis (Inspiral). These workflows have different characteristics and have been widely used to evaluate workflow scheduling algorithms. The DAGs of the five workflows are illustrated in Fig. 3. Each workflow has four different task sizes: small (about 30 tasks), medium (about 50 tasks), large (about 100 tasks), and extra-large (about 1000 tasks). The details of each workflow, including its DAG structure, the size of data transferring amongst tasks, and the running time of each task, are stored in an XML file. The corresponding XML files are available from the web site1https://confluence.pegasus.isi.edu/display/pegasus/WorkflowHub.

    Fig. 3. DAGs of five synthetic workflows.

    We use these five workflows to evaluate the HPSO algorithm. For each workflow, eight different deadlines are used to evaluate the capability of HPSO to meet the deadline constraint. These deadlines are calculated based on the fastest and the slowest execution time of a workflow. The slowest execution time, ζ, is the execution time of a workflow whose tasks are all scheduled on the same VM instance with the cheapest VM type. The fastest execution time of a workflow,δ, is estimated by letting each task of the workflow be scheduled separately on a different VM instance with the fastest VM type. The data transmission time is ignored when computing the two time values ζ and δ.

    Moreover, the slowest execution time of a workflow is usually two or even more orders of magnitude higher than the fastest one, and the difference between them depends on the structure of the workflow [25]. In order to reflect the capability of different algorithms to meet deadlines, an appropriate set of deadlines must be determined. By trial and error, eight deadlines of a workflow are computed by the following formula:

    where the values of i are set as 1, 2, …, 8 to calculate eight different deadlines with d1being the tightest deadline and d8being the loosest one.

    A cloud computing environment was simulated using CloudSim toolkit [47] to compare the performance of HPSO and other methods. This paper selects ten VM types with known number of computing unit (ECU) from Amazon EC2,as shown in Table I. Reference [40] shows that an ECU is roughly 4400 million floating point operations per second(MFLOPS). All VM instances are assumed to be in the same data center. The network bandwidth amongst VM instances is roughly equal and is set to 20 Mbps [32]. The billing period of all VM types is assumed to be one hour.

    TABLE I VM TYPES BASED ON AMAzON EC2

    B. Compared Algorithms

    To verify the performance of HPSO, five state-of-the-art cloud workflow scheduling algorithms, namely PSO-based scheduling algorithm (SPSO) [21], GA-based scheduling algorithm (EMS-C) [9], ACO-based scheduling algorithm(LACO) [29], and two heuristic scheduling algorithms ICPCP[32] and JIT [5], are selected as comparative algorithms. In current literature on cloud workflow scheduling problems,those algorithms are often used as comparative algorithms.The scheduling problem solved by SPSO, LACO, ICPCP, and JIT is exactly the same as ours (minimizing the execution cost of a workflow while meeting its deadline constraint). EMS-C is a multi-objective optimization algorithm for minimizing the execution time and cost of a workflow simultaneously.

    SPSO adopts the PSO to solve the deadline constraint and cost minimization problem, while considering fundamental features of the dynamic provisioning and heterogeneity of unlimited computing resources as well as VM performance variation. It maps tasks onto VM instances by a particle and determines a scheduling solution without considering idle time slots of leased VM instances. The number of VM instances needs to be predetermined.

    ICPCP uses the concept of partial critical path (PCP). A PCP contains many tasks and is first scheduled on an already leased instance that can meet the latest finish time of the tasks.If no such instance exists for the path, a new instance with the cheapest VM type able to finish the tasks before their latest finish time is leased for the PCP.

    JIT aims to exploit the advantage offered by cloud computing while considering the virtual machine (VM)performance variability and instance acquisition delay to identify a just-in-time schedule of a deadline constrained scientific workflow at lesser costs.

    LACO employs ant colony optimization to carry out deadline-constrained cost optimization: the ant constructs an ordered task list according to the pheromone trail and probabilistic upward rank. The reason to choose LACO for comparison is that it considers different task scheduling sequences by using different ants and uses a simple heuristic method to decode an ant to a scheduling solution. However,LACO does not consider the selection of the best VM type for each task and the effective utilization of idle time slots of VM instances.

    The reason to choose EMS-C for comparison is that it is based on GA. In EMS-C, the encoding of a chromosome includes the mapping of tasks to VM instances, the mapping of VM instances to VM types, and the scheduling order of each task. Because EMS-C is for multi-objective workflow scheduling, it is modified to fit the scheduling problem in this paper. The modified EMS-C (MEMS for short) keeps the single objective of minimizing the execution cost and adds deadline constraint. Like HPSO, MEMS uses the constraint handing technique in [45] to deal with infeasible solutions.Other operations (e.g., crossover and mutation) of MEMS are the same as those of original EMS-C.

    C. Algorithm Parameter Discussions

    HPSO does not contain any new parameter, except the parameters of PSO (inertia weight ω, acceleration factors c1and c2, population size N, and number of fitness function evaluations Κ). Those parameters are determined by the following two groups of experiments.

    The first group experiment is to determine ω, c1and c2. In order to investigate how the three parameters affect the performance of HPSO, three different values are set for each parameter. For ω, its values are respectively set to 0.5,decreased linearly from 0.9 to 0.4 (0.9~0.4), and decreased linearly from 0.1 to 0.01 (0.1~0.01). The values of c1and c2are set to (2.0, 2.0), (2.0~0, 0~2.0), and (1.0~0, 0~1.0),respectively. Here, (2.0, 2.0) represents that the values of c1and c2are all set to be 2.0. (2.0~0, 0~2.0) denotes that c1decreases linearly from 2.0 to 0, whereas c2increases linearly from 0 to 2.0. The same logic is true for (1.0~0, 0~1.0). Table II shows the average execution costs of Montage-100 under the tightest deadline d1for different values of ω, c1and c2. Note that the experiment assumes that N is 20 and K is 1000, which are used to determine ω, c1and c2. In Table II, $2.40 is the lowest execution cost for Montage-100 under deadline d1.Therefore, parameters ω, c1and c2of HPSO are set as(0.1~0.01), (2.0~0), and (0~2.0), respectively.

    The second group experiment is to determine the appropriate N and K, i.e., population size and the number of fitness function evaluations, to make a fair comparison of HPSO, LACO, SPSO, and MEMS. Table III shows the average execution costs of Montage-100 under deadline d1for different combinations of N and K.

    Table III shows that with the increase of K and N, the execution cost values obtained by HPSO (SPSO, MEMS) are reduced from 2.4 (16.90, 23.02) to 1.79 (4.70, 11.79), and the cost values obtained by LACO fall within the range of [2.5.2.8]. Obviously, along with the increase of N and K, theexecution cost of SPSO and MEMS is improved, while the cost of HPSO and LACO does not change much.

    TABLE II THE ExECUTION COSTS OF MONTAGE-100 FOR DIFFERENT INERTIA WEIGHTS AND ACCELERATION FACTORS

    TABLE III THE ExECUTION COSTS OF THE MONTAGE-100 FOR DIFFERENT POPULATION SIzES AND NUMBER OF EVALUATIONS

    If N and K are set too large, the four meta-heuristic based algorithms will consume too much time for extra-large and large workflows. Thus, the N value of the four algorithms is all set to 20. The K value of SPSO and MEMS is set to 10 000.As HPSO and LACO converge for almost all workflows when K is 1000 (see the third subsection of Section V-D), the K value of HPSO and LACO is all set to be 1000.

    The SPSO [21], MEMS [9], and LACO [29] are all designed specifically for the cloud workflow scheduling problem, and in literature [9], [21] and [29], appropriate parameters are suggested. Therefore, other parameters of SPSO, MEMS, and LACO are taken from their literature: for SPSO, c1, c2, ω are set to 2, 2, 0.5, respectively; for MEMS,the probabilities of crossover and mutation are given by 1.0 and 1.0/n, respectively, and n is the number of workflow tasks; for LACO, the pheromone and the heuristic information are set to 1 and 2, respectively, and the pheromone evaporation coefficient is 0.2.

    HPSO, SPSO, MEMS, and LACO perform 10 independent runs for each workflow application.

    D. Results and Discussions

    1) Deadline Constraint Evaluation

    For a workflow with a deadline di, if the average execution time of the workflow scheduled by an algorithm is less than orequal to di, the algorithm meets the deadline constraint. This paper uses the success rate sr, which is the percentage of deadlines met by an algorithm among all deadlines, to evaluate the capability of an algorithm to meet the deadline of a workflow. The calculation of sris as follows [17]:

    TABLE IV THE SUCCESS RATES OF SIx ALGORITHMS FOR ALL WORKFLOwS

    where κ is the number of deadlines met by an algorithm, φ is the total number of deadlines. Table IV shows the success rate of each algorithm for each workflow.

    The upper-left region of Table IV shows that HPSO, SPSO,ICPCP, and JIT have a 100% success rate for all extra-large workflows with about 1000 tasks, which means the eight deadlines of each extra-large workflow are met by them.LACO meets all deadlines of each extra-large workflow except Sipht-1000, for which the success rate of LACO is 87.5% because it fails to meet the tightest deadline d1. For MEMS, its success rates for Inspiral-1000 and Montage-1000 are 12.5% and 75%, respectively, and the success rates for the three other extra-large workflows are 100%.

    For the large workflows with about 100 tasks, as shown in the upper-right region of Table IV, the deadlines of all large workflows are satisfied by HPSO. ICPCP, LACO, and JIT can meet all deadlines of large workflows except CyberShake-100, for which the success rates are 87.5%, 87.5% and 62.5%,respectively. SPSO has a 100% success rate only for Montage-100 and Sipht-100. Except Epigenomics-100,MEMS does not have a 100% success rate for other large workflows.

    The lower-left and lower-right regions of Table IV show that for medium and small workflows, the performance differences in meeting deadlines amongst HPSO, LACO, and the four other algorithms are more obvious. HPSO and LACO can meet all deadlines of medium and small workflows,whereas the other algorithms perform less well in meeting deadlines as the size of a workflow decreases. Amongst small workflows, the success rates of MEMS and JIT for CyberShake-30 and the success rates of SPSO for Epigenomics-24 are all 0. It is because the deadline of a workflow calculated by (13) is shortened with the decrease of a workflow’s size, thus reflecting the capacity of different algorithms to meeting deadlines.

    Overall, for all workflows with different sizes, HPSO has 100% success rates and is the best algorithm, followed by LACO, ICPCP, JIT, and SPSO, while MEMS is the worst.The main reasons of HPSO having good performance in meeting the deadlines are as follows: one is that idle time slots of leased instances are fully used, which means a task may be completed as early as possible; the second is multiple different task scheduling sequences are considered and used in the proposed method. LACO’s performance is slightly inferior to HPSO because idle time slots of a leased instance are not considered. ICPCP uses the PCP as a whole scheduling object,which means an instance must satisfy LFT values of all tasks on the PCP, so it is not easy to meet the more urgent deadlines. When choosing the cheapest VM type for a task,JIT considers its effect on the children of the task. However,there may be no existing VM types that can meet the requirements of the task and its children, thus making JIT fail to the tightest deadline of some workflows. For SPSO and MEMS, they both randomly implement the mapping of tasks to VM instances during the iteration process, and do not consider the LFT of a task and the idle time slots of a leased instance.

    2) Execution Cost Evaluation

    The performance of an algorithm in minimizing the execution cost of a workflow is evaluated by the average execution cost of the workflow scheduled by the algorithm.Figs. 4–7 show the performance of comparison algorithms in minimizing the execution cost of extra-large, large, medium,and small workflows, respectively.

    Each curve in the figures consists of eight points (cost values), reflecting the average execution cost of a workflow scheduled by an algorithm under different deadlines. In figures, the point circled by an ellipse is an invalid point,which indicates the algorithm fails to meet the corresponding deadline. In this case, comparing the average execution costs of valid points and invalid ones is meaningless.

    Fig. 4. Comparsion of six algorithms in terms of minimizing the execution cost for extra-large workflows.

    Fig. 5. Comparsion of six algorithms in terms of minimizing the execution cost for large workflows.

    Amongst extra-large workflows, the execution cost of CyberShake-1000 scheduled by HPSO is lower than those scheduled by the five other algorithms, which is shown in Fig. 4(a);for Inspiral-1000 shown in Fig. 4(b), HPSO and LACO have better performance than other algorithms, and LACO is inferior to HPSO; for Montage-1000 shown in Fig.4(c), HPSO is slightly better than SPSO because the execution costs obtained by HPSO under the top two tightest deadlines are lower than those obtained by SPSO, and the performance of HPSO is significantly better than LACO and other algorithms;for Epigenomics-997 shown in Fig. 4(d), HPSO, LACO, and JIT perform almost the same and better than ICPCP, SPSO,and MEMS; for Sight-1000 and its top three tightest deadlines, as shown in Fig. 4(e), the execution costs obtained by HPSO are lower than those obtained by other algorithms.Overall, the performance of HPSO in terms of minimizing the execution cost of extra-large workflows is better than that of other algorithms.

    Fig. 6. Comparsion of six algorithms in terms of minimizing the execution cost for medium workflows.

    Fig. 7. Comparsion of six algorithms in terms of minimizing the execution cost for small workflows.

    Amongst the large workflows shown in Fig. 5, the execution cost of CyberShake-100 scheduled by LACO under the tightest deadline d1is significantly higher than that scheduled by HPSO, and LACO fails to meet the deadline d1. For Inspiral-100, the execution costs obtained by HPSO under the deadlines from d4to d8are lower than those obtained by LACO. Thus for CyberShake-100 and Inspiral-100 shown in Figs. 5(a)–5(b), HPSO performs slightly better than LACO,and both of them are better than others; for Montage-100,HPSO has a similar performance to SPSO and is better than LACO and other algorithms. Fig. 5(d) shows that HPSO and LACO have similar performance for Epigenomics-100 and are better than SPSO and other algorithms. For Sipht-100, the execution cost obtained by HPSO, LACO, and SPSO is similar under the deadlines from d3to d8. Overall, compared to LACO, HPSO can obtain lower execution costs for CyberShake-100, Inspiral-100, and Montage-100. Similarly,compared to SPSO, HPSO performs better for CyberShake-100, Inspiral-100, and Epigenomics-100. For all large workflows, HPSO performs better than ICPCP, JIT, and EMES.

    Fig. 8. Average evolutionary curves of HPSO, LACO, SPSO and MEMS on large workflows under the tightest deadline d1.

    Amongst the medium and small workflows shown in Figs. 6–7,the execution costs obtained by HPSO and LACO for CyberShake-50, Epigenomcis-46/24, and Sipht-60/30 are similar; for Inspiral-50/30 shown in Fig. 6(b) and Fig. 7(b),the execution cost obtained by HPSO under deadlines d1–d4is higher than that obtained by LACO, while the cost obtained by HPSO under d5–d8is lower than that obtained by LACO.For Montage-50/25 shown in Fig. 6(c) and Fig. 7(c), HPSO performs better than LACO. Although Figs. 6–7 show that for medium and small workflows LACO performs similar with HPSO, HPSO can obtain lower execution costs than LACO for extra-large and large workflows (see Figs. 4–5). That is, as the size of the workflow increases, the performance of HPSO is better than that of LACO. Furthermore, HPSO can meet deadlines better than LACO for extra-large and large workflows (see Table IV).

    In general, HPSO can achieve a lower execution cost for most workflows amongst the six algorithms, followed by LACO, SPSO and ICPCP, and JIT and MEMS. The rule based heuristic scheduling algorithms ICPCP and JIT can find quickly a feasible solution for each workflow, but the solution quality is lower than HPSO, LACO, and SPSO for most workflows. MEMS performs worse because the execution costs obtained in its different runs are significantly different,resulting in high average cost. HPSO has the best performance because HPSO combines PSO and idle time-aware rules,having the advantage of both meta-heuristics (PSO) and heuristic rules.

    3) Convergence of HPSO, LACO, SPSO and MEMS

    To observe the convergence of HPSO, LACO, SPSO, and MEMS, along with the increase of the number of fitness function evaluations, Fig. 8 shows the average evolutionary curves of the four algorithms on large workflows under the tightest deadline d1.

    Fig. 8 shows that HPSO and LACO converge for almost all large workflows when the number of fitness function evaluations K reaches 1000. For CyberShake-100 and Epigenomics-100, MEMS converges when K reaches 1000,while for other large workflows MEMS converges when K is about 10 000. Similarly, SPSO converges for all large workflows when K is about 10 000.

    Evolutionary curves of LACO show that LACO cannot find solutions with lower cost values as the number of fitness function evaluations increases. This means that the performance of LACO cannot be better than that of HPSO even if a larger number of evaluations are given.

    4) Impact of Task Scheduling Sequence on Execution Cost

    Fig. 9. Comparison of HPSO and HPSO with a single task scheduling sequence in terms of minimizing the execution cost.

    In order to investigate the impact of multiple task scheduling sequences and a single task scheduling sequence on the execution cost of workflow, some modifications are made to HPSO. The modified HPSO only uses a single task scheduling sequence, which is obtained by topologically sorting all tasks of a workflow. Therefore, each particle in HPSO with a single task scheduling sequence only needs to represent the mapping of tasks to VM types, not including the priority of each task. Fig. 9 gives the performance comparison between HPSO and HPSO with a single task scheduling sequence, in terms of minimizing the execution cost of each large workflow under each deadline. In the figure, “HPSO”refers to HPSO with multiple task scheduling sequences.

    Fig. 9 shows that under each deadline of each large workflow, the average execution cost obtained by HPSO is lower than or equal that obtained by HPSO with a single task scheduling sequence. For example, in Fig. 9(b), 9(c), and 9(e),the average execution cost of Montage-100, Insiral-100, and Epigenomics-100 under the tightest deadline d1scheduled by HPSO is significantly lower than that scheduled by HPSO with a single task scheduling sequence. Overall, HPSO with multiple different tasks scheduling sequences can achieve lower execution cost than HPSO with a single task scheduling sequence.

    5) Comparison of Runtime

    Compared with heuristic rules, meta-heuristic based scheduling algorithms usually need a longer computational time. This section compares the runtime of HPSO, SPSO,MEMS, and LACO. Fig. 10 gives the average runtime of each algorithm for different workflow sizes (30, 50, 100, and 1000). The runtime is calculated by first summing up the running time of an algorithm for each workflow instance and then divided by the total number of workflow instances. All four algorithms are coded in MATLAB R2016a and implemented on a PC with Core i7 2.50 GHz and Windows 7 operation system.

    Fig. 10 shows that the average runtime of HPSO and LACO is less than that of SPSO and MEMS for workflows with 30 and 50 tasks, while the average runtime of HPSO for extralarge workflows is longer than that of LACO, SPSO, and MEMS. For workflows with 100 tasks, the average runtime of

    Fig. 10. The average runtime of HPSO, SPSO, MEMS, and LACO.

    the four algorithms is very close.

    VI. CONCLUSIONS AND FUTURE WORK

    This paper proposes a hybrid particle swarm optimization(HPSO) for cloud workflow scheduling problem that considers three aspects, namely selecting the most appropriate VM type for each task, determining the best scheduling sequence for all tasks, and making full use of idle time slots.The first two aspects are combinational optimization problems, such that a PSO is used to solve them. In PSO, a particle represents the VM type required by each task and the scheduling sequence of tasks. Idle time slot-aware scheduling rules are proposed to decode a particle to a scheduling solution. During the decoding procedure, the rules assign each task in the order of the scheduling sequence to a leased VM instance or a new one, taking full use of idle time slots of leased VMs. As the randomness of PSO may cause priorities of some tasks to be invalid, making the task scheduling sequence violate the tasks’ precedence constraint, a simple repairing method is suggested to repair invalid priorities of tasks.

    Experimental results based on synthetic workflows show that HPSO achieves 100% success rates in meeting workflows’ deadlines and outperforms the five other comparison algorithms. Moreover, compared with other algorithms, HPSO has better performance in minimizing the execution cost for most workflow applications.

    In the future, we plan to implement a prototype system to further test HPSO. In addition, it is hard to predict task execution times exactly in advance. In [48], [49], a cloud system is modeled as a discrete-time-state space to deal with non-steady states of cloud system. Based on the idea of the discrete-time-state cloud system, we plan to combine HPSO with prediction technologies (such as analytic probabilistic models or deep learning) to study dynamic cloud workflow scheduling algorithms that considers the uncertainty of task execution times.

    日本三级黄在线观看| 国产一区二区激情短视频| 亚洲国产看品久久| 人人妻人人澡欧美一区二区| 少妇 在线观看| 在线观看舔阴道视频| 日本在线视频免费播放| 欧美丝袜亚洲另类 | 欧美日韩一级在线毛片| 18禁美女被吸乳视频| 黄色视频不卡| 日韩欧美一区视频在线观看| av天堂在线播放| 一级黄色大片毛片| 岛国在线观看网站| 国产亚洲精品一区二区www| 亚洲国产日韩欧美精品在线观看 | 国产aⅴ精品一区二区三区波| 国产爱豆传媒在线观看 | 久久久久国产一级毛片高清牌| 亚洲人成电影免费在线| 一本一本综合久久| 国产精品av久久久久免费| 啦啦啦 在线观看视频| 久久久水蜜桃国产精品网| 长腿黑丝高跟| 深夜精品福利| 国产蜜桃级精品一区二区三区| 久久国产精品男人的天堂亚洲| 亚洲第一av免费看| 成人av一区二区三区在线看| 亚洲精品一卡2卡三卡4卡5卡| 亚洲一区二区三区不卡视频| 99久久99久久久精品蜜桃| 亚洲av中文字字幕乱码综合 | 十八禁网站免费在线| 黄色女人牲交| avwww免费| 在线视频色国产色| 在线视频色国产色| 一级a爱片免费观看的视频| 亚洲成人精品中文字幕电影| 99国产极品粉嫩在线观看| 免费看a级黄色片| 91成人精品电影| 97人妻精品一区二区三区麻豆 | 成在线人永久免费视频| 国产一区二区激情短视频| 女性生殖器流出的白浆| 成人亚洲精品一区在线观看| 亚洲中文av在线| 久久久精品欧美日韩精品| 亚洲av日韩精品久久久久久密| 久久久精品欧美日韩精品| 19禁男女啪啪无遮挡网站| 日韩欧美三级三区| 性色av乱码一区二区三区2| 麻豆久久精品国产亚洲av| 国产视频一区二区在线看| 午夜两性在线视频| 动漫黄色视频在线观看| 999久久久国产精品视频| 午夜福利高清视频| 一进一出抽搐gif免费好疼| 一级黄色大片毛片| 少妇 在线观看| 亚洲欧美精品综合一区二区三区| 一本大道久久a久久精品| 国产精品亚洲美女久久久| av电影中文网址| 真人做人爱边吃奶动态| 脱女人内裤的视频| 可以在线观看毛片的网站| 色播在线永久视频| 亚洲av成人一区二区三| 韩国av一区二区三区四区| 日韩国内少妇激情av| 亚洲自偷自拍图片 自拍| 少妇熟女aⅴ在线视频| 热re99久久国产66热| 亚洲 欧美一区二区三区| 国产99久久九九免费精品| 国产精品亚洲美女久久久| 国产精品久久电影中文字幕| 日本一区二区免费在线视频| 免费在线观看亚洲国产| 免费在线观看黄色视频的| 可以在线观看的亚洲视频| 亚洲免费av在线视频| 精品日产1卡2卡| www.精华液| 黄色a级毛片大全视频| 一区二区三区国产精品乱码| 真人做人爱边吃奶动态| 超碰成人久久| 一级a爱视频在线免费观看| 亚洲国产高清在线一区二区三 | 久久天堂一区二区三区四区| 国产主播在线观看一区二区| 一区二区日韩欧美中文字幕| 婷婷六月久久综合丁香| 国产av一区二区精品久久| 丰满的人妻完整版| 中文字幕人妻丝袜一区二区| 日韩三级视频一区二区三区| 哪里可以看免费的av片| 中文字幕人妻丝袜一区二区| 国产午夜精品久久久久久| 欧美日韩中文字幕国产精品一区二区三区| 国产一区二区在线av高清观看| 国产三级黄色录像| 久久久久久大精品| 听说在线观看完整版免费高清| 久久中文字幕人妻熟女| 黄色视频,在线免费观看| 99国产精品一区二区蜜桃av| 久久伊人香网站| 国产高清videossex| 国产精品电影一区二区三区| 国产熟女xx| 国产精品1区2区在线观看.| 动漫黄色视频在线观看| 国产av在哪里看| 日本 av在线| 免费高清视频大片| 黑丝袜美女国产一区| 国产成人精品无人区| 丝袜人妻中文字幕| 日韩有码中文字幕| 色综合欧美亚洲国产小说| 观看免费一级毛片| 热re99久久国产66热| 久久久久国产精品人妻aⅴ院| 亚洲专区国产一区二区| 久久久久久免费高清国产稀缺| 男人舔女人的私密视频| 国产精品久久久av美女十八| 国产真人三级小视频在线观看| 99热只有精品国产| 在线天堂中文资源库| 天堂√8在线中文| 男女之事视频高清在线观看| 99riav亚洲国产免费| 欧美人与性动交α欧美精品济南到| 成人国语在线视频| 国产片内射在线| 久久青草综合色| 欧美乱色亚洲激情| 999精品在线视频| 亚洲国产精品sss在线观看| 国产91精品成人一区二区三区| 老汉色av国产亚洲站长工具| 欧美日韩中文字幕国产精品一区二区三区| 日日干狠狠操夜夜爽| 日本三级黄在线观看| www.熟女人妻精品国产| 亚洲av片天天在线观看| 侵犯人妻中文字幕一二三四区| 亚洲人成网站在线播放欧美日韩| 久久婷婷成人综合色麻豆| 日韩成人在线观看一区二区三区| 99精品欧美一区二区三区四区| 久久中文字幕人妻熟女| 国产av又大| 成人亚洲精品av一区二区| 国产精品久久电影中文字幕| 一级毛片高清免费大全| www日本在线高清视频| 国产高清视频在线播放一区| 草草在线视频免费看| 久久欧美精品欧美久久欧美| 国产激情欧美一区二区| 满18在线观看网站| 精品国产超薄肉色丝袜足j| 欧美色视频一区免费| 国产爱豆传媒在线观看 | 国产亚洲精品一区二区www| 亚洲午夜精品一区,二区,三区| 在线播放国产精品三级| 久99久视频精品免费| 免费在线观看黄色视频的| www.精华液| 搡老熟女国产l中国老女人| 麻豆成人av在线观看| 久久人人精品亚洲av| 久久中文看片网| 国产一区二区在线av高清观看| 日本 欧美在线| 好男人在线观看高清免费视频 | 国产午夜福利久久久久久| 久久人人精品亚洲av| 美女高潮到喷水免费观看| 一个人观看的视频www高清免费观看 | 国产又爽黄色视频| 美女高潮到喷水免费观看| 日本 欧美在线| 美女 人体艺术 gogo| 亚洲天堂国产精品一区在线| 午夜日韩欧美国产| 少妇 在线观看| 成人三级黄色视频| 久久久久久大精品| 老鸭窝网址在线观看| 在线观看免费午夜福利视频| 欧美成人免费av一区二区三区| 丁香六月欧美| 精品少妇一区二区三区视频日本电影| 亚洲全国av大片| 国产精品久久久人人做人人爽| 国产av不卡久久| 制服丝袜大香蕉在线| 一本一本综合久久| 叶爱在线成人免费视频播放| 久久人妻福利社区极品人妻图片| 最近在线观看免费完整版| www.精华液| av电影中文网址| 久久精品人妻少妇| 久久精品国产亚洲av香蕉五月| 色综合站精品国产| 青草久久国产| 欧洲精品卡2卡3卡4卡5卡区| 老司机深夜福利视频在线观看| 老熟妇仑乱视频hdxx| 国产蜜桃级精品一区二区三区| 听说在线观看完整版免费高清| 99在线视频只有这里精品首页| 欧美大码av| 老熟妇乱子伦视频在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲九九香蕉| 桃色一区二区三区在线观看| 夜夜躁狠狠躁天天躁| 亚洲成人免费电影在线观看| 男女下面进入的视频免费午夜 | 99精品久久久久人妻精品| 天堂影院成人在线观看| 99国产精品一区二区三区| 色哟哟哟哟哟哟| 亚洲成人国产一区在线观看| 最近最新中文字幕大全免费视频| 美女 人体艺术 gogo| 亚洲人成网站高清观看| 亚洲国产精品合色在线| 美女免费视频网站| 亚洲性夜色夜夜综合| 两性夫妻黄色片| 国产高清videossex| 亚洲专区字幕在线| 每晚都被弄得嗷嗷叫到高潮| 亚洲男人天堂网一区| 99国产精品一区二区蜜桃av| 无人区码免费观看不卡| 我的亚洲天堂| 欧美三级亚洲精品| 国产精品免费一区二区三区在线| 国产一区二区三区在线臀色熟女| 操出白浆在线播放| 国产亚洲av高清不卡| 一区二区日韩欧美中文字幕| 日本免费a在线| 桃色一区二区三区在线观看| 精品高清国产在线一区| 欧美+亚洲+日韩+国产| 香蕉av资源在线| 最近最新中文字幕大全免费视频| 免费在线观看成人毛片| 午夜日韩欧美国产| 日本免费一区二区三区高清不卡| 亚洲av成人av| 亚洲五月婷婷丁香| 亚洲天堂国产精品一区在线| 又黄又粗又硬又大视频| 亚洲精品一区av在线观看| videosex国产| av福利片在线| 黄色a级毛片大全视频| 久久香蕉精品热| www.999成人在线观看| 成人手机av| 日本三级黄在线观看| 亚洲国产精品合色在线| 人人妻人人澡欧美一区二区| 长腿黑丝高跟| 日韩高清综合在线| 丰满人妻熟妇乱又伦精品不卡| 精品福利观看| 少妇被粗大的猛进出69影院| 夜夜爽天天搞| 欧美中文综合在线视频| 激情在线观看视频在线高清| 在线视频色国产色| 嫩草影院精品99| 国产视频内射| 国产亚洲精品av在线| 99国产极品粉嫩在线观看| 亚洲av日韩精品久久久久久密| 黄色片一级片一级黄色片| 欧美最黄视频在线播放免费| 动漫黄色视频在线观看| 欧美激情 高清一区二区三区| 日韩高清综合在线| 国产高清videossex| 国产精品1区2区在线观看.| 在线视频色国产色| 国产伦人伦偷精品视频| 久久久国产成人精品二区| 国产成+人综合+亚洲专区| 男女午夜视频在线观看| 亚洲狠狠婷婷综合久久图片| 很黄的视频免费| 色综合婷婷激情| 亚洲全国av大片| 国产午夜精品久久久久久| 久久九九热精品免费| 啦啦啦观看免费观看视频高清| 身体一侧抽搐| 一进一出好大好爽视频| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美最黄视频在线播放免费| 久久久久久人人人人人| 国产精品二区激情视频| 久久久国产成人免费| 怎么达到女性高潮| 一区二区三区激情视频| 国产精品,欧美在线| 黄片大片在线免费观看| 亚洲人成网站高清观看| 亚洲电影在线观看av| 久久久久久久久久黄片| 嫁个100分男人电影在线观看| 国产人伦9x9x在线观看| 动漫黄色视频在线观看| 一二三四社区在线视频社区8| 日韩av在线大香蕉| 亚洲国产中文字幕在线视频| 老司机深夜福利视频在线观看| 自线自在国产av| 亚洲av日韩精品久久久久久密| 国产亚洲av嫩草精品影院| 国产aⅴ精品一区二区三区波| 成年版毛片免费区| 久久亚洲精品不卡| 久久久久久久精品吃奶| 精品久久久久久成人av| 免费无遮挡裸体视频| 中文字幕人成人乱码亚洲影| 日日干狠狠操夜夜爽| 特大巨黑吊av在线直播 | 岛国视频午夜一区免费看| 18禁裸乳无遮挡免费网站照片 | 国产精品野战在线观看| 国产精品99久久99久久久不卡| 亚洲精品久久成人aⅴ小说| 香蕉丝袜av| 成年免费大片在线观看| 91九色精品人成在线观看| 日韩精品青青久久久久久| 亚洲精品国产精品久久久不卡| 国产真实乱freesex| 波多野结衣巨乳人妻| 日本五十路高清| 国产精品日韩av在线免费观看| 男人操女人黄网站| 欧美最黄视频在线播放免费| 国产亚洲av高清不卡| 精华霜和精华液先用哪个| 黄频高清免费视频| 日韩一卡2卡3卡4卡2021年| 免费在线观看日本一区| 欧美亚洲日本最大视频资源| 久久精品影院6| e午夜精品久久久久久久| 无限看片的www在线观看| 亚洲欧美日韩无卡精品| 亚洲七黄色美女视频| 国产片内射在线| 不卡一级毛片| 嫩草影院精品99| 法律面前人人平等表现在哪些方面| 999精品在线视频| av在线天堂中文字幕| 精品久久久久久成人av| 亚洲精品中文字幕在线视频| 国产精品日韩av在线免费观看| 老司机福利观看| 亚洲国产欧美日韩在线播放| 亚洲九九香蕉| 国内久久婷婷六月综合欲色啪| 变态另类成人亚洲欧美熟女| 黄色女人牲交| aaaaa片日本免费| 又紧又爽又黄一区二区| 极品教师在线免费播放| 一本精品99久久精品77| 日本五十路高清| 一本久久中文字幕| 搡老熟女国产l中国老女人| 在线观看一区二区三区| 一本久久中文字幕| 成人精品一区二区免费| 男女做爰动态图高潮gif福利片| 好男人在线观看高清免费视频 | 一区福利在线观看| 久9热在线精品视频| 看片在线看免费视频| 亚洲国产看品久久| 真人一进一出gif抽搐免费| 搞女人的毛片| 亚洲成av片中文字幕在线观看| 国产亚洲欧美98| 亚洲一区中文字幕在线| 深夜精品福利| 久久久国产成人精品二区| 亚洲一区二区三区色噜噜| 久久中文字幕一级| 高清在线国产一区| 伊人久久大香线蕉亚洲五| 亚洲精品中文字幕一二三四区| 高潮久久久久久久久久久不卡| 亚洲国产精品sss在线观看| 欧美乱妇无乱码| 一本综合久久免费| 国产精品二区激情视频| 免费看日本二区| 亚洲国产高清在线一区二区三 | 1024手机看黄色片| 一本大道久久a久久精品| 国产成年人精品一区二区| 欧美黄色淫秽网站| 亚洲熟女毛片儿| 久久精品国产亚洲av高清一级| 国内精品久久久久精免费| 男女下面进入的视频免费午夜 | 精品久久久久久久人妻蜜臀av| 美女午夜性视频免费| 别揉我奶头~嗯~啊~动态视频| 日本熟妇午夜| 日韩三级视频一区二区三区| 成人亚洲精品av一区二区| 18禁观看日本| 啪啪无遮挡十八禁网站| 中文字幕av电影在线播放| 亚洲国产精品999在线| 久99久视频精品免费| 久热爱精品视频在线9| 成人亚洲精品一区在线观看| 久久午夜综合久久蜜桃| 97碰自拍视频| 高清毛片免费观看视频网站| 757午夜福利合集在线观看| 男女下面进入的视频免费午夜 | 99热6这里只有精品| 久热爱精品视频在线9| 老汉色av国产亚洲站长工具| 国产亚洲欧美精品永久| 成人国产一区最新在线观看| 十八禁人妻一区二区| 亚洲一区二区三区不卡视频| 黄色视频不卡| 国产av一区在线观看免费| 国产av在哪里看| 午夜福利视频1000在线观看| 日本熟妇午夜| 91成年电影在线观看| 国产aⅴ精品一区二区三区波| 国产一区在线观看成人免费| 午夜激情福利司机影院| 亚洲一区二区三区色噜噜| 一级片免费观看大全| 午夜日韩欧美国产| 亚洲第一青青草原| 久久久久国产一级毛片高清牌| 久久欧美精品欧美久久欧美| 久久久国产成人免费| 激情在线观看视频在线高清| 亚洲人成77777在线视频| 精品一区二区三区av网在线观看| 成人三级黄色视频| 99久久国产精品久久久| 亚洲中文字幕一区二区三区有码在线看 | 免费高清在线观看日韩| 久久午夜综合久久蜜桃| 国产又爽黄色视频| 99热6这里只有精品| 悠悠久久av| 91国产中文字幕| 国语自产精品视频在线第100页| 欧美日韩亚洲综合一区二区三区_| 亚洲 欧美一区二区三区| 丰满的人妻完整版| 成人亚洲精品av一区二区| 午夜影院日韩av| 女警被强在线播放| 又紧又爽又黄一区二区| 91av网站免费观看| 国产成人精品久久二区二区免费| 国产av不卡久久| 国产又黄又爽又无遮挡在线| 美女免费视频网站| av片东京热男人的天堂| 大型黄色视频在线免费观看| 亚洲五月婷婷丁香| 在线观看免费视频日本深夜| 一级片免费观看大全| 天天一区二区日本电影三级| 欧美性猛交╳xxx乱大交人| 成人欧美大片| 老汉色av国产亚洲站长工具| 久久人妻av系列| 在线永久观看黄色视频| 色av中文字幕| 亚洲第一av免费看| 性欧美人与动物交配| 91成人精品电影| 国内精品久久久久久久电影| 999精品在线视频| 久久性视频一级片| 变态另类成人亚洲欧美熟女| 亚洲av熟女| 中文字幕精品免费在线观看视频| 亚洲狠狠婷婷综合久久图片| 男男h啪啪无遮挡| 久久香蕉国产精品| 国产成人av激情在线播放| 国产蜜桃级精品一区二区三区| 成人亚洲精品av一区二区| 国产在线观看jvid| 亚洲成国产人片在线观看| 亚洲美女黄片视频| aaaaa片日本免费| 波多野结衣高清无吗| 国产真实乱freesex| 国产一区二区三区视频了| 国产色视频综合| 亚洲成人免费电影在线观看| 这个男人来自地球电影免费观看| 国产三级黄色录像| 欧美国产日韩亚洲一区| 男人舔女人下体高潮全视频| 校园春色视频在线观看| 日韩精品免费视频一区二区三区| 欧美日韩亚洲国产一区二区在线观看| 久久精品夜夜夜夜夜久久蜜豆 | 色播亚洲综合网| 岛国在线观看网站| 啪啪无遮挡十八禁网站| av免费在线观看网站| 日本 欧美在线| 一二三四在线观看免费中文在| 18美女黄网站色大片免费观看| 老熟妇乱子伦视频在线观看| 免费搜索国产男女视频| 婷婷亚洲欧美| 欧美成人性av电影在线观看| 婷婷精品国产亚洲av| 色精品久久人妻99蜜桃| 在线观看免费视频日本深夜| 1024视频免费在线观看| 一级黄色大片毛片| 久久久久国内视频| 久久国产精品影院| 18美女黄网站色大片免费观看| 亚洲五月色婷婷综合| cao死你这个sao货| 亚洲av五月六月丁香网| 免费搜索国产男女视频| 免费无遮挡裸体视频| 老鸭窝网址在线观看| 亚洲中文字幕日韩| 成年人黄色毛片网站| 国产爱豆传媒在线观看 | 可以在线观看的亚洲视频| 亚洲 国产 在线| 亚洲欧美激情综合另类| 人人妻,人人澡人人爽秒播| x7x7x7水蜜桃| 色在线成人网| 精品午夜福利视频在线观看一区| 久久国产精品男人的天堂亚洲| 熟女少妇亚洲综合色aaa.| 少妇被粗大的猛进出69影院| xxx96com| 亚洲精品粉嫩美女一区| 看黄色毛片网站| 极品教师在线免费播放| 国产精品亚洲美女久久久| 日本免费a在线| 又紧又爽又黄一区二区| 久久香蕉激情| 神马国产精品三级电影在线观看 | 亚洲一区高清亚洲精品| 国产三级在线视频| 精品欧美一区二区三区在线| 日本 av在线| 高清在线国产一区| 精品国产美女av久久久久小说| 黄色丝袜av网址大全| 深夜精品福利| 日日摸夜夜添夜夜添小说| 亚洲熟妇熟女久久| 中文字幕最新亚洲高清| 国内揄拍国产精品人妻在线 | 免费一级毛片在线播放高清视频| 99精品欧美一区二区三区四区| 免费在线观看日本一区| 久久久精品欧美日韩精品| 99国产精品一区二区三区| 18美女黄网站色大片免费观看| 久久婷婷成人综合色麻豆| 99久久国产精品久久久| 搡老岳熟女国产| 欧美国产日韩亚洲一区| 亚洲精品美女久久久久99蜜臀| 一级毛片高清免费大全|