Alts: An Adaptive Load Balanced Task Scheduling Approach for Cloud Computing

: According to the research, many task scheduling approaches have been proposed like GA, ACO, etc., which have improved the performance of the cloud data centers concerning various scheduling parameters. The task scheduling problem is NP-hard, as the key reason is the number of solutions/combinations grows exponentially with the problem size, e.g., the number of tasks and the number of computing resources. Thus, it is always challenging to have complete optimal scheduling of the user tasks. In this research, we proposed an adaptive load-balanced task scheduling (ALTS) approach for cloud computing. The proposed task scheduling algorithm maps all incoming tasks to the available VMs in a load-balanced way to reduce the makespan, maximize resource utilization, and adaptively minimize the SLA violation. The performance of the proposed task scheduling algorithm is evaluated and compared with the state-of-the-art task scheduling ACO, GA, and GAACO approaches concerning average resource utilization (ARUR), Makespan, and SLA violation. The proposed approach has revealed signiﬁcant improvements concerning the makespan, SLA violation, and resource utilization against the compared approaches.


Introduction
Cloud computing provides dynamic virtualized resources and services over the web in a new paradigm [1,2]. By the configuration of basic hardware and software, it authorizes access to a shared pool of resources across the cloud data centers. In cloud computing, there are a huge number of user requests available for their execution because of the heterogeneous environment. The user first submits its required resource request as an input with the help of a broker in IaaS. In some cases, the user may have some specific requirements that need some form of agreement where the cloud service providers have to provide guaranteed services to the users also called service level agreement (SLA) [3]. The user requests are usually called tasks in the context of cloud computing. To execute the tasks on the available cloud datacenter (CDC) machines/VMs, various task scheduling approaches are employed [4][5][6][7]. The main purpose of the task scheduling algorithm is to focus on different factors related to quality of service (QoS) like throughput, response time, etc. [8][9][10]. Based on the task requirements, suitable resources [11][12][13] are allocated by the cloud environment. The user's specific requirements includes resources related to time, memory, operating system, etc. For example, if a user wants to demand 3D rendering with the help of reservation-based cloud, then the user must need to mention GPU and CPU time, start time, and the longest rendering time to the IaaS provider. After receiving such kinds of user requests, the scheduling approach finds a VM through mapping based on the available computing resources. When these task scheduling algorithms perform their function improperly, it will increase the makespan time and decrease the throughput of the whole cloud computing environment [14]. A problem related to the imbalanced mapping of tasks to the VMs can be defined as, for example, if there are 12 tasks and 4 VMs available in the Cloud computing environment [15]. The usage of resource utilization rate of each task is defined as T1 = 53%, T2 = 77%, T3 = 65%, T4 = 43%, T5 = 64%, T6 = 84%, T7 = 32%, T8 = 51%, T9 = 99%, T10 = 85%, T11 = 71%, T12 = 25%. Arrange the given ratios of tasks in ascending order. After ordering the first three tasks T9, T10, and T6 are assigned to VM1, T2, T11, and T3 are assigned to VM2, T5, T1, and T8 are assigned to VM3, and lastly, T4, T7, and T12 are assigned to VM4. Now, after finding their average resource utilization value, the usage of each VM can be defined as VM3 = 100%, VM2 = 75%, VM4 = 51%, VM1 = 50%. This mapping clearly shows that VM3 is completely utilized but VM2, VM4, and VM1 are under-utilized. So there is a need for a proper task scheduling algorithm that can utilize the resources of all VMs in a load-balanced way [16,17].
The task scheduling approaches can increase the task execution time and lessen the throughput of the entire cloud system. In this regard, cloud computing aspires to improve the overall performance and to make better use of these computing resources in a heterogeneous environment [18].
Several task scheduling algorithms are used in cloud computing environment like ant colony optimization algorithm (ACO) [19][20][21], particle swarm optimization algorithm (PSO) [22][23][24][25] and genetic algorithm (GA) [26][27][28][29][30][31][32][33][34][35]. In this work, we have integrated the GA approach with the ACO approach in a hybrid way to schedule the tasks in a load balanced way. GA has huge search space and does not provide a fixed length of solution to a particular problem. ACO algorithm performs various numbers of iterations and at the end of each iteration the ant's path is updated because path traversing information is stored in its memory in each iteration. For a variety of optimization problems, ACO is used for task scheduling. ACO provides a fast convergence rate that obtains a good solution at the end. Due to concurrency and expandability, the ACO algorithmic approach is quite suitable for task scheduling in the cloud computing environment. After each iteration, the traverse path is stored in ACO memory. To obtain a globally optimal solution, the ACO algorithm assists GA, and then the GA algorithm helps to supply the initial pheromone to the ACO task scheduling algorithm.
The rest of the paper is organized as follows: Section 2 provides details regarding various task scheduling algorithms for Cloud computing, as well as a discussion related to the ACO and GA. Moreover, a comparison of the different task scheduling algorithms is presented at the end of Section 2. Section 3.1 delineates the contribution of this work (i.e., Adaptive Load Balancing Task Scheduling Algorithm (ALTS)). Section 4 presents the experimental setup details for the cloud computing task scheduling environment and results and discussion of these results. The conclusion of the proposed research is presented in Section 5 with the future perspective of task scheduling in cloud computing.

Related Work
Cloud computing environment provides ubiquitous access to resources and services to its customers on a pay as you use model. Different types of cloud computing models exists, which are IaaS, PaaS, and SaaS [36]. In recent years, several task scheduling approaches have been proposed for Cloud computing. These task scheduling algorithms can be classified to heuristic-based task scheduling algorithms and meta-heuristic-based task scheduling algorithms. The heuristic-based task scheduling algorithms include the round-robin (RR), first come first serve (FCFS) [37], priority-based task scheduling algorithms [38], etc. Meta-heuristic-based task scheduling algorithms include ACO [19][20][21], PSO [22][23][24][25], and GA [26][27][28][29][30][31][32], etc. These algorithms generally optimize one or more parameters concerning the task scheduling in the cloud environment.
Several scheduling algorithms were studied in-depth in [39], where methods, applications, and parameters of different task scheduling algorithms that include ACO, PSO, and GA, multi-processor-based scheduling, and clustering-based scheduling are discussed. Moreover, the comparison between different scheduling algorithms shows that these algorithms are suitable for a small number of tasks, but if the task number increases, these algorithms fail to provide efficient results. The authors in [40] presented a novel cloud task scheduling approach that utilize the idle time slot-aware rules and particle swarm optimization (PSO) to meet the deadline constraints of delay sensitive applications. The paper proposed a novel particle encoding scheme to encode the VM type needed by each of the task and schedules the tasks accordingly. The experimental results prove the effectiveness of the proposed approach concerning the execution time and meeting the deadline of the tasks.
To assign sub-tasks to the optimal resources [41], the authors introduce static task scheduling algorithms that combine heuristic-based HEFT search with genetic algorithm (GA). The results of the proposed algorithm show much improvement in the makespan. A task scheduling algorithm based on GA is introduced in [28] to reduce the makespan for users' cloudlets. The computational complexity of different tasks is considered in this research. In order to provide the answer to the problem of convergence in ACO, an adaptive task scheduling algorithm is proposed in [20]. The authors of this research [17], by improving the load balancing feature of different cloudlets in the cloud. This technical load balancing algorithm helps to lessen the response time and makespan by the use of the ant colony optimization algorithm (ACO). Authors also proposed a new hybrid task scheduling algorithm that optimizes four parameters, namely security, reliability, time and cost. The authors in [41] presented an improved genetic based task scheduling approach to optimize the task scheduling solutions across the cloud computing. The proposed approach harness both the advantages of evolutionary algorithm and heuristic methods. The proposed approach has shown best Makespan performance against the other compared contemporary approaches. The authors in [27] introduced a (MO-GA) algorithm for task scheduling in Cloud computing to improve the energy efficiency. Another work for scheduling the tasks and for energy-aware task scheduling in Cloud computing, an Energy-Aware multi-objective chiropteran algorithm (EAMOCA) is proposed in [42] to reduce execution time and to boost the ARUR. The authors in [43] proposed an improved differential evolution (IDE) model to improve the utilization of the VMs with low makespan. The proposed approach takes batch of user tasks as an input and are assigned to the VMs for optimal VMs utilization and minimizing the overall makespan.
In [44], the authors proposed SLA aware task scheduling approach. The proposed model considers time-varying performance with an aim to minimize the execution on the clouds considering the infrastructure as a service model. In the proposed approach, the predicted performance of VMs is provided as an input to a genetic algorithm that generates schedules at run-time.
To maximize the energy efficiency (profit) and minimize the energy consumption of cloud datacenters, the authors proposed a novel scheduling approach in [45]. To solve the scheduling problem, this paper presents an approach for tasks to virtual machine allocation that achieves maximum profit for reserved services in cloud data centers. By the use of a traditional cloud simulator that involves a time-consuming process, this approach gives accurate estimation for energy consumption that simulates all the virtual machine allocation updates. For this, the researchers have designed a simulation engine for CloudSim. This approach combines more virtual machines with a few physical machines and obtained energy savings from 24% to 41%. Furthermore, these techniques can handle many user requests that arrive in cloud data centers. An efficient task scheduling multi-objective task scheduling algorithm has been proposed in [24] that minimizes the execution and waiting time of different cloudlets on the basis of ranking technique among VMs. Another objective of this approach is optimizing the throughput for cloud data centers that reduce the overall execution time is implemented in [10].
The authors in [22] proposed an improved particle swarm optimization (IPSO). The IPSO algorithm achieves 50% efficiency in terms of makespan time. The authors in [9] proposed an intelligent bio-inspired task scheduling algorithm for large IoT infrastructure, by the combination of two popular task scheduling algorithms, i.e., ACO and GA for multiprocessor heterogeneous environment. The proposed approach lead to reduced execution time of the different length of tasks, as the number of processors increases and the results are analyzed with state of the art approaches. Authors combined two existing algorithms in order to optimize the parameters of cost and time [29].
For the purpose of the task scheduling, authors [46] combined the cuckoo algorithm (CA) and ACO. In order to provide an efficient hybrid algorithm, the researchers combined the best features of the cuckoo algorithm (CA) and ACO that outperforms the algorithm when these two algorithms are applied individually. However, in this research, the cuckoo algorithm (CA) is suitable to provide accurate results within its local minima, not for global minima. The categorization represented in Table 1 is based on the scheduling applications that have been taken from recent research papers. Different scheduling applications such as a job or task scheduling, dynamic or static scheduling, and task scheduling for cloud environment or grid environment are considered in this research.
The authors in [19] introduced a multi-objective optimization scheduling approach that employs makespan and user's budget costs to improve the response time with a reduced cost. The proposed model utilize two constraint functions to evaluate and provide response concerning the budget and performance. For the proper distribution of resources to lessen cost, makespan, energy consumption, a study is performed for multi-objective workflow scheduling [12]. For heterogeneous cloud computing environments, parameters like average cloud utilization, execution cost, and makespan are explained in [18]. A multi-objective algorithm is proposed in [3], which used backfilling heuristic for the mapping of resources from large scale to medium-scale low-level to minimize energy consumption, makespan, and several cloudlets that violate the service level agreement (SLA) requirements.
In a multi cloud system, an efficient multi-objective cloudlet scheduling algorithm is proposed by authors in [18], which is used to reduce the makespan and cost of Cloud computing. This algorithm increases performance in terms of ARUR. A dynamic task scheduling framework is designed in [47] that is based on chicken swarm and improved raven roosting optimization methods in cloud computing. In cloud computing, a new genetic approach is presented by [28] that solves the issues related to task scheduling and provides the best optimal results. In fog computing systems, a load-balanced hill climbing algorithm is designed by the authors of [48]. This algorithm has a temporary storage area, that is secure and easily accessible by cloud consumers. The authors in [49] proposed a trust aware task scheduling approach known as matching and multi-round allocation (MMA) for optimizing the makespan and the associated cost for each task. The paper also deals with the security constraints concerning the tasks that works in two phases for executing the scheduling of tasks. In first phase the tasks requirements are find out such as security, performance and reliability in the multi-cloud environment; in second phase the tasks are assigned to the resources based on the task requirements to reduce the execution time and associated cost. In [50], the authors proposed a novel task scheduling strategy known as two-stage to improve the resource utilization and load balancing of resources across the cloud environment. For this, they employed Bayes classifier that classify the tasks based on the historical scheduling data. In the next step, VMs are created in an optimal way to perform scheduling of the required tasks. In [51], Yuan et al. presented PSO based cost minimization problem for task scheduling in Cloud computing. The proposed approach considers the delay of the task and schedule the tasks based on the delay requirements of the tasks. A solution for non-deterministic polynomial time task scheduling algorithm is given by [34] that provides best task allocation strategy based on the parameters of throughput, task allocation and response time. A hybrid combination of priority-based scheduling and shortest job first proposed and implemented in the cloud computing environment [38]. This hybrid algorithm provides promising results in minimizing turnaround time and average waiting time and boost the efficiency of cloud computing resources. To improve the processing power of cloud applications, a novel job scheduling strategy is proposed in [35] to improve the performance and reliability of cloud computing applications that reduces the waiting in queues in an adaptive way. In a static environment, an efficient algorithm [15] is developed for an independent number of batch tasks. This algorithm minimizes the makespan for multi-cloud systems, as it is designed for offline batch mode multi-cloud systems. This algorithm (PIMSTA) provides reliability and scalability to the users with a minimum execution time.
This research work contributes an Adaptive Load Balancing Task Scheduling (ALTS) approach to boost the utilization rate of VMs in cloud and minimizing the makespan. Moreover, the ALTS approach identifies the factors that are responsible for the violation of SLA requirements and develops a model for optimum resource utilization of cloud computing. The next section provides details concerning the proposed ALTS approach.

Adaptive Load Balancing Task Scheduling (ALTS) Approach and Architecture
This section defines the high-level architecture and workflow of the proposed approach. Further details concerning the mathematical model and deep analysis of the ALTS algorithm are also part of this section.

ALTS Algorithm Workflow
The workflow of the ALTS algorithm represents the automation tasks scheduling in the cloud. To be specific, at every layer of ALTS architecture, the ALTS workflow can be categorized into several segments as revealed in Figure 1. Initially an accessibility phase of the ALTS algorithm deals with user's that interact with the cloud environment. Clients send an appeal to the cloud service provider (CSP) for the provisioning of tasks. The scheduler performs the scheduling of the tasks in queues on the foundation of memory size and execution time values. Suitable resources (VMs) are allocated to tasks that fulfill their requirements by the scheduler. The deployment and execution phase dispatches the suitable virtual machine list and tasks to the ALTS algorithm. In the ALTS algorithm, initially, the execution of the genetic algorithm (GA) starts by encoding chromosomes. The length of the chromosomes is equal to the number of tasks and gene value represents the number of VMs. The fitness function of the GA is used to evaluate the entire population, which is based on parameters of minimum makespan time, minimum SLA violation and maximum resource utilization rate. In the selection operation of the genetic algorithm, two best chromosomes recognize as two optimal chromosomes (nth and nth − 1) are selected. Here, the nth best chromosome elite is reserved for crossover operation and the second nth − 1 best chromosome elite is modified by the ACO. In an ant colony optimization algorithm (ACO), each is placed on the starting node and then the state transition rule is applied by all ants and they generate a solution. When all ants build a complete solution, then the pheromone value is updated. The best solution of an ACO is used for crossover operation of a GA. The finest two solutions from the GA and ACO are combined to form a new chromosome, which performs its functionality as the best resource (VM) allocation technique. To uphold the individuality in population, mutation operation is necessary for a GA. Then the resulted resource allocation scheme by GA and ACO algorithm are submitted to the resource pool of virtual machine manager, which execute tasks on suitable virtual machines (VMs) that are handled by the host machine. Simulation parameters are initialized and its execution starts.

Execution of ALTS Approach
The task scheduling problem can be defined as the allocation of a set of n tasks to a set of m virtual machines with several aims in mind depending on the objective of the scheduling problem. In our case, the main focus is to improve the utilization of the resources in the minimum makespan while minimizing the SLA violation. In the proposed adaptive load-balanced task scheduling (ALTS) algorithm, the first initial population is provided as an input to the genetic algorithm (GA). In this case, the GA uses a fitness function to find the best task to VM mapping with an aim to minimize the makespan, SLA violation and boost the throughput and resource utilization in a load-balanced way of the tasks scheduling across the cloud data centers. All the steps of the adaptive load-balanced task scheduling (ALTS) algorithm are demonstrated in Figure 2. In the proposed approach the main objective function is utilizing three parameter in order to achieve load balancing. In the proposed approach Equation (1) represents the fitness function, which is comprised of makespan, SLA violation and ARUR (Average resource utilization). The ARUR parameter controls the load balancing of the resources in the run time. The proposed approach employs an adaptive approach to achieve load balancing as will as not to compromise the SLA violation, thus the SLA violation parameter is used. Secondly, the makespan parameter is used to improve the execution time of the tasks on the available cloud resources. The following are the main aspects of GA and ACO, which are used in the proposed technique of adaptive load balancing task scheduling ALTS algorithm. These are as follows:

GA Initial Population and Formation of Chromosomes
It consists of all individuals that find an optimal solution for a genetic algorithm (GA). In the population, every solution is considered as an individual that is represented as chromosomes. These chromosomes are selected on the basis of specific criteria. In a GA, the main requirements of chromosomes are the details of the VMs and the tasks. In the proposed task scheduling (ALTS) algorithm, representation of tasks and virtual machines (VMs) are exemplified in Figure 3. In cloud computing environment, n number of tasks are assigned to m number of available resources. Here, the length of chromosome is represented by n and the virtual machine (VM) number is represented by gene value that ranges between 1 and m.

Calculation of Fitness Function
Individual chromosomes are selected, mainly dependent on the selection criteria of fitness function. In the population, fitness function shows the performance of every individual. Therefore the motivating factor of GA is the formula of fitness function. In the proposed task scheduling ALTS algorithm, fitness function is based on three parameters that are minimizing makespan, minimizing SLA violation and maximizing resource utilization in a load-balanced way as illustrated in Equation (1).
The Makespan is calculated in Equation (2): where CT j is the completion time of last task assigned to the V M j and m corresponds to the number of VMs. SLA violation occurs when any host reach their 100% CPU utilization and the user task need more CPU cycles for the execution. Equation (3) calculates the SLA violation.

SLA Voilation
where, T si is the time when the host is in violation and T ai shows the hosts total active time.
The ARUR can be obtained using Equation (4).
The avgMakespan is calculated in Equation (5).

Selection Operation
This step selects the suitable solution for the next generation. In the genetic algorithm (GA), there are many selection techniques that select the best chromosomes from the population. In the proposed task scheduling (ALTS) approach, the selection criterion basically rely on the fitness function that includes parameters of makespan, SLA, and ARUR. In the proposed ALTS approach, the GA selects the best fitted elite chromosome, whose maximum value is near to 1 among all the calculated fitness function values of all chromosomes. When the best-fitted elite is selected, and then it is considered as an initial pheromone for ACO algorithm for further evaluation of optimal results.

Execution of ACO Algorithm
The best solution derived from the GA is further refined by an ACO algorithm. The transformation of the genetic algorithm (GA) solution into the initial pheromone of ACO is performed by Equation (6) as: where GA BestSol is the optimal genetic algorithm (GA) solution and ε is a constant value. Initially, the ant colony optimization algorithm (ACO) assigns a pheromone value to the genetic algorithm (GA) best solution. Then ant colony optimization (ACO) allocates m resources to n − 1 number of tasks in the form of a matrix as A(m, n − 1). In the next move ACO, ant Ai changes its position from one state to the other state.
After that remaining VMs are updated and those ants moves that are infeasible deposited in a tabu list. When the first task is executed, the ant moves from the existing state to the next state. Then in the next iterations, ACO assigns the available resources to the upcoming tasks. This process continues until the desired best optimal solutions to all cloudlets are obtained.
During each single iteration, node transition rule is applied by an ant that is given in Equation (7) and it moves from the current state to the next state.
At this point, to avoid its division by 0, ε is a positive integer and ARUR, SLA and makespan are the average resource utilization rate, service level agreement and minimum makespan, respectively.
In an ant colony optimization (ACO) algorithm, before an ant enter into the next state, the amount of pheromone values on every path is rationalized by using Equation (8).
Here pheromone evaporation rate is denoted by (1 − ρ), and updated pheromone trail values of each movement is represented by T mn and ∆(t − 1) is the amount of pheromone available on each single path. This value is computed when an ant traverse from the existing state to a new state, otherwise it remains 0. Thereafter, the ACO algorithm calculates the probability of each ant by using Equation (9).
where the quantity of pheromone value on each path is denoted by T m,n and α, β must be positive values, as these are used for updating the pheromone value. While assigning resources to the tasks, every movement of the ant is defined by the information of heuristic function and it is denoted by T mn . The solution is decoded after producing the best optimal solution. Then that solution is submitted to the GA for the crossover and mutation operation to obtain a new offspring.

Crossover and Mutation Operation of GA
The crossover and mutation operations are achieved by selecting two individuals and then forming a new individual chromosome. In the proposed ALTS approach, two best solutions obtained from the GA fitness and ACO are selected for crossover operation. These best elites are composed of three parts (i.e., (i) left, (ii) middle and (iii) high). In the crossover operation, middle portion is interchanged and the left and right portions remain unchanged. The mutation process starts after the completion of the crossover operation. This process is used when the population becomes homogeneous due to the continuous use of crossover operation. Mutation change one or more gene values from its initial stage in the chromosome. Then new gene value is generated and added to the gene pool. While in mutation, to generate offspring, the spot of two gene values is exchanged. After performing all these steps, the solution result is produced and added to the actual population. This process continue until all tasks are allocated to their suitable resources. In the end, the proposed adaptive load balancing (ALTS) algorithm produced the optimal solution.

Steps for Proposed ALTS Algorithm
The main phases of proposed ALTS algorithm are given below:

1.
Initialize the parameter values for GA and ACO that are required for population size, mutation, crossover, iteration number and pheromone evaluation, etc.

2.
Set the values of the initial iteration number and initial population to 0.

4.
Fitness function of the GA is calculated using Equation (1).

5.
When the iteration number approaches the highest value then check the value of fitness function if it reach then go back to step 6 otherwise go to step 5. 6.
After the evaluation of fitness value, then we select two best chromosomes as (nth and nth −1) for next level. 7.
Provide the nth − 1 solution to the ACO as initial pheromone, where ants are represented by m and points are represented by n.

8.
Equation (6) builds a mapping of cloudlets to VMs after selecting next state for each cloudlet. 9.
Then the algorithm updates the pheromone value for each path and make a survey by checking that all the cloudlets are completed or not, if yes go to step 11, otherwise go to step 8. 10. To obtain a new offspring, perform the crossover and mutation operations. 11. Now analyze if the optimal solution is reached or not; if yes then move to step 12, otherwise move backward to Equation (9). 12. Returns the best optimal cloudlet to VM allocation.
The Pseudo Code of the ALTS approach is shown Algorithm 1.

Algorithm 1: Adaptive Load Balancing Task Scheduling (ALTS) Algorithm
Input: Number of tasks (T 1 , T 2 , . . . , T n ) arranged in queues Output: Optimal allocation strategy for each task.
Step 1: Initialize tasks population size and VMs capacity.
Step 2: Evaluate the fitness function.
Step 3: While (until all tasks are allocated to their suitable resources) do Step 4: Selection operation generates two foremost solutions (nth and nth − 1 chromosome).
Step 5: Modify the best solution (nth − 1 chromosome) from the GA fitness function to ACO Step 6: Initialize values of pheromone, m ← 0, n ← 0.
Step 7: For all VMs m in tasks n Step 8: Calculate heuristic information by Equation (6).
Step 10: Calculate the probability of pheromone trail value by Equation (7).
Step 11: Choose the task with the highest probability value.
Step 12: Update pheromone trail values on each path.
Step 13: Modified solution of ACO (nth − 1) chromosome and GA solution (nth chromosome) combined for crossover operation to form a new optimal allocation strategy.

Simulation Modeling, Design, and Analysis
This section discuss the experimental results and performance evaluation of ALTS approach against the existing compared task scheduling algorithms. To evaluate the performance of our proposed adaptive load-balanced task scheduling (ALTS) algorithm, we considered three algorithms related to task scheduling concerning makespan, SLA violation, and resource utilization. For pragmatic result evaluations, we utilized a renowned cloud simulator named CloudSim. The experiments are performed on a machine equipped with Intel (R) Core (TM) i5-5300U CPU @ 2.30 GHz and 20 GBs of RAM. For the employed simulation experiments, configuration details are illustrated in Table 2. All the experiments are performed on 32 virtual machines (VMs) within a DC. Here, the complete computing power of all virtual machines (VMs) is measured in million instructions per second (MIPS).

Simulation Results
For the simulation experiments, the HCSP benchmark dataset instances of c-hilo, i-hilo, c-lohi, and i-lohi are used to evaluate the performance of the proposed approach against the available contemporary approaches concerning the average resource utilization (ARUR) and makespan are calculated. The HCSP dataset are based on the Expected Time to Compute (ETC) model and are obtained in a way that represents the real behavior of a heterogeneous environment. The HCSP instances employs the C-THMH pattern, where the alphabet C represents the consistency level that can be consistent (c), inconsistent (i), or semi-consistent (s). The TH corresponds to the heterogeneity of tasks while MH denotes the heterogeneity machine. The details related to the dataset instances are available in [52].
Results are compared with the algorithm ACO (Kumar et al., 2018), genetic algorithm (GA) (Safwat et al., 2016), and hybrid combination of ACO and GA (Sayantani et al., 2018). The comparison shows that the proposed adaptive load-balanced task scheduling (ALTS) algorithm outperforms other task scheduling algorithms in terms of resource utilization and overall makespan. Every experiment is executed multiple times, and the average values are obtained and plotted. Figure 4 shows the makespan results, where the proposed ALTS algorithm consumes on the average 48, 44 and 21% reduced makespan for the c-hilo dataset instance as compared to ACO, GA, and GAACO task scheduling algorithms, respectively. For the c-lohi dataset, the ACO has shown poor performance against the other approaches. The GA and GAACO has shown almost similar behavior on the c-lohi dataset. Again the proposed approach dominated the other approaches by reducing the makespan by 66% against the ACO approach and 38% agains the GA and GAACO approaches. However, for the i-lohi dataset a slight improvement in makespan is observed for the proposed approach against the compared scheduling approaches.  Figure 5 plots the ARUR results of all the available approaches. The proposed ALTS approach has obtained 142%, 87%, and 25% higher resource utilization as compared to the ACO, GA, and GAACO task scheduling algorithms, respectively, for the c-hilo dataset instance. The ACO approach has again shown poor ARUR performance on the c-lohi dataset instance by attaining only 0.1 ARUR value. The GAACO has shown improved performance on the c-lohi dataset instances. Again the proposed approach dominated the contemporary approaches with an improvement of 25-145% higher ARUR.
Another important metric that is used to evaluate the performance of any task scheduling algorithm for cloud computing is SLA violation. The SLA violation is important parameter to ensure the quality of service which is an important requirement for the cloud service provisioning. One objective of this work is to minimize the SLA violation. The results concerning the SLA violation for the compared approaches are plotted in Figure 6. Once again the proposed approach has outperformed the compared approaches with the lowest SLA violation of 0.41. The proposed ALTS approach has reduced the SLA violation by 21% against the GAACO approach and 45% against the ACO approach. The GAACO approach has shown second best improved results concerning the SLA violation. The obtained results confirms the efficiency of the proposed approach and is suitable for workload with various heterogeneity level.

Conclusions and Future Work
In this work, an optimal task scheduling solution has been designed and implemented. The proposed approach has been evaluated and compared with ACO, GA, and existing GAACO approaches and the obtained results confirms the improvement concerning the makespan, resource utilization and SLA violation. In the proposed approach, the ACO is used to optimize and improve the solutions of Genetic algorithm. The proposed ALTS algorithm has shown improvement in the task scheduling concerning the makespan and resource utilization by the provisioning of load balanced task scheduling. Furthermore, the proposed approach minimizes the SLA violation to improve the quality of service. The obtained results confirms the effectiveness of the proposed ALTS approach.
In the last few years, energy aware strategies have shown huge attention from the research community. In future, an energy-aware task scheduling will be designed and implemented in real cloud environment.