Cloud Load Balancing Based on ACO Algorithm

Size: px
Start display at page:

Download "Cloud Load Balancing Based on ACO Algorithm"

Transcription

1 Cloud Load Balancing Based on ACO Algorithm Avtar Singh, Kamlesh Dutta, Himanshu Gupta Department of Computer Science, National Institute of Technology,Hamirpur, HP, India Department of Computer Science, Shoolini University Solan, HP, India Abstract Cloud computing is an emerging technology for sharing resources, and depends upon scheduling process, but sudden change in load, this may give rise to resource scheduling. This paper deals with response time and resource cost minization, by using the ant colony algorithm to search the optimal solution, in order to optimize the load balancing of cloud resource. The simulation result depicts, the performance efficiency with improved load balancing approach of cloud resource based on selection of the pheromone intensity. Keywords: Cloud Computing; Ant Colony Algorithm, Task scheduling; 1. Introduction Cloud computing is fast rising area of computing research, it is the development and commercial implementations of grid computing, parallel computing and distributed computing at the same time. Cloud computing can use virtualization technology to centralize storage capacity, processing capacity, and communication capability in the data center as a shared resource pool which can be configured dynamically. Due to the sharing of resources between different computers in the cloud, the complexity of managing the resources is increased. To handle this problem there is some load balancing scheme that balances the load across all the processors. Many algorithms have been used to solve the problems, such as, Genetic algorithm, simulated annealing, heuristic algorithm, ant colony algorithm, tabu search procedure, particle swarm optimization, etc. A Genetic Algorithm is a search heuristic algorithm based on the principles of natural selection and natural genetics. GAs combines the exploitation of past results with the exploration of new areas of the search space [1]. Ant Colony Optimization (ACO) is a meta-heuristic using artificial ant to find desirable solutions to difficult combinatorial optimization problems [2]. The resource allocation process is implemented in two phases. In the first phase, the load balancer allocates resources to systems as requested by an application and in second phase when incoming requests are assigned to an application effort to balance loads within the application as per Quality of Services (QoS) and minimum cost [3]. To minimize the total time taken, the scheduling, goal is to decrease the amount of data transfer with minimum cost and assure balanced distribution of tasks as per processing capability. Thus, appropriate task resources mapping allocation is an important topic for which various optimization techniques have been experimented with [4]. 1036

2 2. Problem Statement A new method has been proposed for resource allocation in a cloud computing environment which is useful in solving the performance of different resource with their tasks such as response time, throughput, etc. while others are free or idle with decision making criteria on a priority basis of task for distribution of resources. The ant colony optimization is used for scheduling the resources. 3. Technique This section reports the general view of ACO, ACO for task scheduling with execution time and resource cost. 3.1 General View of Ant Colony Ant Colony Optimization (ACO) is a meta-heuristic using artificial ant to finddesirable solutions to difficult combinatorial optimization problems [1]. The behavior of artificial ants is based on the traits of real ants as described above, plus additional capabilities that make them more effective, such as a memory of past actions. Ant colony optimization is an algorithm, which is based on the behavior of real ants in finding a shortest path from a source to a food. It is inspired from the ant colonies that work on a foraging behavior. Every ant will deposit a chemical substance called pheromone on the ground after they move from the nest to food sources and vice versa. Therefore, they choose the optimal path based on pheromone values. The path with the high pheromone value will be shorter than the path with high pheromone values. This behavior is the basis for the cooperative communication.dorigo et al. [5] suggested an artificial ant colony, was capable of solving TSP and described about the real and artificial ants. Real ants are capable of finding the shortest path from a food source to the nest without using visual cues. Also, they are capable of adapting to changes in the environment, for example, finding a new shortest path once the old one is no longer feasible due to a new obstacle. Nonsiri et al. [6] discussed about the ACO that allows fast near optimal solutions to be found. It is useful in industrial environments where computational resources and time are limited. Like several search methods, being trapped in nontrivial difficulty for ACO. Jain et al. [7] discussed various types of load balancing techniques in Cloud Computing like Vector Dot, CARTON, Compare and Balance, Honeybee Foraging Behavior etc. Nan et al. [8] studied the workload scheduling schemes for multimedia cloud. Specifically, the response time and resource cost minimization problem were examined and solved. A greedy algorithm was proposed to efficiently schedule, workload for the practically multimedia cloud. Simulation results demonstrated that the proposed workload scheduling schemes could optimally balance workload to achieve the minimal response time or the minimal resource cost. Ge et al. [9] proposed a new scheduler, which made a scheduling decision by evaluating the entire group of tasks in the job queue. Li et al. [10] proposed a cloud task scheduling based on load balancing Ant colony optimization (LABCO) algorithm. The main contribution was to balance the entire system load while trying to minimize the makespan of the given tasks set. Sun et al.[11] proposed a period ACO based scheduling algorithm in order to solve the task scheduling problem in cloud computing. It uses the first proposed scheduling 1037

3 period strategy and the improvement of pheromone intensity update strategy. Chiang et al. [12] discussed an algorithm ACO-TMS that adopted a new state transition rule that can reduce the time required by finding the acceptable scheduling results, along with a local search technique to help in improving the scheduling results. 3.2 ACO for task scheduling The efficiency of task scheduling hasa direct impact on the performance of the system. Load balancing is a methodology to distribute workload across multiple computers, or other resources over the network links to achieve optimal resource utilization, maximize throughput, minimum response time, and avoid overload.one of the most important aspects of load balancing is a process waiting time and avail quality of services to resources. Therefore, it is necessary to balance the load within the process. We proposed a scheme were performance of different resources for their tasks such as response time, throughput, etc. while others are free or idle with decision making criteria on a priority basis of the task of distribution of resources.the existing algorithm is based on the transition probability, i.e. queue and MIPS (Mega instructions per second) rating, with important element such as execution time and resource cost. After considering these factors the proposed heuristic load balancing algorithm for the resource allocation in a cloud computing environment. Balancing a task to a particular resource in such a way so as to improve the execution time and cost is the foremost problem in the cloud computing environment. Heterogeneous and dynamic nature of the resources makes it a challenging assignment. For mapping a task to a resource, selects the feasible resources for the applications according to the acquired data from the information service module and avail the resource to the selected one. The scheduler does not have control over the resources and also on the submitted jobs. Any machine can execute any job, the MIPS is constant. As compared with the load value after balancing the resources, the actual load value may be varied at the time of running the jobs to allocateresources. The scheduler s aim is to allocate the jobs to the available task. The best match must be found from the list of available jobs to the list of available resources. The selection is based on the pheromone intensity of the resources. The scheduler must allocate the job to the resources efficiently. The efficiency depends on the parameters, execution timeand response time of resources. To minimize these parameters the workload has to be evenly distributed over all tasks which are based on their processing capabilities. This arises the new issue called load balancing. The primarily objective of a load balancing consists to optimize the average response time of applications by equal distribution of the load among available resources. The basic idea of Ant colony optimization is to simulate the foraging behavior of ant colonies. As this process continues, most of the ants attract to the shortest path as there have been large amount of pheromones accumulated on this path [11]. The pros of the algorithms are the use of positive feedback mechanism, inner parallelism and extensible. The cons are overhead and the stagnation phenomenon, or searching for to a certain extent, all individuals found the same exactly, can t further search for the solution 1038

4 space, making algorithm coverage to local optimum solution [12]. The proposed solution is an implementation of Ant Colony Optimization for balancing of resource in the cloud computing environmenton the basis of MIPS rating and pheromone intensity. It is clear that the resources with more processing capability are more likely to be selected. The capacity of resources are selected as initial pheromone. During the scheduling process, the good resources always have a large probability to be selected, which lead to much more pheromone and heavy load on the other side. In order to avoid load imbalance, a self-adaptive strategy is used for pheromone updating. A pheromone value on a path in the ant system represents the pheromone intensity of the task and the resources. The task having maximum pheromone intensity, load status of the resources is calculated. The load balance is updated and uses the data to allocate resources to the tasks. The algorithm is defined below, thatdepicts the input and output with their steps. Where, P (t) i = P (t-1) i * ρ + variance(p) (t) Assign k to P i have maximum Pheromone Intensity Update Load Balance Step3: Calculate response time for task Step4: Output the Execution Time 4. Performance Analysisand Result The previous work is dependent on risk assessment and the execution time and the algorithm were totally oriented on risk factor. In the proposed work, the ant colony optimization is used for scheduling the resources. This algorithm requires to execute when a new task arrives or presently running task completes. It constructed the tour of different of ants and produced the task execution sequence. The generated task sequence is analyzed and pheromone value is updated. The flowchart of our proposed algorithm with task scheduling is depicts in Figure1. Uses Ant Generation and Social Behavior of resource MIPS constant Find assignment List Input: Task Set T, Resource R, Processing Elements N, MIPS Rating M, Pheromone Decay Parameter ρ Output: Execution Time Step1: Initialize Pheromone Intensity P for all resources R P (0) i = N x M, where i R Step2: for each task k T do Update Pheromone Trail P i at time t No No Use Pheromone Update Do all Ant generate assignment list Yes Use Information of record Is Criteria met? Yes P ( t) i = P ( t) i ( t) Pr rεr * P * (0) i (0) Pr, Update Load balance and response time of task Figure 1Task Scheduling 1039

5 To demonstrate load balancing scheduling model process performance based on ACO in this paper, experiments were run on MATLAB with configuration Intel Celeron, Core 2 Duo processor with a 1.60GHz and 4GB of RAM. Figure 2 shows the result of static resource (Green) and dynamic resource (BLUE). There are a maximum number of 1000 resources, maximum number of 100 tasks, data, symbol rates is 0.5 and a constant MIPS as shown in Table 1. Table 1 Parameters Used In Simulation Minimum Number of Resources 0 Maximum Number of Resources 1000 Minimum Number of tasks 0 Maximum Number of tasks 100 Data Symbol Rate 0.5 MIPS 500 We assumed that the tasks are mutually independent, i.e. they cannot be moved to another processor during their execution and tasks are not nonpreemptive. If in case the large resources are following the path than the described path, there is a threshold (varies between 0 and 1) to balance load between the resources. In this, the load balance is calculated for the resources and the load balance index for the resources which indicates the minimum loads of the resource is assigned to the tasks and the resources are balanced. The balanced resources are scheduled according the throughput values (varies between 0 and 1). The resulted graphs shows the resources scheduled with the number of tasks. The graph depicts in Figure 2 for the resources scheduled validated for efficient load balancing. In this graph X coordinate represents the number of tasks and the Y coordinate represents the resource scheduling. Resource scheduling is inversely proportional to the number of tasks in load balancing as the number of task increases the resource scheduling decreases for the number of resources. The green mark represents the static data of the resource and circle mark are dynamic data of the resource for the number of tasks for validation of efficient load balancing. Resource scheduling dynamic data Statical data Number of Task Figure 2 Efficient load Balancing of Resource 5. Conclusions In this paper, we analysis the performance distribution of resource with their resource scheduling and task execution throughput. This method reduces the load imbalance between users byoptimal assignment of throughput with minimum of Eta value, so that we can achieve the load balancing of cloud resource.using this approach of load balancing of cloud resource with maximum pheromone intensity, also improve the running performance.ant colony algorithm meets the optimal path through pheromone accumulation and renewal; 1040

6 has the ability of parallel processing and global searching. The implementation of the algorithm will be carried out in real time in the future work. REFERENCES [1] Ali D., Belal, M.A. Load Balancing of Distributed Systems Based on Multiple Ant Colonies Optimization, American Journal of Applied Sciences Vol. 7 pp , [2] Kumar N., Sharma, P., Krishna, V., Gupta, C., Singh, P.K., Nitin, Rastogi Load Balancing of Nodes in Cloud Computing Using Ant Colony Optimization IEEE, 14th International Conference on Modelling and Simulation. pp , [3] Singh A., Dutta, K., A Genetic Algorithm Based Task Scheduling for Cloud Computing with Fuzzy logic IEEK Transactions on Smart Processing and Computing, Vol. 2, pp , [4] Guo L., Zhao, S., Shen, S., and Jiang, C., "Task Scheduling Optimization in Cloud Computing Based on Heuristic Algorithm", Journal of Networks, Vol. 7, Vol. 3, March 2012, [5] Dorigo, M. and Blumb, C. Ant System: Optimization by colony of cooperaingagents, IEEE Trans. On SMC, 29-41, [6] NonsiriS., Supratid, S., Modifying Ant Colony Optimization, IEEE Conference on Soft Computing in Industrial Application pp , [7] Jain N., Kansal, Inderveer Existing Load Balancing Techniques in Cloud Computing: A Systematic review Journal of Information System and Communication, Vol. 3, pp , [8] Nan X., He, Y., Guan, L. Optimization of workload scheduling for multimedia cloud computing, International Symposium on In Circuits and Systems, IEEE, pp , [9] Ge Y., Wei, G. GA-based task scheduler for the cloud computing systems, International Conference on Web Information Systems and Mining, IEEE, Vol. 2, pp , [10] Li K., Xu, G., Zhao, G., Dong, Y., Wang, D, Cloud task scheduling based on load balancing ant colony optimization, Sixth Annual Conference In China grid,ieee, pp. 3-9, [11] Sun W., Zhang, N., Wang, H., Yin, W., Qiu, T, PACO: A Period ACO Based Scheduling Algorithm in Cloud Computing, International Conference on Cloud Computing and Big Data, IEEE, pp , [12] Chiang C.W., Lee, Y.C., Lee, C.N., and Chou, T.Y., "Ant colony optimization for task matching and scheduling", IEE Proceedings - Computers and Digital Techniques, Vol. 153, pp ,