8
Task Scheduling in Cloud Environments: A Survey of Population‐Based Evolutionary Algorithms

Fahimeh Ramezani1, Mohsen Naderpour1, Javid Taheri2, Jack Romanous1, and Albert Y. Zomaya3

1 Centre for Artificial Intelligence, Faculty of Engineering and Information Technology, University of Technology Sydney (UTS), Sydney, NSW, Australia

2 Department of Computer Science, Karlstad University, Karlstad, Sweden

3 Centre for Distributed and High Performance Computing, School of Computer Science, University of Sydney, Sydney, NSW, Australia

8.1 Introduction

Cloud and grid are two distributed, i.e. heterogeneous, computing environments that facilitate large‐scale computing. Grid computing shares dispersed, heterogeneous pools of hosts, servers, storage systems, data, networks, and sensors within one integrated system. One of the main strategies of grid computing is to distribute pieces of a program over several computers [1]. Cloud computing is also a large‐scale distributed computing paradigm, but these systems are driven by economies of scale. The idea is to serve collections of abstract, virtual, and dynamically scalable power and storage resources as managed platforms and services on demand to external customers over the Internet under a service level agreement (SLA). The basic principle is to relocate computing from a local computer to an online network of devices [1].

There are two main differences between the architectures and principles of cloud and grid computing that need to be considered when designing a task scheduling system. These are pricing schemes and the large size of the resource pools. For example, in a grid, the cost of computation is based on the volume of resources used, such as the number of complete central processing unit (CPU) cycles. However, the running time of the underlying hosting instances may affect any cost calculations based on pay‐per‐use pricing strategies. In addition, the size of the resource pool in a grid is usually limited, whereas a cloud is usually assumed to have an infinite amount of resources [2].

While typically more expansive than grid systems, clouds do not have an unlimited amount of resources despite what customers might believe. These resources can become strained with fluctuating customer needs, which means cloud providers must balance their resource load and utilization. Usually, this balancing involves automatically assigning the resources needed for the current service requests in the most optimal way to meet SLA criteria while minimizing costs. This study focuses on reviewing the existing task scheduling methods for cloud environments.

A cloud environment dynamically receives many jobs from the users of its applications in every millisecond. Individual jobs include several tasks. These tasks accrue in numerous queues and are then transferred to the task schedulers. The task schedulers are responsible for distributing these tasks to virtual machines (VMs) to execute. In turn, the VMs are allocated to physical machines (PM) (see Figure 8.1), each having a different number of virtual CPUs and different amounts of memory. To achieve optimal resource utilization in a cloud environment, optimization measures are applied by the task schedulers to distribute tasks among the VMs. The scheduling process is repeated dynamically to schedule every set of tasks among the VMs as they arrive. Given that each user arbitrarily sends tasks to the cloud environment, the amount and type of tasks in the queues may be significantly different from one schedule batch to the next.

Schematic illustration of the cloud objects and their relations.

Figure 8.1 Cloud objects and their relations [3].

There are two different types of jobs within a cloud environment: computationally intensive jobs and data‐intensive jobs. The goal when scheduling computationally intensive jobs is to allocate all jobs among the computational nodes (CNs) or VMs to minimize the overall makespan (i.e. the time to transfer the data files plus execute the job) across the entire system. With computationally intensive jobs, the total transfer time for all the data files (the input and output files for each task of the job) is usually relatively negligible compared to the execution of the job. The speed and number of available resources in different CNs/VMs and the network capacity between the CNs/VMs and SNs are common considerations within these systems. With data‐intensive jobs, the time to transfer all data files is generally assumed to take significantly longer than executing the job. Therefore, jobs will demand less time to download the related data files for execution and thus the execution time of the system is lessened. A typical consideration in such allocations is the capacity of the interconnected network links [4].

In complex systems such as this, there are three main phases of scheduling: resource discovery, matchmaking, and job execution. In the resource discovery phase, the schedulers conduct a global search to generate a list of all available resources in the system along with their limitations and history profiles. In the matchmaking phase, the schedulers try to determine the best choices for executing jobs and replicating the data files. The capacity of each CN/VM/SN and the quality of the network connecting them are some of the basic characteristics that schedulers need to account for to perform this phase. In the final phase of a job's execution, the schedulers issue commands to the CNs to execute jobs and to the SNs to replicate the data files [4].

The problem of task scheduling in a distributed computing system is an NP‐hard optimization problem. It affects quality of service (QoS) because task scheduling is the process that optimizes QoS criteria like service costs and response times. However, using a heuristic algorithm ensures that the scheduling algorithm keeps to an acceptable runtime as it immensely reduces the complexity of a search space.

The objective of this chapter is to provide a systematic literature review on the existing task scheduling methods that rely on evolutionary computation algorithms. The structure is as follows: a brief introduction to cloud environments and the problem is provided in Section 8.2. The research methodology is described in Section 8.3. Section 8.4 contains the results. Section 8.5 discusses the research gaps and future directions. Section 8.6 concludes the chapter.

8.2 Physical Topology of Cloud

Cloud architectures focus on important difficulties surrounding large‐scale data processing. In traditional data processing, it can be difficult to mobilize as many machines as an application requires or to provide a machine when one is needed. Further, it can be hard to distribute and coordinate a large‐scale processing job on different machines, provide backup machines for recovery in case of machine failure, or auto‐up or downscale a running machine based on dynamic workloads. Moreover, the problems do not end once the job is complete, as the machines either need to be disposed of or redeployed. Cloud architectures were designed to resolve such difficulties [5]. Figure 8.2 illustrates the physical topology of a cloud cluster that consists of physical and logical resources such as: physical hosts (i.e. PMs), data storage (DS), and VMs. Cloud environments also comprise middleware and other components, such as a hypervisor, schedulers, jobs, and data files.

Cloud computing provides a novel infrastructure that focuses on commercial resource provision by incorporating virtualization [6]. Virtualization techniques can consolidate the hardware resources of a PM, such as CPUs or memory, and other physical computing resources, such as storage and networking, into pools of resources within a cloud cluster that can be made available dynamically and flexibly and with several operating systems [7]. In essence, virtualization provides a virtual environment for every operating system allocated to a PM. So, an operating system within a virtual environment can be seen as an independent VM [8]. The virtualization layer schedules and allocates the physical resources, and makes each VM think that it totally owns all the physical resources of the underlying hardware [9]. This gives rise to an integral characteristic of a cloud environment: elasticity. Elasticity is the ability to rapidly provide and release, i.e. increase and decrease, the number of physical resources allocated to any single VM [10].

Schematic illustration of the physical topology of a cloud cluster.

Figure 8.2 Physical topology of a cloud cluster.

The next section explains physical and logical cloud resources in more detail, as well as their middleware and components.

8.2.1 Cloud Resources

Resources are any physical or virtual components with limited availability in a computer system. There are two types of resources: logical and physical [11]. This section presents the definitions of the main types of resources in a cloud system.

8.2.1.1 Physical Resources

The lowest levels of the cloud stack contain physical infrastructure in the form of clusters, data centers, and desktop computers. The IT infrastructure and virtualized environments are deployed and managed in layers above these foundations. Data centers handle deployment, which might include hundreds or possibly thousands of machines. This level provides the “horsepower” [12].

The physical resources within this infrastructure typically include processors, memory, and peripheral devices. Physical resources can vary dramatically from one computer to the next. Typically, a mainframe system has numerous parallel processors, hundreds of disks, millions of bytes of memory, large numbers of terminals, tapes, and other special‐purpose peripheral devices, which is further connected to a global network with thousands of other similar mainframes [11].

  • PMs, also known as physical hosts, are a collection of CNs, which are usually configured in clusters. Each CN comprises numerous homogeneous processors that have identical processing speeds and numbers of processors. The processing speed of each CN is a relative number that reflects its processing speed compared to other CNs in the system. The number of processors in a CN determine its ability to execute a job with a certain degree of parallelism in a non‐preemptive fashion, i.e. whether it can execute a job without interrupting another job [4].
  • CPUs perform most of the processing inside a computer, and one of the prime concerns in cloud systems is high CPU utilization. CPU utilization is the amount of work handled by the CPU, which varies depending on the number and type of computing tasks being performed. Some tasks are CPU‐intensive; others are not. Hence, better utilization means more data can be processed with the same number of CPUs [11].
  • Memory refers to the devices that store data during processing. Today, memory management is no longer performed using static methods. Rather, as cloud environments are dynamic and volatile, memory allocation also needs to be dynamic. Hence, most cloud computing architectures are trending toward clustered memory structures in the form of virtual entities [11].
  • DS means saving data in a remote storage system maintained by a third party, where the computers and databases are connected via the internet. Cloud storage systems usually comprise hundreds of data servers and, because computers occasionally require maintenance or repair, it is critical to store the same information on multiple machines, i.e. a backup. This is called redundancy. Without a level of redundancy, cloud providers could not guarantee their clients would be able to access their information at any time. Most providers store backup data on servers with a different source of power so clients can access their data even if a power supply fails [11].
  • Network elements include a vast array of different components, such as hubs, bridges, switches, etc. Managing many network elements can lead to unsustainable administration costs unless typical system management tasks can be managed with automated methods [11].

8.2.1.2 Logical Resources

Logical resources are system abstractions that have temporary control over physical resources. They can support the development of applications and well‐organized communication protocols. Logical resources are important to cloud environments for several reasons [11]:

  • Operating systems provide users with mechanisms and policies to manage physical resources (hardware), files, devices, performance, security, faults, etc. which, in turn, help users make the best use of the resources available [11].
  • VMs are software computers that, just like physical computers, run operating systems and applications. Each VM comprises its own virtual (i.e. software‐based) hardware, including a virtual CPU, memory, hard disk, and network interface card that is decoupled from any underlying physical hardware.
  • Energy is also a logical resource. Using less energy is obviously better, and the main technique used to decrease energy consumption is to concentrate the workload on the smallest number of physical nodes while switching off idle nodes. However, this approach does require a trade‐off between power and performance as performance can degrade when workloads are consolidated [11].
  • Network throughput, also known as network bandwidth, is a measure of the highest amount of data that can be passed in bits per second. A common technique for measuring throughput is to transfer a “large” file between two systems while measuring the time required for the file transfer to complete. Generally, higher throughput means a network is more efficient. Bandwidth management protocols prevent congestion largely by accepting or refusing a new arrival cell. In a cloud environment, problems with bandwidth allocation are usually resolved by integrating higher link capacities between different types of services to prevent a network overload [11].
  • Delay of a second or even a millisecond lag in delay‐sensitive traffic can make a notable difference to the QoS for an end user. Therefore, when scaling data centers up or down, cloud service providers must make highly accurate decisions that take a range of utility criteria into account, e.g. the delay in setting up virtual resources, in migrating existing processes, in allocating or reallocating resources, etc. [11].

8.2.2 Resource Utilization

Considering the continued growth in cloud computing and that resource utilization directly impacts costs, resource management techniques enable cloud providers to consolidate workloads to achieve optimal resource utilization while adhering to SLAs at minimum cost [13]. If X is the total hardware capacity of the server, and Y is the current hardware capacity used, then:

  • the workload is under‐utilized if images
  • the workload is over‐utilized if images
  • resource utilization is optimal when X ≈ Y.

8.2.3 Cloud Middleware and Components

This section presents the main middleware and components of a cloud cluster.

8.2.3.1 Hypervisors

In computing, a hypervisor – also known as virtual machine monitor (VMM) – is one of many hardware virtualization techniques that allows multiple operating systems, termed guests, to run simultaneously on a host computer. It is termed a hypervisor because, conceptually, it operates at a level higher than a supervisory program [14]. Hypervisors are installed on physical hardware in a virtualized data center as a platform for running VMs. They are responsible for executing guest operating systems, VMs, and consolidating computing resources. Additionally, the hypervisor dynamically allocates physical hardware resources to the VMs as needed to support their operations. In this way, multiple instances of a variety of VMs can share virtualized hardware resources. Hypervisors allow VMs to operate with some amount of independence from the underlying physical hardware. For example, a hypervisor can move a VM from one physical host to the next, or its virtual disks can be moved from one type of storage to another without impacting the function of the VM [7].

8.2.3.2 Schedulers

Schedulers are independent entities in a distributed cloud system that receive jobs and data files from users and then schedule, assign, or replicate them to destination nodes for processing or storage (i.e. CNs/VMs/SNs). Schedulers are the means by which systems can execute multiple parallel jobs simultaneously, given available nodes, while other jobs are queued until nodes become available. Job schedulers manage queues of waiting jobs and coordinate node allocations [15]. They are the decision makers of the system. They decide where each job and data file should be executed, stored, or replicated. The main goals of a scheduler are to optimize the throughput of a system (number of jobs completed per time unit), provide response time guarantees (finish a job by a deadline), and keep resource utilization high [15]. Every individual scheduler is able to connect to either all CNs/VMs/SNs or only a subset of them. They can be either sub‐entities of a CN/SN or an individual broker that accepts jobs and data files from users [4].

8.2.4 Jobs and Tasks

A job is generated by users and given to schedulers to be executed by processing nodes. Each job is made of many dependent tasks known as a directed acyclic graph (DAG). DAGs contain specific characteristics about the tasks, such as execution time, the number of required processors, and so on. Execution time governs the seconds needed for the task to be completed using the slowest CPU in the system. Note that the actual execution time for a task can be significantly decreased if it is allocated to a faster CPU. The number of processors determines the degree of parallelism of a task [4].

In a DAG, jobs are represented as different shapes, which correlate to the various classes of operations. The specifications for these representations include width, height, number of processors, time to execute, shape, and a list of the data files needed. The width is the highest number of tasks able to run concurrently within a job. The height is the number of stages or levels in a job. The number of processors is the largest number of processors needed by any one task in the job. The time to execute specifies the lowest amount of time a job can be run on the slowest CPU in the system. Lastly, the list of required data files contains the files a CPU must download prior to executing the job. The actual data required to execute individual tasks is provided either via: (i) previously existing data files listed as required data files; and/or (ii) the output of the task's immediate predecessors in the DAG. These predecessors could either be local files, temporary files, or inter‐processing messages. Job shapes can be series‐parallel, homogeneous‐parallel, heterogeneous‐parallel, and single‐task. Figure 8.3 illustrates the different job shapes [4].

Schematic illustrations of (a) series–parallel (b) homogeneous-parallel (c) heterogeneous-parallel (d) single-task.

Figure 8.3 Jobs' shapes: (a) series‐parallel (b) homogeneous‐parallel (c) heterogeneous‐parallel (d) single‐task [4].

8.2.5 Virtual Cluster

A virtual cluster is a collection of VMs configured in a way that makes them act as though they were a traditional high‐performance computing (HPC) cluster. This usually involves installing and configuring job management software, which includes a batch scheduler and a shared storage system (e.g. a network/distributed file system) [16].

8.2.6 Multi‐Objective Task Scheduling

A multi‐objective optimization problem (MOOP) is a problem that has several conflicting objectives that need to be optimized simultaneously:

equation

where x ∈ X and X is the decision space.

The objectives in a MOOP often conflict with one another. Hence, Pareto dominance is used to perform a comparison between the suggested solutions as follows:

For u, v ∈ X, u dominates v if and only if,

equation

If solution x* is not dominated by any other solution, then it is considered Pareto optimal. The term “Pareto front” describes the set containing every Pareto optimal solution within the objective space [2].

In this study, most of the reviewed papers considered task scheduling as a MOOP that optimizes some of the conflicting objectives, e.g. service cost, power consumption, makespan, response time, flow time, execution time, data/task transfer time, task queue length, and resource utilization.

8.3 Research Methodology

The research methodology is based on PRISMA, i.e. the preferred reporting items for systematic reviews and meta‐analyses. PRISMA consists of a 27‐item checklist and a four‐phase flow diagram that focuses on randomized trials. However, it also can be used as a basis for conducting systematic reviews of other types of research [17]. Figure 8.4 illustrates our research methodology followed by a detailed description.

  • Rationale and objectives: As described in the introduction, the rationale is task scheduling within cloud computing. The objective is reviewing state‐of‐the‐art evolutionary computation algorithms developed during the last decade.
  • Eligibility criteria: To be included in this chapter, the studies must have:
    • been published in peer‐reviewed journals
    • been written in English
    • been published between 2008 and 2018
    • developed an evolutionary computation‐based scheduling solution.
  • Studies were excluded if the full text of the study was unavailable or if it related to:
    • QoS parameter‐based scheduling
    • multi‐processor‐based scheduling
      Flowchart depicts the research methodology.

      Figure 8.4 Research methodology.

    • fuzzy‐based scheduling
    • clustering‐based scheduling
    • another type of scheduling approach.
  • Information sources: Scopus – a large dataset of publications commonly used in this field.
  • Data extraction and data synthesis: Several combinations of keywords were used to search the Scopus dataset: (i) “cloud computing” and “task scheduling”; (ii) “cloud computing” and “job scheduling”; and (iii) “cloud computing” and “workflow scheduling.” In addition to these keyword combinations, the study needed to have at least one evolutionary computation technique including: genetic algorithms (GA), particle swarm optimization (PSO), bee colony optimization (BCO), ant colony optimization (ACO), etc. The data extraction process is presented in Figure 8.5. As shown, 187 records were initially identified. After removing duplicated papers, 151 records remained. The titles, keywords, and abstracts of each paper were then evaluated for eligibility by the authors, resulting in a final dataset of 99 studies.
  • Results synthesis: The papers were then categorized based on the objectives used and the primary type of evolutionary algorithm. Section 8.4 presents the results of the review.
  • Summary of evidence and limitations: The key findings, the strength of the evidence for each key outcome, are discussed in Section 8.5 along with the limitations of this study and recommendations for future research.
Flowchart depicts the process of data extraction.

Figure 8.5 Data extraction process.

8.4 Results

This section presents the results of the research methodology categorized into sub‐sections. Each sub‐section focuses on reviewing the studies that have developed task/job scheduling in cloud environments by applying evolutionary algorithms, such as PSO, GA, ACO, and BCO. The review outlines the basis of how evolutionary algorithms have been improved or used in combination with other algorithms to optimize multi‐objective task scheduling problems, as well as the objective functions to be optimized in each scheduling model.

8.4.1 Particle Swarm Optimization

Guo et al. [18] proposed a multi‐objective task scheduling model to lessen task execution time and the cost of using the PSO algorithm. Zhan and Huo [19] developed “Improved PSO” (IPSO) by combining PSO and simulated annealing (SA). They leveraged SA's fast convergence time in each iteration of PSO to: increase the convergence rate; improve the efficiency of the scheduling algorithm; and prevent PSO from falling into a local optima. IPSO reduces the average task running time and increases the ratio of resource utilization compared to ACO, GA, and SA.

Taheri et al. [20] considered the data files required for jobs from public or private clouds and proposed a bi‐objective job scheduling optimization model using PSO (PSO‐ParFnt). Their approach minimizes job execution as well as data file transfer times. They also revised the generic version of PSO in order to create collections of targeted swarms as an alternative to a generic large swarm.

Netjinda et al. [21] developed a workflow scheduling algorithm, called PSO‐VNS, by combining PSO with a variable neighborhood search (VNS) technique where the VNS refines the global best from every iteration of PSO to improve fitness convergence. They showed that their method outperforms both greedy methods and infrastructure‐as‐a‐service (IaaS) cloud partial critical paths in reducing costs.

Ouyang et al. [22] proposed a green cloud task scheduling algorithm (GCTA) based on improved binary PSO (BPSO). This work avoids matrix operations (that represent the tasks assigned to VMs) by using a pipeline number for VMs and redefining the position and velocity of the particles. Their simulation results show that the GCTA requires less execution time and consumes fewer resources than sequential scheduling.

Ramezani et al. [23] proposed a PSO‐based task scheduling method to minimize task execution and transfer times. The method sits within their task‐based load balancing system, which balances the system load by only transferring extra tasks from an overloaded VM rather than migrating the entire overloaded VM.

Yang et al. [24] formulated trust relationships between tasks and resource sets coupled with a trust‐based scheduling algorithm (TBHSA) that relies on a set‐based PSO (S‐PSO) method to select a trustworthy computation service. A set covering problem (SCP) tree search method selects the storage services. These authors show that TBHSA performs better than both PSO and ACO at reducing time and cost and enhancing security and reliability.

Ramezani et al. [3] consider four conflicting objectives, namely minimizing task transfer time, task execution cost, power consumption, and task queue length, to develop a comprehensive multi‐objective optimization model using PSO (MOPSO) for task scheduling. The model is essentially an extension to the PSO and GA algorithms to support these four objective functions. Its efficiency is compared against a multi‐objective GA (MOGA) using CloudSim. The results show that MOPSO is a faster and more accurate evolutionary algorithm than MOGA for solving such problems.

Alkhashai and Omara [25] proposed a new algorithm called BFPSOTS by combining Best‐Fit (BF), PSO, and the Tabu‐Search (TS) algorithms. They applied the BF algorithm to generate the initial population for the standard PSO algorithm rather than generating a random population. They also used the TS algorithm to improve PSO's local search. In an evaluation using CloudSim, the results show that BFPSOTS outperforms the standard PSO algorithm in reducing execution times for tasks, cost, and resource utilization.

Other studies focus on hybrid metaheuristic methods for task scheduling [26]. He et al. [27] combined PSO, ACO, and GA to create a more efficient task scheduling method. They improved the PSO algorithm by applying a random inertia weight to generate the initial scheduling results, then used the generated results of the IPSO as the initial pheromones for the ACO algorithm to find the optimal scheduling scheme. They also incorporated an elitist strategy and a crossover operator into the GA to improve the efficiency of the ACO algorithm. The final result is a combined algorithm that can reduce the total task makespan.

Jiang et al. (2016) combined the PSO and ACO algorithms to present a new scheduling algorithm that reduces the processing time and cost of the task. Based on their evaluation results, the combined algorithm is faster than PSO and ACO at generating the scheduling results.

Kamalinia and Ghaffari [26] combined PSO and GA to present a new heterogeneous earliest finish time (HEFT) algorithm, called PSO‐GA‐HEFT, to reduce makespans and enhance resource efficiency in comparison to HEFT_UpRank, HEFT_DownRank, HEFT_LevelRank, and the multiple priority queues and a memetic (MPQMA) algorithm.

Li et al. [28] applied PSO to propose a security and cost‐aware scheduling (SCAS) algorithm for heterogeneous tasks in scientific workflows in the cloud. The algorithm minimizes the execution cost of the total workflow while meeting a prescribed deadline and risk rate constraints.

Nirmala and Bhanu [29] proposed a metaheuristics algorithm called Catfish PSO (C‐PSO) that selects the best schedule with the least makespan and execution cost.

Shao [30] proposed a scheduling algorithm for tasks based on a PSO fission mechanism that splits the particles in an appropriate place to generate more kinds of particles so as to create diversity and, hence, avoid premature convergence of the swarm. They showed that this algorithm is faster than first in first out (FIFO) and PSO, and also solves the problem of premature convergence in PSO.

Xie et al. [31] proposed a scheduling algorithm based on PSO and the shuffled frog leaping algorithm (SFLA) that considers efficiency and trustworthiness in the cloud. The proposed algorithm avoids falling into a local optimum and outperforms GA and the TDMin‐Min algorithms.

Zhong et al. [32] combined PSO and a greedy algorithm, introducing a greedy PSO (G&PSO) algorithm that converges faster, has a stronger local and global search, and provides a better solution to balancing the workload between VMs.

Chen and Long [33] combined PSO with the ACO algorithm and incorporated parameter determination into the mix. The integrated algorithm can keep particles at a fitness level of a certain concentration. It guarantees diversity in the population, is faster, and performs better in fitting and cost than PSO.

Cui et al. [34] proposed a genetic algorithm based on a chaotic ant swarm (GA‐CAS) algorithm, in which four operators and natural selection are applied to solve a constrained multi‐objective task scheduling optimization problem that considers reliability, makespan, and flow time. They proved that GA‐CAS speeds up convergence and outperforms GA, ACO, and genetic simulated annealing (GSA), which is a hybrid heuristic algorithm comprising GA and a SA algorithm.

Gabi et al. [35] proposed an algorithm called orthogonal Taguchi‐based cat swarm optimization (OTB‐CSO) to minimize the makespan of tasks. OTB‐CSO outperforms minimum and maximum job first (Min‐Max), PSO with linear descending inertia weight (PSO‐LDIW) and a hybrid PSO with simulated annealing (HPSO‐SA) algorithms.

Gan et al. [36] introduced a niche PSO algorithm that overcomes the shortcomings of PSO in local optimization. It also improves convergence precision. The main objective of their model is to reduce execution time and cost.

Ramezani et al. [37] developed a further four‐objective PSO algorithm to embed in their bespoke multi‐objective load balancing (MO‐LB) system. This system avoids VM migration and balances the system load by transferring excessive workloads from a set of VMs allocated to an overloaded PM to other compatible VMs in the cluster with greater capacity. MO‐LB achieves better results in reducing response time, memory use, job makespan, power consumption and the time taken for the load balancing process than the VM migration technique in vMotion.

Sadhasivam and Thangaraj [38] developed a different variant of IPSO by updating the position and velocity of each iteration. This algorithm schedules applications to cloud resources while minimizing the total costs including the communication cost between resources, the task dependency cost values, and the execution cost of computer resources.

Yuan et al. [39] proposed simulated annealing PSO (SAPSO) and a temporal task scheduling model, embedded within their proposed profit maximization algorithm (PMA). This task scheduling model dynamically schedules all arriving tasks to be executed in private and public clouds based on the temporal variation of prices in hybrid clouds. They proved that the SAPSO algorithm outperforms PSO and greatly increases the throughput and the profit of a private cloud while guaranteeing the service delay bound. Yuan et al. [40] also proposed a temporal task scheduling algorithm (TTSA) by applying a hybrid SAPSO while modeling the cost as a mixed integer linear program in each iteration.

Ben Alla et al. [41] proposed two hybrid metaheuristic algorithms by combining dynamic dispatch queues (TSDQ) with PSO with fuzzy logic (TSDQ‐FLPSO) and combining TSDQ and PSO with simulated annealing (TSDQ‐SAPSO). They show that the TSDQ‐FLPSO algorithm performs better than PSO, SAPSO, and TSDQ‐SAPSO in reducing waiting times, queue length, makespan, and cost as well as optimizing resource utilization and load balancing.

Domanal and Reddy [42] considered VM loads to determine the local best and the global best particles in each iteration of PSO and proposed a modified PSO (MPSO) algorithm to schedule a bag of tasks to a set of VMs. The main goal of the model is efficient use of the cloud's resources (VMs, CPU, and memory) while optimizing the execution cost of the tasks. MOPSO outperforms round robin, first‐come‐first‐served (FCFS), ACO, and GA in executing the bag of tasks in heterogeneous cloud environments in terms of QoS parameters including reliability, time, and cost.

Guo et al. [43] developed an adaptive discrete PSO strategy with genetic algorithm operators (ADPSOGA) for scientific workflow scheduling. ADPSOGA is a PSO‐based method that also adopts the randomly two‐point crossover operator and the randomly single point mutation operator in GA. They considered minimizing the cost of execution and data transfer while meeting workflow deadlines. The performance of ADPSOGA was evaluated against multi‐cloud partial critical paths with pretreatment (MCPCPP), workflow scheduling with PSO (WPSO), and PSO with GA operators (PSOGA).

Midya et al. [44] proposed a hybrid adaptive PSO (HAPSO) algorithm, which is a combination of GA and PSO to optimize resource allocation and task scheduling for task requests arriving from on road users. They showed that HAPSO converges faster than PSO and self‐adaptive PSO in reducing the mean square error, task response time, and energy consumption.

A comparison study on the performance evaluation of PSO and GA on workflow scheduling was conducted by Shishido et al. [45] using a security and cost‐aware workflow scheduling algorithm. Their findings indicated that GA‐based algorithms significantly outperform PSO in terms of both cost‐effectiveness and response time.

Tong et al. [46] proposed a heuristic algorithm called hybrid biogeography‐based optimization (BBO) algorithm, which integrates a migration strategy into PSO. In their method, the flight strategy under the BBO migration structure is hybridized to accelerate search speeds, and HEFT_D is used to evaluate the task sequence. The objective function was makespan, and the experiments show that, compared to several classical heuristic algorithms, the new hybrid migrating BBO has the advantage in terms of global search ability, fast convergence rates, and high‐quality solutions.

Yuan et al. [47] developed a time‐aware task scheduling algorithm that considers temporal variations and schedules all admitted tasks that meet the delay bounds. In each iteration, their algorithm solves the formulated profit maximization problem with a hybrid chaotic PSO based on SA. Compared to several other scheduling algorithms, the model increases profit and throughput without violating the delay constraints of all admitted tasks. Subsequently, they used a hybrid optimization algorithm called GSA‐based PSO [47]. In the hybrid model, the genetic operators in GA increase the diversity of particles and the efficiency of global searches.

Dordaie and Navimipour [48] combined PSO with the hill climbing algorithm to optimize the scheduling workflow makespan. The algorithm initializes the population randomly using PSO. Each particle is then evaluated and ranked with makespan by HEFT processor mapping method and the hill climbing algorithm is finally applied to some selected particles. The proposed algorithm is repeated until the termination condition is satisfied.

Table 8.1 summarizes the PSO‐based methods and reports the implemented improvements, objective functions, algorithms outperformed, and evaluation tool.

8.4.2 Genetic Algorithms

Tayal [51] presented a fuzzy GA‐based optimization approach for improving the accuracy of GA's results with job scheduling. Scheduling decisions are made via the evaluation of the entire group of tasks in the job queue. Juhnke et al. [52] presented a multi‐objective scheduling algorithm intended for cloud‐based workflow applications to lessen costs and execution times by implementing a type of GA called the Pareto archived evolution strategy.

Jang et al. [53] used GA to minimize task execution times resulting in improved user satisfaction and an increase in profit for the service providers.

Table 8.1 Research summary of PSO‐based methods.

Improvement Objective functions
Algorithms Outperformed
Evaluation Tool Initial population Local search Global best and local best Conversion Position and Velocity Combined/Used Power consumption Makespan, Response time, Flow time, Execution time Transfer time Queue length Cost Resource utilization Trust, Reliability, Security
[18] PSO NA NA
[19] Improved PSO (IPSO) ACO, GA, SA C1oudSim
[20] PSO‐ParFnt PSO Their designed/modified simulator
[21] PSO, VNS Greedy, IC‐PCP NA
[22] BPSO SS C1oudSim
[23] PSO NA C1oudSim
[3] Extended PSO and GA NA C1oudSim
[24] S‐PSO, SCP PSO, ACO C1oudSim
[25] PSO, Best‐Fit (BF), Tabu‐Search (TS) PSO C1oudSim
[27] PSO, ACO, GA PSO, ACO, GA NA
[49] PSO, ACO PSO, ACO C1oudSim
[26] PSO, GA HEFT_UpRank, HEFT_DownRank, HEFT_LevelRank, MPQMA NA
[28] PSO NA C1oudSim
[29] Catfish PSO PSO CloudSim
[30] PSO on fission mechanism FIFO, PSO NA
[31] PSO and Shuffled Frog Leaping Algorithm (SFLA) GA, TD MinMin CloudSim
[32] Greedy algorithm and PSO (G&PSO) PSO C1oudSim
[33] PSO, ACO PSO NA
[34] GA, chaotic, PSO GA, GSA, ACO Matlab
[35] Taguchi Orthogonal approach and Cat Swarm Optimization MinMax, PSO, Linear Descending Inertia Weight (PSO‐LDIW), Hybrid PSO, Simulated Annealing (HPSO‐SA) C1oudSim
[36] PSO NA
[37] Four objectives PSO NA VMware‐vSphere, Condor
[38] Improved IPSO PSO NA
[39] Improve PSO (SAPSO) PSO NA
[40] PSO, integer linear program: TTSA NA
[41] TSDQ, PSO, Fuzzy Logic (TSDQ‐FLPSO)
TSDQ, PSO, Simulated Annealing (TSDQ‐SAPSO)
PSO, SAPSO C1oudSim
[42] Modified PSO (MPSO) Round Robin, FCFS, ACO, GA NA
[43] PSO, GA MCPCPP, WPSO, PSOGA NA
[44] PSO, GA PSO, Self‐Adaptive PSO SUMO 0.30.0, NS 3.26 and Matlab R2014a
[45] PSO, GA NA C1oudSim
[46] PSO, BBO NA C1oudSim
[47] PSO, GA NA Matlab
[48] PSO, GA NA Matlab
[50] PSO, Hill climbing PSO, HEFT‐B Cloud Azure

Note: NA means information is not available.

Wang et al. [54] performed research into reducing energy consumption in data centers and developed an improved version of GA with designed genetic operators and practical encoding/decoding methods. A local search operator was introduced with the goal of accelerating their algorithm's convergence speed.

Hu et al. [55] considered task waiting and execution times. They improved GA (IGA) with double fitness functions for genetic manipulation to reduce the probability of mutation in the early stages.

Ghorbannia Delavar and Aryan [56] developed a GA hybrid aimed at workflow scheduling that considers task priorities. The BF and round‐robin methods were merged to create an optimal initial population to ensure an ideal solution is found swiftly.

In another study on workflow scheduling, Verma and Kaushal [57] developed a deadline‐constrained GA in which the priority of each workflow task is assigned at the bottom level. These priorities are then used to create the initial population. The first individual of the initial population is created by allocating tasks to the available machines according to their level in ascending order. The remaining individuals are created by randomly assigning the tasks to available machines.

Wang et al. [58] proposed an integer bi‐level programming model to minimize power consumption. They formulated the problem as two upper‐level objective functions: (i) minimizing energy inefficiencies in the data center servers by reducing variances in each server's resource utilization; and (ii) maximizing the data locality ratio. A local search operator was used to accelerates convergence.

Hassan et al. [59] combined GA with list scheduling and earliest completion time (ECT) to develop a GA‐based task scheduling algorithm that outperforms GA in minimizing makespan.

Hung et al. [60] presented a cost–time aware genetic scheduling algorithm (CTaG) that optimizes bandwidth and costs over the cloud system.

Mahmoud et al. [61] developed a two‐phase GA‐based job scheduling model that determines the shortest job completion time with Min‐Min, Max‐Min, and suffrage techniques. The optimal job scheduling among resources is determined by the GA.

Shojafar et al. [62] presented a hybrid approach called FUGE that is based on fuzzy theory and a GA with the objective of optimizing load balancing considering execution time and cost while taking processing speeds, memory, VM bandwidth, and job length into account. They show the efficiency of the FUGE approach in terms of execution time, execution cost, and the average degree of imbalance compared to ACO and the multiple ACO (MACO) algorithms.

He et al. [27] combined PSO, ACO, and the crossover operator from GA to improve ACO. The experimental results show reduced total task completion time.

Kamalinia and Ghaffari [26] aimed to reduce makespans with the HEFT algorithm in combination with the PSO and GA algorithms. The results of the simulation show improved average makespans over traditional GA.

Peng et al. [63] proposed an improved version of niched Pareto GA (NPGA). Results of this algorithm show an improvement in task scheduling over the classical NPGA without compromising time consumption or cost.

Wang et al. [64] developed a new bi‐level GA. The results from various consumption tests show significant improvements in the energy efficiency of servers.

Abdulhamid and Latiff [65] presented a checkpointed league championship algorithm (CPLCA) with an emphasis on secure fault tolerance responsiveness. Simulations show an improvement in total average makespan, and total average response times compared to ACO, GA, and the basic LCA.

Anastasi et al. [66] proposed QBROKAGE which is a genetic approach to cloud brokering. This approach considered costs while satisfying the QoS requirements of cloud applications.

Chirkin et al. [67] aimed to provide a solution for estimating makespans. They also integrated the solution into the earlier‐developed scheduling algorithm GAHEFT, which is a hybrid algorithm based on a combination of the GA and the HEFT algorithm. Comparison tests with the Min‐Min algorithm show that GAHEFT performs better.

Cui et al. [34] proposed a chaotic ant swarm algorithm (GA‐CAS), which is GA‐based. It has the objective of optimizing reliability, makespan, and flow time. Results from simulations demonstrate GA‐CAS typically increases the speed of convergence and outperforms GA, GSA, and ACO in its objectives.

Kamalinia and Ghaffari [68] presented a hybrid metaheuristic method using HEFT algorithm. Testing shows a significant effect on improving the optimization of makespans and improving resource efficiency when compared to a GA and a differential evolution (DE) algorithm.

Shen et al. [69] proposed a genetic algorithm called E‐PAGA with the aim of achieving adaptive regulations for different requirements of energy and performance. When compared to artificial fish swarm optimization (AFSA), FCFS, and the modified best‐fit descending algorithm (MBFD), E‐PAGA had the lowest energy consumption and makespan.

Sreenu and Malempati [70] proposed the modified fractional gray wolf optimizer for multi‐objective task scheduling (MFGMTS), which aims to optimize execution time, execution cost, communication time, communication cost, energy consumption, and resource utilization. Simulation results when compared to PSO, GA, grey wolf optimizer (GWO), and the fractional grey wolf optimizer (FGWO) show MFGMTS as performing better across all measures.

Wei [71] proposed bidirectional optimization GA (BOGA) with the aim of optimizing completion time and cost and simulated the algorithm on CloudSim.

Yao et al. [72] proposed an IGA with a three‐stage selection method and a total‐division‐total genetic strategy. The algorithm improves selection and crossover operations. Using CloudSim, the results show that IGA outperforms the simple GA (SGA) in terms of completion time.

Keshanchi et al. [73] optimized task scheduling via an IGA, called N‐GA, that uses GA along with a heuristic‐based HEFT search to assign subtasks to processors. A one‐point crossover operator is used to avoid violating the precedence constraints. They also apply an elitism technique with unusual selections to avoid premature convergence. Their model outperformed three well‐known heuristics algorithms including HEFT‐B, HEFT‐L, and HEFT‐T, in reducing the total execution times and makespan.

Basu et al. [74] combined a GA with ACO to form GAACO where only the fittest task combination survives each stage. This approach was specifically designed for task scheduling and load balancing in the Internet of Things (IoT) applications. Task dependencies are considered with the aim of minimizing the total execution time (makespan) of the tasks. GAACO provides superior performance over GA and ACO alone in heterogeneous multiprocessor environments.

Casas et al. [75] developed a variant of a GA called efficient tune‐in of resources (GA‐ETI) that analyzes applications prior to execution. The characteristics studied are available computing resources, multiple scheduling configurations, and selecting optimal configurations to execute workflows. GA‐ETI adapts the conventional crossover and swap mutation from the classical GA and also includes a modified crossover and new increment and decrement mutation operators. GA‐ETI distinguishes itself from other schedulers for its adaptability to the size of jobs and the VMs. It contains a non‐monetary cost model and considers complex interdependencies between tasks. Tested in a VMware‐vSphere private cloud without increasing costs, GA‐ETI performed well with an 11–85% reduction in makespan when executing workflows.

Zhang et al. [76] proposed a new task scheduling algorithm called RC‐GA (a genetic algorithm for task scheduling based on a resource crowd‐funding model). The idea of this model is that idle resources are collected to form a virtual resource pool that can provide cloud services. Its goal is to increase task execution stability and reduce power consumption. It improves upon GA's roulette wheel selection operator, which in turn causes a reduction in random errors during the evolution process. Experiments show RC‐GA is better than non‐dominated sorting genetic algorithm (NSGA‐II) at increasing stability and reducing power consumption. Thus, the convergence speed of RC‐GA is faster than classical GA.

Singh [77] proposed a hybrid model called HGVP that involves a GA, VNS, and PSO. HGVP is an improvement over PSO in selecting the initial amounts of particles and in stabilizing non‐local searches and local utilization within one evolutionary processing period. Simulation results in Matlab show that HGVP outperforms current techniques with a focus on energy consumption compared to the PSO scheduling technique SPSO‐SA and to SLPSO‐SA.

Sathya Sofia and GaneshKumar [78] claim that reducing energy consumption in cloud service environments increases makespan, which results in customer dissatisfaction. To provide a non‐domination solution for these conflicting aims, they proposed the NSGA‐II to perform multi‐objective optimization. The results of a comparison test between NSGA‐II with and without an artificial neural network (ANN) show that incorporating an ANN decreases both makespan and energy consumption.

Aziza and Krichen [79] developed a scheduling decision support system based on a GA with two objective functions – makespan and cost. The algorithm was implemented in CloudSim.

Given there can be a very large amount of tasks in real clouds, Duan et al. [80] developed a single objective makespan‐based method. It relies on incremental GA, which has adaptive probabilities for crossover and mutation. The mutation and crossover rates vary conferring to generations and also between individuals. For the sake of evaluation, they randomly generated a large number of tasks based on the instance types in Amazon EC2 and implemented VMs with different computing capacities on CloudSim. The model performs better than the classical GA, Min‐Min, Max‐Min, SA, and artificial bee colony (ABC) at finding the optimal scheme.

The classical GA was used by Fernández‐Cerero et al. [81] for energy‐aware and time‐aware scheduling policies. The idea behind their model is to combine energy‐ and performance‐aware scheduling policies to hibernate idle VMs. Four strategies and their combinations were tested including: makespan‐centric scheduling, energy‐centric scheduling, makespan‐centric scheduling with a threshold, and energy‐centric scheduling with a threshold.

An adaptive GA was proposed by Ibrahim et al. [82] to be used in a dynamic task scheduling model based on an integer linear programming that satisfies an energy consumption objective. Their algorithm searches for an optimal (or near‐optimal) solution starting from an initial population of possible solutions (chromosomes) by selecting the fittest operators and the crossover and mutation reproduction operators. The chromosomes are encoded appropriately, and the crossover operator is specifically designed to suit the given problem. Additionally, the model is hybridized with a procedure that determines whether a chromosome (i.e. a possible solution) is feasible and, if not, the chromosome is penalized accordingly with a lower probability of selection (i.e. survival).

A hybrid GA‐PSO algorithm was proposed by Manasrah and Ali [83] to reduce makespans and cost, as well as balance the load of dependent tasks across heterogeneous resources. The idea behind this hybrid model is to distribute the number of iterations between the GA and PSO algorithms to reduce complexity.

Shishido et al. [45] compared the performance of GA and PSO for scientific workflow scheduling giving consideration to security and deadline constraints in a simulated environment. GA performed better than PSO.

Tang et al. [84] proposed a scheduling strategy aimed at industrial Internet of Things applications using a GA. The objective was to reduce energy consumption while taking task dependency, data transmission, and some constraint conditions into account, such as response time deadline and cost.

Taj and Basu [85] hybridized both GA and the group search optimization (GSO) algorithm into the genetic and group search optimization (GGSO) algorithm. This algorithm maximizes income for IaaS providers while simultaneously ensuring QoS for users. GGSO has several advantages over the GA and GSO algorithms such as faster convergence, and less computational time to the optimal solution. The results show it outperforms GSO, GA, and SLPSO algorithms at maximizing profit.

Table 8.2 summarizes the GA‐based methods and reports the implemented improvements, objective functions, algorithms outperformed, and evaluation tool.

8.4.3 Ant and Bee Colony Optimization

Early attempts to schedule cloud computing tasks using ACO were based on the work of Shi et al. [87], who tried to improve Hadoop architecture and workload balancing with respect to the cost matrix, hormone matrix, and probability matrix. According to their experiments, ACO improves both response time and throughput. Likewise, using conventional ACO, Mateos et al. [88] developed a scheduler for private clouds. Wu et al. [89] proposed a market‐oriented hierarchical scheduling strategy for cloud workflow systems, in which service level scheduling handles task‐to‐service assignments. Here, the tasks in individual workflow instances are mapped to cloud services in global cloud markets based on their functional and non‐functional QoS requirements. The task‐level scheduler optimizes task‐to‐VM assignments in local cloud data centers. Their analysis shows that service level scheduling with GA, ACO, and PSO results in improved performance with ACO in terms of optimizing makespan, cost, and CPU time. In addition to shortening the makespan of task scheduling, Xue et al. [90] used an ACO based load balancing algorithm that considers the load of VMs.

As ACO lacks rapid adaptivity, Baxodirjonovich and Choe [91] modified ACO for cloud workflow applications using probability theory to help the ants decide which machine to target. The modified ACO algorithm outperforms classical ACO.

Pacini et al. [92] used ACO for task scheduling based on several interesting metrics: the number of users receiving services and the total number of VMs created in online (non‐batch) scheduling scenarios. Their approach showed better results in a cloud simulation environment than random assignment and GA.

Table 8.2 Research summary of GA‐based algorithms.

Improvement Objective functions
Algorithms Outperformed
Evaluation Tool
Initial population Crossover Mutations Conversion Combined/Used Power consumption Makespan, Response time, Flow time, Execution time Transfer time Resource utilization Cost Security Trust, Reliability
Tayal [51] GA, Fuzzy Logic GA NA
Juhnke et al. [52] PAES (type of GA) GA NA
[53] Round robin, load index, Activity‐based Costing NA
[54] Hadoop MapReduce Hadoop
[55] Random, Rotating, and Greedy CloudSim
[56] LAGA
HSGA
NA
[57] NA Simulation environment in Java
[58] Hadoop Scheduler, Fair Scheduler Hadoop
[59] GA, List Algorithm, ECT GA NA
[60] GA NA NA
[61] GA, Min‐Min, Max‐Min, suffrage NA CloudSim
[62] GA, Fuzzy Logic ACO, MACO CloudSim
[27] PSO, ACO,
GA
PSO,
ACO
NA
[26] HEFT
GA,
PSO
GA CloudSim
Peng et al. [63] NPGA NPGA NA
Wang et al. [64] GA GA NA
Abdulhamid and Latiff [65] CPLCA ,GA
,ACO
LCA
CloudSim
Anastasi et al. [66] GA NA CloudSim
Chirkin et al. [67] GA
HEFT
Min‐Min NA
Cui et al. [34] GA‐CAS NA NA
Kamalinia and Ghaffari [68] HEFT GA
DE
NA
Shen et al. [69] E‐PAGA ,AFSA
,FCFS
MBFD
CloudSim
Sreenu and Malempati [70] MFGMTS PSO
GA
FGWO
CloudSim
Java
Wei [71] GA NA CloudSim
Yao et al. [72] IGA SGA CloudSim
[73] GA HEFT‐B, HEFT‐T, HEFT‐L NA
Basu et al. [74] GAACO GA,
ACO
NA
Zheng et al. [86] CBT‐MD
CBT‐ED CFMax
CRR
HEFT,
CSFS‐Max
Java (JDK version 1.8)
Casas et al. [75] GAETI NA VMware‐vSphere
Zhang et al. [76] RC‐GA NSGA‐II,
GA
NA
Singh [77] HGVP
(GA‐PSO‐VNS)
SPSO‐SA, SLPSO‐SA Matlab 13a
[78] NSGA‐II GA NA
[79] NA CloudSim
[80] GA, Min‐Min, Max‐Min, SA, ABC CloudSim
[81] NA SCORE
[82] FCFS Simulation environment developed by C++
[83] GA‐PSO GA, PSO, HSGA, WSGA, MTCT WorkflowSim
[45] GA, PSO NA CloudSim
[84] NA Coding with C++
Taj and Basu [85] GGSO GSO,
GA,
SLPSO
NA

Note: NA means information is not available.

The improved ACO algorithm presented by Zuo et al. [93] was founded on four metrics – makespan, cost, deadline violation rate, and resource utilization – and was designed to solve multi‐objective task scheduling problems. Optimal solutions are found in a timely manner based on constraint functions for performance and cost.

Vinothina and Sridaran [94] used ACO in a public cloud scenario to minimize makespan. Massive amounts of heterogeneous resources are allocated via a pay‐per‐use model.

Moon et al. [95] adapted diversification and reinforcement strategies with slave ants and proposed an ACO algorithm that solves global task scheduling optimization problems by avoiding long paths whose pheromones are wrongly accumulated by the leading ants.

Wu et al. [96] developed a workflow scheduling algorithm based on ACO to optimize execution times and minimize costs for users. They proposed a meta‐heuristic algorithm L‐ACO as well as a simple heuristic ProLiS. ProLiS distributes the deadline to each task, proportional to a novel definition of a probabilistic upward rank. Then, a two‐step list scheduling methodology ranks the tasks and sequentially allocates each task to a service that meets a sub‐deadline and minimizes the cost. ACO is used to carry out deadline‐constrained cost optimization.

Xiang et al. [97] developed a greedy‐ant algorithm with the aim of improving workflow scheduling in heterogeneous computing environments and minimizing the total execution time of an application. Their approach includes a novel perspective on ant colony system scheduling by guiding ants to explore task priorities and simultaneously assigning tasks to machines. They also defined forward/backward dependence to indicate the global significance of each node. Based on this dependence, a novel heuristic factor helps ants search for task sequences. The end result is a greedy machine allocation strategy.

Zuo et al. [98] used ACO to optimize a finite pool of resources in a hybrid cloud computing environment based on deadlines and cost constraints. It minimizes task completion times and cost using time‐first and cost‐first single objective optimization strategies. QoS for users and profits for resource providers are maximized using an entropy optimization model.

Chen et al. [99] proposed a novel multi‐objective ant colony system for workflow scheduling based on multiple‐populations. The model includes execution time and execution cost objectives and a new pheromone update rule based on a set of non‐dominated solutions from a global archive. The update rule balances the search for both objectives by guiding each colony in a search for one objective only, and a complementary heuristic strategy ensures that each colony only focuses on its own objective. The quality improvement in the of the solution to the global archive helps to further the approach to the global Pareto front.

Jia et al. [100] developed an intelligent scheduling system from the users' perspective to reduce the expenditure of workflow subject to deadlines and other execution constraints. A new estimation model for task execution time was designed according to virtual machine settings in real public clouds and execution data from practical workflows. An adaptive ACO algorithm with a narrower search space and a self‐adaptive weight is used to adaptively meet different deadline settings.

Sebastio et al. [101] developed a new scheduling algorithm for volunteer clouds to support collaborative task execution services. The approach combines ACO and an overlay network partitioning method, called ACO‐Partitioned, to improve the QoS of computer‐intensive workloads. Colored scout ants discover the computational resources in the network and maintain the computational field. These scout ants are spawned continuously to adapt to the variability of the volunteer cloud. In a comparative efficiency evaluation with ACO, random, round robin, greedy oracle, and local diffusion, ACO‐Partitioned showed the highest increase in QoS.

Wang et al. [102] proposed cooperative multi‐task scheduling based on ACO (CMSACO) to improve completion time, resource consumption, and executive order. Simulation results show that CMSACO performs better than FCFS in a range of factors, including reduced energy consumption, increasing the number of executed tasks, and load ratio.

Applications that rely on BCO are very rare. Thanka et al. [103] improved BCO for task scheduling with a proposal called improved efficient‐artificial bee colony (IE‐ABC). Unlike the classical BCO algorithm, where the worker bee must update each time it is in a hive, and an onlooker bee selects the food source with the highest nectar quantity, these authors assigned a dedicated worker bee to the data center. This bee updates the current virtual machine's status, its capacity load, memory availability, storage, and security level in the hive table. So, each time the honeybee that is the task of the cloud environment does not want to search for the best fitness. This saves time because the bee can make a decision about whether its VM is over or underloaded when assigning the task to itself. Compared to the ABC algorithm, IE‐ABC improves resource utilization and task migration.

In a recent study, Gomathi et al. [104] used epsilon‐fuzzy dominance based on a composite discrete artificial bee colony (EDCABC) to generate Pareto‐optimal solutions for multi‐objective task scheduling problems. EDCABC applies composite mutation strategies and a fast local search method to improve local searches and avoid premature convergence. EDCABC shows higher reductions in makespans and execution costs and better resource utilization than NSGA‐II and MOPSO.

Table 8.3 summarizes the ant and bee colony‐based algorithms and reports the improvements, objective functions, algorithms outperformed, and evaluation tool.

Table 8.3 Research summary of ant and bee colony‐based algorithms.

Improvement Objective Functions
Algorithms Outperformed
Evaluation Tool
Local search convergence Combined/Used Power consumption Makespan, Response time, Flow time, Execution time Transfer time Resource utilization Cost Security Trust, Reliability
[87] ACO FIFO Hadoop
[88] ACO CloudSim built‐in,
Random
CloudSim
[89] ACO GA, PSO SwinDeW‐C
[90] ACO FIFO CloudSim
[91] ACO Basic ACO, Min‐Min WorkflowSim
[92] ACO Random, GA NA
[93] FIFO,
Min‐Min
CloudSim
[94] ACO HEFT CloudSim
[95] ACO NA NA
[96] ACO NA NA
[97] Greedy‐Ant PEFT, HEFT Matlab
[98] ACO Min‐Min
FIFO
CloudSim
[99] ACO HEFT, PSO, NSGA‐II Amazon EC2
[100] Feasibility‐based rule, ACO HEFT, PSO CloudSim
[101] ACO, overlay network partitioning (ACO‐Partitioned) Compared to: ACO, Random, Round robin, Greedy oracle and Local diffusion The Volunteer Cloud Simulator (AVoCloudy)
[102] CMSACO FCFS NA
[103] Improved ABC (IE‐ABC) ABC NA
[104] BC, Fuzzy logic NSGA‐II, MOPSO NA

Note: NA means information is not available.

8.4.4 Other Evolutionary Algorithms

Song et al. [105] proposed a general job selection and allocation framework that uses an adaptive filter to select jobs, while a modified heuristic algorithm (Min‐Min) allocates them. Two objectives and four criteria are considered in the optimization problem. The two objectives are to maximize the remaining CPU capacity and maximize resource utilization. The four criteria are CPU resource requirements, memory, hard disk space, and network bandwidth.

Bilgaiyan et al. [106] applied a cat‐swarm‐based multi‐objective optimization approach to schedule workflows in a cloud computing environment while minimizing costs, makespans, and CPU idle time. This approach performs better than multi‐objective PSO (MOPSO).

Abdullahi and Ngadi [107] presented a discrete symbiotic organism search (DSOS) algorithm for the optimal scheduling of tasks to cloud resources with the aim of minimizing makespans, response times, and the degree of imbalance between VMs. Symbiotic organism search (SOS) mimics symbiotic relationships (i.e. mutualism, commensalism, and parasitism) to improve the quality of the given objective functions. They prove that DSOS converges faster than PSO as the search grows larger, which makes it suitable for large‐scale scheduling problems.

Torabi and Safi‐Esfahani [108] rely on a bio‐inspired metaheuristic algorithm, chicken swarm optimization (CSO), and raven roosting optimization (RRO) for task scheduling. CSO brings efficiency in satisfying the balance between the local and the global search, and RRO overcomes the problem of premature convergence. RRO also has better performance in larger search spaces. Simulation tests performed in a cloud computing environment show improvements in terms of reducing execution times, reducing response times, and increasing throughput in dynamic scenarios.

Choudhary et al. [109] hybridized the popular metaheuristic, gravitational search (GSA), and the HEFT algorithm for workflow scheduling. In terms of its two objectives – makespan and cost – the proposed method outperformed GSA, hybrid GA, and HEFT in experiments with scientific workflows.

8.5 Research Gaps and Future Directions

A review of the literature revealed some research gaps, challenges, and promising future research directions. The following sub‐sections discuss these topics. In addition, Tables 8.18.3 summarize the following aspects of each paper:

  • improvements over original algorithms
  • improvements by combining algorithms
  • considered objective functions
  • superseded algorithms
  • evaluation tools applied.

8.5.1 Evaluation Tools

Only two studies have included model evaluations based on real cloud environments. The majority have used simulated clouds like CloudSim to assess the efficacy of their work. Measuring the accuracy of an objective function using simulation tools tends not to be very reliable as some values like transfer and execution times cannot be calculated if they have not actually been performed. Hence, a goal should be to verify the accuracy of the presented models in a real cloud environment, such as VMware‐vSphere.

8.5.2 Objective Functions

Most studies only consider two objective functions and only four at most. Moreover, none of the existing models provide any flexibility as to the number and type of objectives. Considering the growing popularity of cloud computing, comprehensive models that incorporate all important objective functions need to be developed. This includes objective functions desired by both industry and users. Models should provide users with the opportunity to select and rank the objective functions according to their own preferences and requirements. For example, the importance of objective functions like time and cost can vary in different situations. In some cases, a user may need a task to complete in the shortest possible time no matter how much it costs. On other occasions, cost may be the most important factor.

8.6 Conclusion

Cloud computing is a paradigm that provides dynamic services using very large scalable and virtualized resources over the Internet. Task, job, and workflow scheduling are some of the major activities performed in all computing environments. However, due to the novelty of cloud computing, there is no unique, standard, or universal task scheduling algorithm. To date, many researchers have attempted to develop and apply different scheduling algorithms for different purposes. Each considers different objectives, such as makespan, cost, execution time, execution cost, etc. As these performance indicators are usually in conflict, the usage of evolutionary computation techniques to overcome multi objective optimization problem has received many attention. The aim of this study was to conduct a systematic review of the literature over the last decade on task scheduling methods in cloud computing environments that rely on conventional or improved evolutionary computation techniques. The PRISM research methodology frames the review by providing a set of eligibility criteria. All studies reviewed were drawn from Scopus. The analysis is segmented according to the type of technique, i.e. GA, PSO, ACO, BCO, and other. Each category is qualitatively reviewed and summarized.

References

  1. 1 Pourqasem, J., Karimi, S., and Edalatpanah, S. (2014). Comparison of cloud and grid computing. Amm. J Soft. Eng. 2: 8–12.
  2. 2 Zhu, Z., Zhang, G., Li, M., and Liu, X. (2016). Evolutionary multi‐objective workflow scheduling in cloud. IEEE Trans. Parallel Distrib. Syst. 27: 1344–1357.
  3. 3 Ramezani, F., Lu, J., Taheri, J., and Hussain, F.K. (2015). Evolutionary algorithm‐based multi‐objective task scheduling optimization model in cloud environments. World Wide Web 18: 1737–1757.
  4. 4 Taheri, J., Zomaya, A.Y., Bouvry, P., and Khan, S.U. (2013). Hopfield neural network for simultaneous job scheduling and data replication in grids. Future Gener. Comput. Syst. 29: 1885–1900.
  5. 5 Varia, J. (2008). Cloud architectures. White Paper of Amazon, 16.
  6. 6 Grzonka, D., Kołodziej, J., Tao, J., and Khan, S.U. (2015). Artificial neural network support to monitoring of the evolutionary driven security aware scheduling in computational distributed environments. Future Gener. Comput. Syst. 51: 72–86.
  7. 7 VMWARE (2015). VMware vSphere 5.1 Documentation Center [Online]. https://www.vmware.com/support/pubs.
  8. 8 Huang, T., Zhu, Y., Wu, Y. et al. (2016). Anomaly detection and identification scheme for VM live migration in cloud infrastructure. Future Gener. Comput. Syst. 56: 736–745.
  9. 9 Buyya, R., Broberg, J., and Goscinski, A. (eds.) (2011). Cloud Computing, Principles and Paradigms. Hoboken, NJ: Wiley.
  10. 10 Moltó, G., Caballer, M., and de Alfonso, C. (2016). Automatic memory‐based vertical elasticity and oversubscription on cloud platforms. Future Gener. Comput. Syst. 56: 1–10.
  11. 11 Manvi, S.S. and Krishna Shyam, G. (2014). Resource management for infrastructure as a service (IaaS) in cloud computing: a survey. J. Network Comput. Appl. 41: 424–440.
  12. 12 Buyya, R., Pandey, S., and Vecchiola, C. (2009). Cloudbus toolkit for market‐oriented cloud computing. Proceeding of the 1st International Conference on Cloud Computing, Beijing, China (December 1–4). Springer.
  13. 13 Weingärtner, R., Bräscher, G.B., and Westphall, C.B. (2015). Cloud resource management: a survey on forecasting and profiling models. J. Netw. Comput. Appl. 47: 99–106.
  14. 14 Sahu, Y. and Pateriya, R. (2013). Cloud computing overview with load balancing techniques. Int. J. Comput. Appl. 65: 0975–8887.
  15. 15 Riesen, R. and Maccabe, A. (2011). Job scheduling. In: Encyclopedia of Parallel Computing (ed. D. Padua). Springer.
  16. 16 Wang, Y., Lu, P., and Kent, K.B. (2015). WaFS: a workflow‐aware file system for effective storage utilization in the cloud. IEEE Trans. Comput. 64: 2716–2729.
  17. 17Moher, D., Liberati, A., Tetzlaff, J. et al. (2009). Preferred reporting items for systematic reviews and meta‐analyses: the PRISMA statement. PLoS Med. 6: e1000097.
  18. 18 Guo, L., Zhao, S., Shen, S., and Jiang, C. (2012). Task scheduling optimization in cloud computing based on heuristic algorithm. J. Netw. 7: 547–553.
  19. 19 Zhan, S. and Huo, H. (2012). Improved PSO‐based task scheduling algorithm in cloud computing. J. Inform. Comput. Sci. 9: 3821–3829.
  20. 20 Taheri, J., Zomaya, A.Y., Siegel, H.J., and Tari, Z. (2014). Pareto frontier for job execution and data transfer time in hybrid clouds. Future Gener. Comput. Syst. 37: 321–334.
  21. 21 Netjinda, N., Sirinaovakul, B., and Achalakul, T. (2014). Cost optimal scheduling in IaaS for dependent workload with particle swarm optimization. J. Supercomput. 68: 1579–1603.
  22. 22 Ouyang, Z., Wang, K., and Xu, L. (2014). Green cloud task‐scheduling algorithm based on improved BPSO. J. Inform. Comput. Sci. 11: 4301–4308.
  23. 23 Ramezani, F., Lu, J., and Hussain, F.K. (2014). Task‐based system load balancing in cloud computing using particle swarm optimization. Int. J. Parallel Programm. 42: 739–754.
  24. 24 Yang, Y., Peng, X., and Cao, J. (2015). Trust‐based scheduling strategy for cloud workflow applications. Informatica (Netherlands) 26: 159–180.
  25. 25 Alkhashai, H.M. and Omara, F.A. (2016). An enhanced task scheduling algorithm on cloud computing environment. Int. J. Grid Distrib. Comput. 9: 91–100.
  26. 26 Kamalinia, A. and Ghaffari, A. (2016). Hybrid task scheduling method for cloud computing by genetic and PSO algorithms. J. Inf. Syst. Telecommun. 4: 271–281.
  27. 27 He, X.L., Song, Y., and Binsack, R.V. (2016). The intelligent task scheduling algorithm in cloud computing with multistage optimization. Int. J. Grid Distrib. Comput. 9: 313–324.
  28. 28 Li, Z., Ge, J., Yang, H. et al. (2016). A security and cost aware scheduling algorithm for heterogeneous tasks of scientific workflow in clouds. Future Gener. Comput. Syst. 65: 140–152.
  29. 29 Nirmala, S.J. and Bhanu, S.M.S. (2016). Catfish‐PSO based scheduling of scientific workflows in IaaS cloud. Computing 98: 1091–1109.
  30. 30 Shao, Y. (2016). Research on cloud task scheduling algorithm of particle swarm optimization algorithm based on fission mechanism. Int. J. Multimedia Ubiquitous Eng. 11: 145–152.
  31. 31 Xie, X., Liu, R., Cheng, X. et al. (2016). Trust‐driven and PSO‐SFLA based job scheduling algorithm on cloud. Intell. Automation Soft Comput. 22: 561–566.
  32. 32 Zhong, Z., Chen, K., Zhai, X., and Zhou, S. (2016). Virtual machine‐based task scheduling algorithm in a cloud computing environment. Tsinghua Sci. Technol. 21: 660–667.
  33. 33Chen, X. and Long, D. (2017). Task scheduling of cloud computing using integrated particle swarm algorithm and ant colony algorithm. Cluster Comput.: 1–9.
  34. 34 Cui, H., Li, Y., Liu, X. et al. (2017). Cloud service reliability modelling and optimal task scheduling. IET Commun. 11: 161–167.
  35. 35 Gabi, D., Ismail, A.S., Zainal, A., and Zakaria, Z. (2017). Solving task scheduling problem in cloud computing environment using orthogonal taguchi‐cat algorithm. Int. J. Electr. Comput. Eng. 7: 1489–1497.
  36. 36 Gan, N., Huang, Y., and Lu, X. (2017). Niching particle swarm optimization algorithm for solving task scheduling in cloud computing. Agro Food Ind. Hi Tech 28: 876–879.
  37. 37 Ramezani, F., Lu, J., Taheri, J., and Zomaya, A.Y. (2017). A multi‐objective load balancing system for cloud environments. Comput. J. 60: 1316–1337.
  38. 38 Sadhasivam, N. and Thangaraj, P. (2017). Design of an improved PSO algorithm for workflow scheduling in cloud computing environment. Intell. Automation Soft Comput. 23: 493–500.
  39. 39 Yuan, H., Bi, J., Tan, W., and Li, B.H. (2017a). Temporal task scheduling with constrained service delay for profit maximization in hybrid clouds. IEEE Trans. Automation Sci. Eng. 14: 337–348.
  40. 40 Yuan, H., Bi, J., Tan, W. et al. (2017b). TTSA: an effective scheduling approach for delay bounded tasks in hybrid clouds. IEEE Trans. Cybern. 47: 3658–3668.
  41. 41 Ben Alla, H., Ben Alla, S., Touhafi, A., and Ezzati, A. (2018). A novel task scheduling approach based on dynamic queues and hybrid meta‐heuristic algorithms for cloud computing environment. Cluster Comput. 21: 1797–1820.
  42. 42 Domanal, S.G. and Reddy, G.R.M. (2018). An efficient cost optimized scheduling for spot instances in heterogeneous cloud environment. Future Gener. Comput. Syst. 84: 11–21.
  43. 43 Guo, W., Lin, B., Chen, G. et al. (2018). Cost‐driven scheduling for deadline‐based workflow across multiple clouds. IEEE Trans. Netw. Serv. Manag. 15: 1571–1585.
  44. 44 Midya, S., Roy, A., Majumder, K., and Phadikar, S. (2018). Multi‐objective optimization technique for resource allocation and task scheduling in vehicular cloud architecture: a hybrid adaptive nature inspired approach. J. Netw. Comput. Appl. 103: 58–84.
  45. 45 Shishido, H.Y., Estrella, J.C., Toledo, C.F.M., and Arantes, M.S. (2018). Genetic‐based algorithms applied to a workflow scheduling algorithm with security and deadline constraints in clouds. Comput. Electrical Eng. 69: 378–394.
  46. 46 Tong, Z., Chen, H., Deng, X. et al. (2018). A novel task scheduling scheme in a cloud computing environment using hybrid biogeography‐based optimization. Soft Comput. 23: 11035–11054.
  47. 47 Yuan, H., Bi, J., Zhou, M., and Ammari, A.C. (2018). Time‐aware multi‐application task scheduling with guaranteed delay constraints in green data center. IEEE Trans. Automation Sci. Eng. 15: 1138–1151.
  48. 48Yuan, H., Bi, J., and Zhou, M. (2018). Temporal task scheduling of multiple delay‐constrained applications in green hybrid cloud. IEEE Trans. Serv. Comput. doi:10.1109/TSC.2018.2878561.
  49. 49 Jiang, T. and Li, J. (2016). Research on the task scheduling algorithm for cloud computing on the basis of particle swarm optimization. Int. J. Simul.: Syst., Sci. Technol. 17: 11.1–11.5.
  50. 50 Dordaie, N. and Navimipour, N.J. (2018). A hybrid particle swarm optimization and hill climbing algorithm for task scheduling in the cloud environments. ICT Express 4: 199–202.
  51. 51 Tayal, S. (2011). Tasks scheduling optimization for the cloud computing systems. Int. J. Adv. Eng. Sci. Technol. 5: 111–115.
  52. 52 Juhnke, E., Dörnemann, T., Böck, D., and Freisleben, B. (2011). Multi‐objective scheduling of BPEL workflows in geographically distributed clouds. 4th IEEE International Conference on Cloud Computing. 412–419.
  53. 53 Jang, S.H., Kim, T.Y., Kim, J.K., and Lee, J.S. (2012). The study of genetic algorithm‐based task scheduling for cloud computing. Int. J. Control Automat. 5: 157–162.
  54. 54 Wang, X., Wang, Y., and Zhu, H. (2012). Energy‐efficient task scheduling model based on MapReduce for cloud computing using genetic algorithm. J. Comput. (Finland) 7: 2962–2970.
  55. 55 Hu, B., Zhang, X., and Zhang, X. (2013). A scheduling mechanism for independent task in cloud computing environment. J. Inform. Comput. Sci. 10: 5945–5954.
  56. 56 Ghorbannia Delavar, A. and Aryan, Y. (2014). HSGA: a hybrid heuristic algorithm for workflow scheduling in cloud systems. Cluster Comput. 17: 129–137.
  57. 57 Verma, A. and Kaushal, S. (2014). Deadline constraint heuristic‐based genetic algorithm for workflow scheduling in cloud. Int. J. Grid Utility Comput. 5: 96–106.
  58. 58 Wang, X., Wang, Y., and Cui, Y. (2014). A new multi‐objective bi‐level programming model for energy and locality aware multi‐job scheduling in cloud computing. Future Gener. Comput. Syst. 36: 91–101.
  59. 59 Hassan, M.A., Kacem, I., Martin, S., and Osman, I.M. (2015). Genetic algorithms for job scheduling in cloud computing. Stud. Inform. Control 24.
  60. 60 Hung, P.P., Aazam, M., and Huh, E.N. (2015). CTaG: an innovative approach for optimizing recovery time in cloud environment. KSII Trans. Internet Inf. Syst. 9: 1282–1301.
  61. 61 Mahmoud, A.A., Zarina, M., Wan Nik, W.N.S., and Ahmad, F. (2015). Multi‐criteria strategy for job scheduling and resource load balancing in cloud computing environment. Indian J. Sci. Technol. 8.
  62. 62 Shojafar, M., Javanmardi, S., Abolfazli, S., and Cordeschi, N. (2015). FUGE: a joint meta‐heuristic approach to cloud job scheduling algorithm using fuzzy theory and a genetic method. Cluster Comput. 18: 829–844.
  63. 63 Peng, Y., Xue, S., and Li, M. (2016). An improved multi‐objective optimization algorithm based on NPGA for cloud task scheduling. Int. J. Grid Distrib. Comput. 9: 161–176.
  64. 64Wang, X., Wang, Y., and Cui, Y. (2016). An energy‐aware bi‐level optimization model for multi‐job scheduling problems under cloud computing. Soft Comput. 20: 303–317.
  65. 65 Abdulhamid, S.M. and Latiff, M.S.A. (2017). A checkpointed league championship algorithm‐based cloud scheduling scheme with secure fault tolerance responsiveness. Appl. Soft Comput. J. 61: 670–680.
  66. 66 Anastasi, G.F., Carlini, E., Coppola, M., and Dazzi, P. (2017). QoS‐aware genetic cloud brokering. Future Gener. Comput. Syst. 75: 1–13.
  67. 67 Chirkin, A.M., Belloum, A.S.Z., Kovalchuk, S.V. et al. (2017). Execution time estimation for workflow scheduling. Future Gener. Comput. Syst. 75: 376–387.
  68. 68 Kamalinia, A. and Ghaffari, A. (2017). Hybrid task scheduling method for cloud computing by genetic and DE algorithms. Wireless Per. Commun. 97: 6301–6323.
  69. 69 Shen, Y., Bao, Z., Qin, X., and Shen, J. (2017). Adaptive task scheduling strategy in cloud: when energy consumption meets performance guarantee. World Wide Web 20: 155–173.
  70. 70 Sreenu, K. and Malempati, S. (2017). MFGMTS: epsilon constraint‐based modified fractional Grey wolf optimizer for multi‐objective task scheduling in cloud computing. IETE J. Res. 65: 1–15.
  71. 71 Wei, G. (2017). Task scheduling algorithm based on bidirectional optimization genetic algorithm in cloud computing environment. Agro Food Ind Hi Tech 28: 3062–3067.
  72. 72 Yao, H., Fu, X., Li, H. et al. (2017). Cloud task scheduling algorithm based on improved genetic algorithm. Int. J. Performability Eng. 13: 1070–1076.
  73. 73 Keshanchi, B., Souri, A., and Navimipour, N.J. (2017). An improved genetic algorithm for task scheduling in the cloud environments using the priority queues: formal verification, simulation, and statistical testing. J. Syst. Software 124: 1–21.
  74. 74 Basu, S., Karuppiah, M., Selvakumar, K. et al. (2018). An intelligent/cognitive model of task scheduling for IoT applications in cloud computing environment. Future Gener. Comput. Syst. 88: 254–261.
  75. 75 Casas, I., Taheri, J., Ranjan, R. et al. (2018). GA‐ETI: an enhanced genetic algorithm for the scheduling of scientific workflows in cloud environments. J. Comput. Sci. 26: 318–331.
  76. 76 Zhang, N., Yang, X., Zhang, M. et al. (2018). A genetic algorithm‐based task scheduling for cloud resource crowd‐funding model. Int. J. Commun. Syst. 31.
  77. 77 Singh, R. (2018). Hybrid genetic, variable neighbourhood search and particle swarm optimisation‐based job scheduling for cloud computing. Int. J. Comput. Sci. Eng. 17: 184–191.
  78. 78 Sathya Sofia, A. and Ganeshkumar, P. (2018). Multi‐objective task scheduling to minimize energy consumption and Makespan of cloud computing using NSGA‐II. J. Netw. Syst. Manage. 26: 463–485.
  79. 79Aziza, H. and Krichen, S. (2018). Bi‐objective decision support system for task‐scheduling based on genetic algorithm in cloud computing. Computing 100: 65–91.
  80. 80 Duan, K., Fong, S., Siu, S.W.I. et al. (2018). Adaptive incremental genetic algorithm for task scheduling in cloud environments. Symmetry 10: 168–180.
  81. 81 Fernández‐Cerero, D., Jakóbik, A., Grzonka, D. et al. (2018). Security supportive energy‐aware scheduling and energy policies for cloud environments. J. Parallel Distrib. Comput. 119: 191–202.
  82. 82 Ibrahim, H., Aburukba, R.O., and El‐Fakih, K. (2018). An integer linear programming model and adaptive genetic algorithm approach to minimize energy consumption of cloud computing data centers. Comput. Electr. Eng. 67: 551–565.
  83. 83 Manasrah, A.M. and Ali, H.B. (2018). Workflow scheduling using hybrid GA‐PSO algorithm in cloud computing. Wireless Commun. Mobile Comput. 2018: 1934784.
  84. 84 Tang, C., Wei, X., Xiao, S. et al. (2018). A Mobile cloud based scheduling strategy for industrial internet of things. IEEE Access 6: 7262–7275.
  85. 85 Taj, N. and Basu, A. (2019). Hybridization of genetic and group search optimization algorithm for deadline‐constrained task scheduling approach. J. Intell. Syst. 28: 153–171.
  86. 86 Zheng, W., Qin, Y., Bugingo, E. et al. (2018). Cost optimization for deadline‐aware scheduling of big‐data processing jobs on clouds. Future Gener. Comput. Syst. 82: 244–255.
  87. 87 Shi, H., Bai, G., and Tang, Z. (2011). ACO algorithm‐based parallel job scheduling investigation on Hadoop. Int. J. Digit. Content Technol. Its Appl. 5: 283–288.
  88. 88 Mateos, C., Pacini, E., and Garino, C.G. (2013). An ACO‐inspired algorithm for minimizing weighted flowtime in cloud‐based parameter sweep experiments. Adv. Eng. Software 56: 38–50.
  89. 89 Wu, Z., Liu, X., Ni, Z. et al. (2013). A market‐oriented hierarchical scheduling strategy in cloud workflow systems. J. Supercomput. 63: 256–293.
  90. 90 Xue, S., Li, M., Xu, X., and Chen, J. (2014). An ACO‐LB algorithm for task scheduling in the cloud environment. J. Software 9: 466–473.
  91. 91 Baxodirjonovich, K.N. and Choe, T.Y. (2015). Dynamic task scheduling algorithm based on ant colony scheme. Int. J. Eng. Technol. 7: 1163–1172.
  92. 92 Pacini, E., Mateos, C., and García Garino, C. (2015). Balancing throughput and response time in online scientific clouds via ant Colony optimization (SP2013/2013/00006). Adv. Eng. Software 84: 31–47.
  93. 93 Zuo, L., Shu, L., Dong, S. et al. (2015). A multi‐objective optimization scheduling method based on the ant colony algorithm in cloud computing. IEEE Access 3: 2687–2699.
  94. 94Vinothina, V. and Sridaran, R. (2016). Scheduling scientific workflow based application using ACO in public cloud. Int. J. Eng. Technol. 7: 1994–2000.
  95. 95 Moon, Y.J., Yu, H.C., Gil, J.M., and Lim, J.B. (2017). A slave ants based ant colony optimization algorithm for task scheduling in cloud computing environments. HCIS 7: 1–10.
  96. 96 Wu, Q., Ishikawa, F., Zhu, Q. et al. (2017). Deadline‐constrained cost optimization approaches for workflow scheduling in clouds. IEEE Trans. Parallel Distrib. Syst. 28: 3401–3412.
  97. 97 Xiang, B., Zhang, B., and Zhang, L. (2017). Greedy‐ant: ant Colony system‐inspired workflow scheduling for heterogeneous computing. IEEE Access 5: 11404–11412.
  98. 98 Zuo, L., Shu, L., Dong, S. et al. (2017). A multi‐objective hybrid cloud resource scheduling method based on deadline and cost constraints. IEEE Access 5: 22067–22080.
  99. 99 Chen, Z., Zhan, Z., Lin, Y. et al. (2018). Multiobjective cloud workflow scheduling: a multiple populations ant Colony system approach. IEEE Trans. Cybern. 49: 2912–2926.
  100. 100 Jia, Y., Chen, W., Yuan, H. et al. (2018). An intelligent cloud workflow scheduling system with time estimation and adaptive ant colony optimization. IEEE Trans. Syst., Man, Cybern. doi: 10.1109/TSMC.2018.2881018.
  101. 101 Sebastio, S., Amoretti, M., Lafuente, A.L., and Scala, A. (2018). A holistic approach for collaborative workload execution in volunteer clouds. ACM Trans. Model. Comput. Simul. 28: 1–27.
  102. 102 Wang, T., Wei, X., Tang, C., and Fan, J. (2018). Efficient multi‐tasks scheduling algorithm in mobile cloud computing with time constraints. Peer‐to‐Peer Netw. Appl. 11: 793–807.
  103. 103 Thanka, M.R., Uma Maheswari, P., and Edwin, E.B. (2017). An improved efficient: artificial bee Colony algorithm for security and QoS aware scheduling in cloud computing environment. Cluster Comput. 22: 1–9.
  104. 104 Gomathi, B., Krishnasamy, K., and Saravana Balaji, B. (2018). Epsilon‐fuzzy dominance sort‐based composite discrete artificial bee colony optimisation for multi‐objective cloud task scheduling problem. Int. J. Bus. Intell. Data Mining 13: 247–266.
  105. 105 Song, B., Hassan, M.M., and Huh, E. (2010). A novel heuristic‐based task selection and allocation framework in dynamic collaborative cloud service platform. 2nd IEEE International Conference on Cloud Computing Technology and Science (CloudCom) (30 November–3 December). 360–367.
  106. 106 Bilgaiyan, S., Sagnika, S., and Das, M. (2015). A multi‐objective cat swarm optimization algorithm for workflow scheduling in cloud computing environment. Int. J. Soft Comput. 10: 37–45.
  107. 107Abdullahi, M. and Ngadi, M.A. (2016). Symbiotic organism search optimization based task scheduling in cloud computing environment. Future Gener. Comput. Syst. 56: 640–650.
  108. 108 Torabi, S. and Safi‐Esfahani, F. (2018). A dynamic task scheduling framework based on chicken swarm and improved raven roosting optimization methods in cloud computing. J. Supercomput. 74: 2581–2626.
  109. 109 Choudhary, A., Gupta, I., Singh, V., and Jana, P.K. (2018). A GSA based hybrid algorithm for bi‐objective workflow scheduling in cloud computing. Future Gener. Comput. Syst. 83: 14–26.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset