A Pair-Task Heuristic for Scheduling Tasks in Heterogeneous Multi-cloud Environment

Heterogeneous multi-cloud environments make use of a collection of diverse performance rich cloud resources, linked with huge-speed, performs varied applications which are of computational nature. Applications in the multi-cloud environment require distinct computational features for processing. Heterogeneous multi-cloud domain well suits to satisfy the computational need of very big diverse nature of collection of tasks. Scheduling tasks to distributed heterogeneous clouds is termed NP-complete which leads to the ultimate establishment of heuristic problem solving technique. Identifying the heuristic which is appropriate and best still exists as a complicated problem. In this paper, to address scheduling collection of ‘n’ tasks in two groups among a set of 'm' clouds, three heuristicsPair-Task Threshold Limit (PTL), PTMax-Min, and PTMin-Max are proposed. Firstly, proposedheuristics calculate tasks threshold valuebased on the tasks attributes to determine the tasks scheduling order and then tasks are sorted in descending order of threshold value. Group 1 comprises ([n/2]) tasks ordered in descending value of threshold. Group 2 comprises remaining tasks ([n/2] − 1) ordered in ascending value of threshold. Secondly, tasks form group 1 are scheduled first based on minimum completion time, and then tasks in group 2 are scheduled. The proposed heuristicsare compared with existing heuristics, namely MCT, MET, Min-Min using benchmark dataset. The proposed approaches PTL, PTMax-Min, and PTMin-Max explicitly shows the better results in terms of reduced makespan, completion time, response time and more resource utilization compared to MCT, MET, and Min-min.


Introduction
The use of cloud computing has seen exponential growth at both customer and enterprise levels over the past decade. In short, cloud computing is the distribution over the Internet of computer services [1]. Cloud based storage makes it possible to store files and access them on demand from a remote database. It provides both public and private services in that private services are hosted on a network for individual users and public services are offered online for a fee. When it comes to business, there is a completely different cloud. Some organizations prefer to introduce Software as a Service (SaaS-E.g. Cisco WebEx), Platform as a Service (PaaS-E.g. Windows Azure) where a company creates its own custom software for everyone in the company to use and Infrastructure as a Service (IaaS-E.g. Windows Azure) which include a foundation that other companies can "purchased out". On demand, cloud computing meets users' demands through self-managed virtual infrastructure leads to efficient usage of resources [2].Cloud computing growth leads to reduce in efficiency, throughput and minimum usage of resources which needs to be rectified [3]. In addition to several ways to increase the performance and effective use of resources, one approach is scheduling cloud tasks to the resources. Resource allocation can be effectively managed through task scheduling, which in turn improves the system's throughput.
Task-cloud scheduling [4,5] means mapping task to particular computing resource also referred as Virtual Machine (VM), so the usage of resources improves.An innovative algorithm for task scheduling increases the overall efficiency of the system and allows service providers provide high Quality of Service (QoS). The list of VMs and its QoS is available to dealers or resource brokers.The strong QoS is allocated to a highly efficient VM. Dealers receive the user's requests and the request is submitted to a VM that satisfy the Service Level Argument (SLA) [6] and requirement of customer.QoS should not be decreased for the request or task during scheduling a specific VM. Task that requires high QoS role often allocated to low QoS VM that contributes deficient resource usage and breaks SLA. Thus appropriate task-cloud scheduling algorithm must therefore extended to dealer.Scheduling of tasks is considered to be a difficult issue in cloud environment. Many researchers have defined this most difficult problem as NP-complete problem [7][8][9][10][11][12][13]. Main motto behind this scheduling is to minimize make span [14,15], energy consumptionand increasing resources utilization [16] and ability of balancing the load [17][18][19]. Arrival of drastic cloud users requires reduced makespan to improve the experience of cloud users. Improving the balancing of load among cloud resources results in decrease of overloaded resources, fully utilization of available virtual resources, reduction in waste arising due to enormous idleness of the resources [20,21].
Proposed PTL, PTMax-Min, and PTMin-Max heuristics are scheduled as follows. Based on the attributes of tasks, tasks threshold value is computed. Tasks are classified as Group1 and Group2. Tasks sorted in descending value of threshold. Group G1 comprises ([n/2]) tasks ordered in descending value of threshold. Group G2 comprises remaining tasks ([n/2] − 1) ordered in ascending value of threshold.In PTL heuristics, first the tasks in Group1 is scheduled first and then the tasks in Group2 are scheduled next.Here the tasks are scheduled to the cloud whose execution time is less than the tasks threshold value. In PTMax-Min heuristics, first the tasks in Group1 is scheduled first and then the tasks in Group2 are scheduled next. In PTMin-Max heuristics, first the tasks in Group2 is scheduled first and then the tasks in Group1 are scheduled next.Proposed heuristics bring out minimum make span and increased cloud resources utilization compared to existing heuristic approaches.

Related Works
Konjaang and Xu [22], provide an efficient method for workflow scheduling. Multi-Objective Workflow Optimization Strategy (MOWOS) brings out reduced makespan and execution cost. In order to minimize scheduling length, MOWOS divides bigger tasks into smaller sub tasks. MOWOS performs allocation of tasks using MaxVM selection and MinVM selection algorithm. Approach achieves deadline at minimum time and budget. Kiruthiga & Mary Vennila [23], presented a Chaotic Quantum-behaved Chicken Swarm Optimization (CQCSO) algorithm. The algorithm followed a chaotic and quantum theory to solve the issue like premature convergence and local optima. It achieves efficient scheduling using fitness function which is multi-objective. Pang et al. [12], introduced EDA-GA hybrid scheduling algorithmto overcome the hot issues in cloud, which generates solutions that are feasible. GA operations like crossover and mutation searches for an optimal strategy in scheduling by finding an efficient solutions among the certain scale of feasible solutions. Many researchers have addressed the problem of scheduling of tasks based upon the Min-min scheduling heuristics to minimize make span, execution cost, and to increase theutilization of cloud resource.
Liu et al. [24], presented an improved Min-min algorithm, which performs scheduling considering three limitations like QoS, dynamic priority is adopted, and service cost. Researchers [25][26][27] [19] have acknowledged while comparing their approach with that of Min-min heuristics brings out reduced makespan and minimum cost of execution. Many researchers have also addressed the problem of scheduling of tasks based upon the Max-min scheduling in cloud environment. Li et al. [28], provided an improved Max-Min based technique called MINMax-Min algorithms results in reduction of average makespan of tasks. Ghumman and Kaur [29], presented improved Max-Min Ant Colony hybrid Algorithm.Hybrid approach provides better makespan and minimum execution cost. It does not consider scheduling workflow length and efficient selection of VMs leading to underutilization of resources. Wu et al. [30], proposed an approach segmented Min-Min. Depending on the value of expected completion time; the tasks are arranged and segmented. Then Min-Min heuristics is carried out for the segments. Compared to Min-Min, this algorithm gives the earlier response time for the longer tasks.
Etminani and Naghibzadeh [31], presented an approach based on Min-Min and Max-Min heuristics. For various scenarios, the new approach proved efficient. Devipriya and Ramesh [32], presented improved Max-Min technique. The technique matches larger tasks to lower computing efficiency virtual machine and vice-versa. Majid Habibi, Nima Jafari Navimipour [23], presented a meta-heuristic optimization scheduling heuristic Imperialist Competitive Algorithm (ICA). ICA achieves improvement in execution time than Genetic Algorithm. Lakraa and Kumar Yadav [33], proposed multi-objective algorithm for task scheduling. The approach considers execution time and cost, bandwidth of the user for optimal scheduling. It achieves without violating SLA. Awad et al. [7], propose mathematical model Multi-objective Load Balancing Mutation particle swarm optimization (MLBMPSO) for task scheduling. It achieves reliability, balances load by rescheduling tasks on available resources efficiently. Jena [34], presented a multi-objective nested Particle Swarm Optimization(TSPSO) for scheduling of tasks. It achieves optimal result considering multiple objectives. Survey on multi-objective task scheduling in cloud computing is shown in Table 1.

Model and Problem Definition
Collection of tasks without any relationship among the tasks is termed as meta-tasks.
Allocating the tasks to the heterogeneous distributed clouds termed as mapping. Optimal matching of meta-tasks to heterogeneous distributed clouds becomes an NP-Complete problem. Static matching of meta-tasks to heterogeneous distributed clouds is performed. Static matching aims to lessen the processing time of meta-tasks. Heuristic technique solves NP-Complete problem efficiently. Proposed heuristic approach is then compared with the existing heuristic technique by creating a simulation environment by defining a set of common assumptions [35] [36]. Scheduling assumptions are as follows: (i) Meta-task T defines collection of unconstrained tasks. No data dependency exists among tasks (ii) Perform static scheduling of meta-tasks to cloud set C (iii) Each cloud in the cloud set C execute a task at a time as per scheduled list. (iv) Meta-task size T represented as 'l', total count of clouds in the cloud set C is 'm' (v) The size of 'l' and 'm' are static and known prior (vi) In static heuristic, each task's expected execution time in every cloud is known in advance to execution and is represented in ETC matrix.
Proposed heuristic schedules T to heterogeneous distributed clouds to meet the following objectives: (i) Minimum makespan (ii) Maximum cloud resource utilization
Average Task Execution Time (AET) of task TK i on cloud resource CD j calculated by AET of task TK1 is, AETvalue for the set of tasks TKi is listed in Table 3.
Step 2: Grouping Tasks. The tasks are grouped as two sets based on the above calculated AET. Task

Pair-Task Limit (PTL) Algorithm
Step 1: Schedules the tasks listed in the task set MAX_AET to the cloud with minimum completion time.
Step 2: Schedules the tasks listed in the task set MIN_AET. Select a cloud whose execution time is less than AET, and also the completion time should be less than the completion time of all other clouds, and then the task is scheduled to that cloud.
Step 3: Compute makespan and Average Cloud Utilization (ACU). Now, for the given scenario, the Algorithm PTL schedules the task to the cloud as follows. First, the tasks grouped under the task set MAX_AET are scheduled. The completion time (CT) of task TK6, TK2, TK8, and TK7 on the cloud is shown Table 4.
The minimum completion time (MCT) of task TK6 is 4479.1, therefore task TK6 is scheduled to the cloud CD1. MCT of task TK2 is 5084.6, therefore task TK2 is scheduled to the cloud CD2. MCT task TK8 is 5896.1, therefore task TK8 is scheduled to the cloud CD3. MCT of task TK7 is 4479.1, therefore task TK7 is scheduled to the cloud CD1.Second, the tasks grouped under the task set MIN_AET are scheduled. Now, a step by step illustration is provided, how the tasks grouped under the task set MIN_AET are scheduled.
Consider the task TK1 and its AET is 1942.7. Cloud whose execution time for Task TK1 less than the AET 1 is CD1, CD2, CD3, CD4, and CD5. Completion Time of TK1 on selected cloud is given in Table 5.The minimum completion time is 1896.3, and hence, the task TK1 is scheduled to the cloud CD5.
Consider the task TK5 and its AETis 2852.5.Cloud whose execution time for Task TK5 less than the AET 5 is CD1, CD2, CD3, and CD4. Completion Timeof TK5 on selected cloud is given in Table 6. MCT of task TK5 is 5823.4, therefore it is scheduled on cloud CD1. Consider the task TK3 and its AET is 4039.2. Cloud whose execution time for Task TK3 less than the AET 3 is CD1, CD2, CD3, and CD4. CT of TK3 on selected cloud is shown in Table 7. MCT of task TK3 is 7943.1, therefore it is scheduled on cloud CD1.
Consider the task TK4 and its AET is 6110.4. Cloud whose execution time for Task TK4 less than the AET 4 is CD1, CD2, CD3, and CD4. CT of TK4 on selected cloud is shown in Table 8.
MCT of task TK4 is 7872.8, therefore it is scheduled on cloud CD2.The mapping heuristic for PTL heuristic is shown in Table 9.
Step 2: Schedules listed tasks from MIN_AET to cloud with MCT.
Step 3: Compute makespan and average cloud utilization. Now, to the given scenario, the heuristicPTMax-Min schedules the task to the cloud as follows. First, the tasks grouped under the task set MAX_AET = {TK6,TK2,TK8,TK7} are scheduled.The completion time of task TK6, TK2, TK8, and TK7 on the cloud is shown in Table 10.
MCT of task TK6 is 4479.1, therefore TK6 is scheduled to cloud CD1. MCT of task TK2 is 5084.6, therefore TK2 is scheduled to cloud CD2. MCT of task TK8 is 5896.1, therefore TK8 is scheduled to cloud CD3. MCT of task TK7 is 4479.1, therefore TK7 is scheduled to the cloud CD1.Second, the tasks grouped under the task set MIN_AET are scheduled. Now, a step by step illustration is provided, how the tasks grouped under the task set MIN_AET = {TK1, TK5, TK3, TK4} are scheduled.CT of tasks listed in MIN_ AET on the cloud is shown in Table 11.
MCT of task TK1 is 1896.3, therefore TK1 is scheduled to cloud CD5. MCT of task TK5 is 3161.5, therefore TK5 is scheduled to cloud CD6. MCT of task TK3 is 4971.3therefore, the task TK3 is scheduled to cloud CD6. MCT of task TK4 is 7050.4, therefore TK4 is scheduled to cloud CD1.The mapping heuristic for PTMax-Min is shown in Table 12.

PTMin-Max Algorithm
Step 1: Schedules the listed task from MIN_AET to cloud with MCT.
Step 2: Schedules the listed task from MAX_AET to cloud with MCT. Step 3: Compute makespan and average cloud utilization. Now, in the given scenario, the heuristic PTMin-Max schedules the task to the cloud as follows. First, the tasks grouped under the task set MIN_AET = {TK1,TK5,TK3,TK4} are scheduled.CT of tasks TK1, TK5, TK3, and TK4 on the cloud is shown in Table 13. MCT of TK1 is 745.2, therefore TK1 is scheduled to cloud CD1. MCT of TK5 is 1559, therefore TK5 is scheduled to cloud CD2. MCT of TK3 is 2864.9, therefore TK3 is scheduled to cloud CD1. MCT of TK4 is 3100.9, therefore TK4 is scheduled to cloud CD3. Second, the tasks grouped under the task set MAX_AET are scheduled. Now, a step by step illustration is provided, how the tasks grouped under the task set MAX_ AET = {TK6,TK2,TK8,TK7} are scheduled. The completion time of task TK6, TK2, TK8, and TK7 on the cloud is shown in Table 14.  Task Scheduled on  Cloud   CD1-TK4,TK6 CD2-TK2 CD3-TK8 CD4-TK7 CD5-TK1 CD6-TK5 CD7-TK3 Makespan (Seconds)

7242.2
Average cloud utilization (%) 61 MCT of TK6 is 7344, therefore TK6 is scheduled to cloud CD1. MCT of TK2 is 6643.6, therefore TK2 is scheduled to cloud CD2. MCT of task TK8 is 6316.3, therefore TK8 is scheduled to cloud CD4. MCT of TK7 is 7843.8, therefore TK7 is scheduled to cloud CD5. The mapping heuristic for PTMin-Max is shown in Table 15.
The detailed comparison of proposed PTL, PTMax-Min, and PTMin-Max heuristics and the existing heuristics (MET, MCT and Min-min) for the twelve different instances of Sample 8 × 8 matrices with consistent, high task and low cloud heterogeneity ETC matrixgiven in Table 2 based on the simulation parameters, cloud-task mapping, makespan, and average cloud utilization values, is shown in Tables 16, 17, and 18.Illustration visualizes distinctlythe heuristics, PTL, PTMax-Min, and PTMin-Max, PTMax-Min performs better for all instancesand achieves minimum makespan than PTL and PTMin-Max heuristics.

Evaluation Parameters
The evaluation parameters considered for accessing the performance heuristic scheduling techniques are given below.

Makespan
The makespan (MS) is stated as overall completion time of tasks defined in the task set TK. Makespan MS[k] of a particular cloud 'CD k ' is obtained by adding expected execution time of group of tasks 'TK i ' mapped to the cloud 'CD k '. MS[k] is defined as follows: Makespan (MS) is mathematically presented as follows:

Simulation Environment Setup
Considering the distinctive nature of distributed heterogeneous computing environments, the best heuristic technique can be developed to suite to the given environment for optimizing the objective function. The objective function determined for mapping the meta-tasks 'T' to the distributed cloud set 'C' is minimizing the makespan. To prove the heuristic proposed, the execution time of the technique is considered as the evaluation parameter. The overall completion time of the meta-tasks is termed as the makespan.Typical assumption made in the literature of HC is that the expected time of execution of meta-tasks on all cloud set C is known. The estimate is made based on task profiling and cloud resource benchmark. The benchmark is determined based on the previous execution of the tasks on the cloud resource; otherwise the detail is given by the cloud user. In static heuristic, each task's expected execution time in every cloud is known in advance to execution and

ETC Matrices Generation
Generation of ETC matrices requires the TH and CRH to be defined mathematically and is described in the Table 21.

Proposed Heuristic Evaluation Comparison
Makespan calculated for 512×16 braunetal. benchmark data set instances presented in Fig. 1 Table 22. From, the Figs. 1, 2, 3, 4 and 5 and Table 9, it is clearly evident that the proposed heuristic techniques achieves minimum makespan compared to that of the existing heuristic technique, MET, MCT, and Min-Min. Among the three proposed heuristics, PTL, PTMax-Min, and PTMin-Max, PTMax-Min, for partially-consistent ETC matrices for low task and low cloud heterogeneity, PTMin-Max performs better and achieves minimum makespan than PTMax-Min, for all the remaining instances PTMax-Min achieves minimum makespan and is shown in Fig. 6.
ACU value of PTL, PTMin-Max, PTMax-Min heuristics is calculated for 512 × 16 braun et al. benchmark data set instances and compared with the existing heuristic is shown in Figs. 7,8,9,10,11 respectively. An experimental result of cloud utilization for three consistent instances is shown in Figs. 8, 9, 10 and 11. The heuristics performance in terms of cloud utilization among the proposed heuristics PTMax-Min, PTL, and PTMin-Max is better than the existing heuristic Min-min.
Comparison results depict that proposed heuristics PTL, PTMin-Max, PTMax-Min makes a balance between makespan, and cloud utilization rate compared to existing heuristic Min-min.

Conclusion
Most prominent issue which brings out a huddle in the performance of cloud environment is tasks scheduling. The proposed three heuristics PTL, PTMax-min, and PTMin-Max which schedules the tasks considering the tasks threshold value.Heuristics proposed are static heuristics. The proposed heuristics PTL, PTMax-min, and PTMin-Max obtains reduced makespan, and better cloud resource utilization than the existing heuristic Minmin. The order in which tasks scheduled to the cloud resource is a very significant factor in minimizing makespan and increasing cloud resource utilization. Thus, the proposed      for the Policy holders can be scheduled using the proposed heuristic technique to map the tasks to the appropriate cloud resource to achieve minimum makespan. In future, we will enhance the heuristics to meet the scheduling decisions for dynamic scheduling including QoS parameters, SLA among cloud users and cloud service providers, and considering priority in scheduling among tasks from multiple cloud users.