Multi-Objective Task Scheduling in Cloud Computing Using an Imperialist Competitive Algorithm

Cloud computing is being welcomed as a new basis to manage and provide services on the internet. One of the reasons for increased efficiency of this environment is the appropriate structure of the tasks scheduler. Since the tasks scheduling in the cloud computing environment and distributed systems is an NP-hard problem, in most cases to optimize the scheduling issues, the meta-heuristic methods inspired by nature are used rather than traditional or greedy methods. One of the most powerful meta-heuristic methods of optimization in the complex problems is an Imperialist Competitive Algorithm (ICA). Thus, in this paper, a meta-heuristic method based on ICA is provided to optimize the scheduling issue in the cloud environment. Simulation results in MATLAB environment show the amount of 0.7 percent improvement in execution time compared with a Genetic Algorithm(GA). Keywords—Cloud Computing; Tasks scheduling; Imperialist Competitive Algorithm


INTRODUCTION
Today, data centers are composed of thousands of computers that are distributed worldwide and users use the computers frequently to send e-mail, read, write, search, etc. Users perform the mentioned operations using the available browser and as a service receiver attached to the servant.Also, cloud computing [1,2,3,4,5] combines parallel concepts and computing systems to provide for computers and other machines shared resources, hardware, software and information [6,7,8,9].In the cloud, users use the provided services according to their needs.The National Institute of Standards that is the Information Technology Laboratory, provides a comprehensive definition of cloud computing: Cloud computing is a pay-per-use model for enabling access, and easy and on-demand network access to a shared resource of computing resources configurable as networks, servers, saving resources, programs, and services that can be prepared with a high-speed and be published with little effort of management or interaction of servant.There are many challenges in a cloud environment.However, task scheduling is an important challenge that has continued to remain a challenge despite many efforts made recently in the field .The services provided in cloud computing are grouped into 4 categories, including SaaS (Software as a Service) [10,11,12,13,14], IaaS (Infrastructures as a Service) [15,16,17,18,19], PaaS (Platforms as a Service) [20,21,22,23,24,25] and EaaS (Expert as a Service) [8,9,26,27,28,29].
In distributed systems, task scheduling should dedicate subtasks to resources that enhance system performance and that is the scheduling methods which determine the performance order of these tasks [30].As the allocation of processor and resource to tasks is a complex issue in heterogeneous distributed systems such as cloud environment, many methods and algorithms have been provided to reduce time complexity and simultaneous function of subtasks.Some of the available challenges in the field of scheduling tasks in heterogeneous distributing systems include heterogeneous resources, total running time, runtime and productivity convergence speed in meta-heuristic methods and efficiency of scheduling method.According to the importance of this issue, in this paper, research has been conducted in the field of scheduling computing tasks on cloud computing and heterogeneous systems.
In the second section of this paper, a review and background of research have been provided.In section 3, we define the proposed method.In section 4, the results of the simulation and comparing of the proposed algorithm with other algorithms have been discussed and assessed.Finally, in the last section the conclusion and future work are presented.

II. RELATED WORK
In this section, the function of a number of related procedures in the field of scheduling tasks on cloud systems has been studied and discussed.Sung-Soo Kim, et al. [31] in 2014, using optimization algorithm based on biogeography (BBO) which is a new method of meta-heuristic algorithms, optimized task scheduling in cloud computing.Several criteria have been used to assess the task scheduling algorithms and the runtime and the task circle duration have been considered as important criteria which are the main aim of this algorithm.The advantage of this algorithm is to optimize the duration of performance of functions.
Two task scheduling methods named Heterogeneous Earliest Finish Time )HEFT( and Critical-Path-On-a-Processor )CPOP( based on the list have been presented with limited processors to achieve high efficiency and fast timing [32].HEFT method in every procedure selects a task that has an www.ijacsa.thesai.orgupward rank and maps via using the method according to processors rank that reduces the earliest start time.However,in CPOP method to indicate priority the sum of the values of upward rank and downward rank of tasks is used, as well as these two algorithms are different in choosing the processor of tasks, so that CPOP algorithm assigns tasks on the critical path to the processors that minimize the makespan of all tasks in critical path.
In [32], a scheduling algorithm called Longest Dynamic Critical Path )LDPC( is proposed with a high-efficiency.Provided algorithm is used on distributed computing systems with a limited number of processors.LDCP scheduling method is based on a list which uses a new method to select tasks for scheduling in a heterogeneous environment of distributed computing systems which enables this algorithm to schedule tasks with a better quality.In this paper, the proposed algorithm has been compared with two DLS with HEFT scheduling algorithm; the survey results show that the proposed method of mentioned algorithms is better in acceleration and time of scheduling.Also, the efficiency of the proposed algorithm with the increase of communications costs between tasks in the graphic is increased compared to other two algorithms.As a result, this algorithm provides a practical solution for scheduling programs with a parallel power with more communication costs in heterogeneous environments of computing systems. In [33], a two-step algorithm called Hybrid Heuristic-Genetic Scheduling )H2GS( has been suggested for tasks scheduling in heterogeneous distributed computing systems.The first stage of the algorithm is based on LDCP list for scheduling with high quality and in second stage scheduling obtained from the first stage is injected to the initial population of a GA called Genetic Algorithm for Scheduling (GAS).The function of the second stage leads to a shorter schedule.The efficiency of H2GS is compared with two methods of DLS and HEFT and the results show that the proposed algorithm improves the mentioned methods.In [34], a task scheduling method in heterogeneous computing systems has been presented by employing GAs of multiple priority offers.The main idea of this method that is called Multiple priority memetic algorithm )MPQGA( is the use of simultaneous advantageous of heuristic and evolutionary algorithm and avoidance of their objections.In order to assign priorities to tasks, a GA is used and heuristic method of Earliest Finish Time )EFT( for mapping tasks to the processor is applied.MPQGA algorithm of combining processes has used a mutation and strong fit for tasks scheduling.Experimental and comparative test results conducted on the Real world graphs and random revealed that MPQGA algorithm is optimized two heuristic algorithms and a meta-heuristic method called Basic Genetic Algorithm (BGA).
Verma, et al. [35] used an improved GA for tasks scheduling in the cloud computing environment.The initial population in this algorithm unlike the standard GA is not chosen randomly and the results of the two algorithms are used in the production of the initial population.Ting, et al. [36] have provided an optimized algorithm for tasks scheduling in the cloud computing environment.After applying the selecting operators, combination and mutation of simulated GAs are used; in this case, the new generation will be closer to the optimal solution.Meanwhile, in this method the parameter of quality of service is composed of five parameters included completion time, bandwidth, cost, distance, and reliability, which due to the type of task different values are assigned to each of these parameters.
Vey, et al. [37] have used GAs to minimize the time to complete tasks in a cloud computing environment.A matrix that is the anticipated time for implementation of each task from any source is used to calculate the completion time.Also, a parameter is used that is the indicator of time which finishes the allocated processor in the previous schedule; with this parameter, the workload of the source will also be used to find the optimal sequence.

III. THE PROPOSED METHOD
One of the weaknesses of the ICA is its rapid convergence to the local optimum points.To improve this problem and increase the scanning ability of algorithm, a process similar to the fixed mixing process which is used in GAs is applied in the policy of absorption.This means that after applying the absorption policies on the empire to increase the seeking range of issue a uniform recombination is used in the production of the new position of colonies.Here, one of the parent recombination operators is the position of the colonizer and the position of colonized.In order to prevent random seek and mutation to inappropriate responses, a condition is used in the body of algorithms that is when the resulted position is better compared to the previous position of each colony, the current position is replaced.Formula (1) shows how this process functions in which Colonyik is the coloniali of empirek and Imperialistk shows colonial empire k.Also, α is a coincidence brother that is composed of zero and one.
In Figure 1, an overall stage of the proposed algorithm for pseudo-code has been shown.In order to assess the efficiency, the proposed method is compared with GA regarding the time to complete the tasks and the productivity of resources via using MATLAB.In order to assess the efficiency of the proposed algorithm, the data in Table 1 is used and Table 2 shows the parameters of the ICA.Due to the nature of meta-heuristic algorithm and random initial positions, each algorithm has been implemented 10 times on average and the obtained average results are considered as a final answer and criteria for comparison.Figure 2 shows the comparison of the proposed method with GA in terms of standard completion time, regardless of the distribution time.The comparison chart of ICA with a GA is presented in a cloud environment, based on the funding function formula (1) is also shown in Figure 3, Time to send tasks from the scheduler to sources is considered according to bandwidth parameters, in the proposed cost function.In this section, an improved version of the ICA is proposed for tasks scheduling in a cloud environment.In the most proposed algorithms for mapping tasks to resources in the cloud environment, only the time of performing tasks is noted and features of sources bandwidth and time is not considered as an effective parameter in producing the final answer.In this paper, a cost function aware of bandwidth is used for optimal scheduling and enhanced efficiency of tasks scheduling resources in the cloud computing environment.As well as in order to avoid algorithm to be trapped in the local optimization and enhancing scanning ability of algorithm, after the policy of absorption a process similar to the uniform mixture of GAs has been applied to empires.Results of implementation and comparison with other proposed methods for tasks scheduling in a cloud environment, such as GA, particle swarm, and competition algorithm also represent achieving better responses and suitable colonialism standard tasks scheduling.www.ijacsa.thesai.org

V. CONCLUSION
In most of the algorithms provided for mapping the tasks to resources in cloud environment, only attention is given to the time of performing tasks and bandwidth features of resources and time of sending tasks are not considered as effective parameters in producing the final answer.In this article for optimal timing and increasing resource efficiency, a cost function aware of bandwidth is used for tasks scheduling in cloud computing environment.Also, in order to avoid algorithms to be trapped in local optimization and increasing the scanning ability of algorithms, the same process with uniform recombination available in GAs has been applied to empires after the policy of absorption.The results of issue implementation and its comparison with other proposed methods for tasks scheduling in the cloud environment, such as GAs and standard ICA represents achieving better response and more convenient tasks scheduling.In this paper, improved version of ICA for tasks scheduling in the cloud environment is proposed.For this reason, further studies in tasks scheduling in the cloud computing environment, such as MPQMA metaheuristic methods is used to improve tasks scheduling.

Fig. 1 .
Fig. 1.The proposed algorithm for pseudo-code IV.SIMULATION RESULTS

Fig. 2 .
Fig. 2. Chart of methods comparison in terms of completion time without taking into account the time to send

Fig. 3 .
Fig. 3.The chart of comparing algorithms based on the cost function Figure 4 also shows the efficiency of sources in the ICA comparing to the GA.The results showed an improvement in performance of the proposed algorithm comparing to the other methods proposed for tasks scheduling in the cloud environment such as GAs, particle swarm, and the standard ICA.

Fig. 4 .
Fig. 4. The chart of comparing algorithms based on resource efficiency