International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 A SURVEY ON LOAD BALANCING ALGORITHMS FOR CLOUD COMPUTING Avtar Singh#1 ,Kamlesh Dutta#2, Himanshu Gupta#3 #1 Department of Computer Science and Engineering , Shoolini University, avtarz@gmail.com #2 Department of Computer Science and Engineering , NIT Hamipur, kd@nith.ac.in #3Department of Computer Science and Engineering , Shoolini University, himanshugupta1999@gmail.com ABSTRACT Cloud Computing is growing in real time environment and provides shared resources, information, software packages and other resources as pay per use at specific time. Resources are needed to be equally balanced between various computing processes and to obtain proper utilization of resources load balancing is required. In this paper, various load balancing algorithms are compared on the basis of their metrics which are useful for dynamic load balancing. Key words: Cloud Computing; Load Balancing Corresponding Author: Himanshu Gupta INTRODUCTION A Cloud refers to a distinct IT environment that is a network of servers designed for the purpose of remotely provisioning scalable and measured IT resources. It is a type of computing in which resources are shared rather than owning personal devises or local personal servers which can be used to handle applications on system. The word cloud in cloud computing is used as a metaphor for internet so we can define a cloud computing as the internet based computing in which the different services like storage, servers and application are provided to organizations computers and device using internet[1]. So as compared to traditional “own and use” technique if we use cloud computing, the purchasing and maintenance cost of infrastructure is eliminated. It allows the users to use resources according to the arrival of their needs in real time. Thus, we can say that cloud computing enables the user to have convenient and on-demand access of shared pool of computing resource such as storage, network, application and services, etc.. On pay per use basis. Load balancing is one of the main issues related to cloud computing. The load can be a memory, CPU capacity, network or delay load. It is always required to share work load among the various nodes of the distributed system to improve the resource utilization and for better performance of the system. This can help to avoid the situation where nodes are either heavily loaded or under R S. Publication, rspublicationhouse@gmail.com Page 66 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 loaded in the network. Load balancing is the process of ensuring the evenly distribution of work load on the pool of system node or processor so that without disturbing, the running task is completed. The goals of load balancing[2] is to improve the performance, maintain system stability, build fault tolerance systems and accommodate future modification. There are some main phases that almost all load balancing algorithms have in common [4]. Monitoring is to monitor resource load state. Synchronization means exchanging load and state information between resources. Rebalancing Criteria is to calculate the new work distribution andmaking work moment decision. Job Migration is actual movement of data. It provides when a system decides to export a process CLASSIFICATION In order to define a Load-balancing (LB) algorithm completely, the main four sub-strategies (initiation, location, exchange, and selection) have to be defined. The goal of this classification is to understand load balancing algorithms. This classification provides a terminology and a framework to describe and classify different existing load balancing algorithms, and facilitating the task of identifying a suitable load balancing strategy. A detailed discussion of the classification is presented in the following Figure 1: Dynamic Load balancing (DLB) and Static Load Balancing (SLB). Static load balancing (SLB) distributes the work among processors prior to the execution of the algorithm and Dynamic Load Balancing (DLB) distributes the work among processors during the execution of the algorithm Figure 1 Classification Load Balancing The jobs session is not predictable and the capacities of each node in the cloud differ, for the load balancing problem, and workload control is difficult to improve system performance and maintain stability. Cloud computing is efficient and scalable but is maintaining the stability of processing so many jobs in the cloud computing environment is a very complex problem with load balancing receiving much attention for researchers. It is common today in redundant highavailability computer systems that incoming network traffic is distributed on network level by using one of frequently used network load balancing algorithms (like: random-allocation, roundrobin allocation, weighted round-robin allocation, etc.). R S. Publication, rspublicationhouse@gmail.com Page 67 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 RELATED WORK In this section, some significant contributions on load balancing in cloud computing, as mentioned in the literature are discussed. Khiyaita et al. [3], suggested an overview of load balancing in cloud computing, classification of load balancing algorithms based upon system load and system topology, examples of load balancing and different research challenges in load balancing. While in [4] authors discussed most of the existing techniques which are aimed at reducing the associated overhead, service response time and improving performance of the technique. Menasce et al. [5] discussed the concept of cloud computing, its pros, cons and described several existing cloud computing platforms. Yan et al. [6] proposed a scheduling algorithm. Their algorithm combined the capabilities of both OLB (Opportunistic Load Balancing) [7] and LBMM (Load Balance Min-Min) [8] scheduling algorithms, and is comparatively more efficient. In [9], idea is to find the best cloud resource while considering Cooperative Power aware Scheduled Load Balancing, solution to the Cloud load balancing challenge. In PALB [10] approach, the utilization percentages of each compute node is estimated. This helps in deciding the number of compute nodes which must keep operating while other node completely shuts down. The algorithm has three sections: Balancing section, Upscale section and Downscale section. Calvo et al. [11] have discussed on managing large image collections in companies and institutions. Load balancing techniques should be such as to obtain measurable improvements in resource utilization and availability of resources in the cloud computing environment [12]. Iosup et al. [13] had analyzed the performance of cloud computing services for scientific computing workloads and quantified the presence in the real scientific computing workloads of Many-Task Computing (MTC) users. Sethi et al. [14] proposed a load balancing algorithm using fuzzy logic in a cloud computing environment. This algorithm uses two parameters processor speed and assigned a load of virtual machine, to balance the overall load through fuzzy logic, although in [15], the authors have introduced a new fuzzy logic based dynamic load balancing algorithm with additional parameters- memory usage, bandwidth usage, disk space usage and virtual machine status and named it as Fuzzy Active Monitoring Load Balancer (FAMLB). Sokile et al. [16] have discussed different load balancing techniques in a distributed environment, namely diffusive load, static, round robin and shortest queue in different client environments. Deshmukh A. et al. [17], discussed on different load balancing strategies, algorithms and methods. The research also shows that the dynamic load balancing is more efficient than other static load balancing techniques. Efficient load balancing can clearly give major performance benefits [18]. In this paper, the author has first proposed an Ordered Round Robin (ORR) scheme to schedule packets in a heterogeneous network processor, assuming that the workload is perfectly divisible. The processed loads from the processors are perfectly ordered. This paper analyzes the throughput and derives expressions for the batch size, scheduling time and maximum number of schedulable processors. Kaur J. [19] has discussed active VM load balancer algorithm to find a suitable virtual machine in less time period. Zhang B. et al. [20], proposed an algorithm which adds capacity to the dynamic balance mechanism for the cloud. The experiments demonstrate that the algorithm has obtained a better load balancing degree and used less time in loading all tasks. Ray S. et al.[21] have discussed various algorithms of load balancing like Round robin algorithm, Central queuing algorithm and Randomized algorithm, their analysis is carried out on MIPS vs. VM and MIPS vs. HOST basis. R S. Publication, rspublicationhouse@gmail.com Page 68 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 COMPARISONS OF EXISTING LOAD BALANCING TECHNIQUES: A comparison has been shown in the following Table 1 and Table 2 for different load balancing algorithms based on various metrics / techniques such as throughput, overhead means to message traffic while communicating, Fault Tolerance, Migration Time, Response time, Resource utilization, Scalability and performance etc. Table 1: Comparison of Existing Load Balancing Metrics/Techniques Throughput Overhead Fault Tolerance Migration Time Response Time Resource Utilization Scalability Performance Steadiness Round Robin Yes Yes No No Yes Yes Yes Yes Stable Yes Yes Yes Yes No Yes No No Unstable PALB Yes Yes Yes Yes Yes Yes No No Stable Active Monitoring Yes Yes No Yes Yes Yes Yes No - FAMLB Yes Yes Yes Yes No Yes Yes Yes Stable Min-Min Yes Yes No No Yes Yes No Yes - Max-Min Yes Yes No No Yes Yes No Yes - OLB+LBMM No No No No No Yes No Yes Stable Throttled No No Yes Yes Yes Yes Yes Yes - Honey bee Foraging No No No No No Yes No No Stable Active Clustering No Yes No Yes No Yes No No Unstable Biased sampling No Yes No No No Yes No Yes Stable Dynamic Robin Round Random R S. Publication, rspublicationhouse@gmail.com Page 69 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 Table 1: Comparison with different metric Algorithm/Metric Agent based Fault tolerant Dynamic LB approaches Optimal algorithm for LB neighbor in cloud LB Communication overhead More More Less Makespan Less Average More Load balancing time Less Less More Scalability Scalable Scalable Scalable Average resource Average Improved More Fault tolerance Integrated Very high Integrated Reliability Integrated High Integrated utilization rate CONCLUSION The paper focused on survey of the existing load balancing algorithm and its various metrics. The main objective is to improve the performance of the system with less response time, throughput, scalability, resource utilization etc for load balancing algorithm. In future, we will work on the idle resources which will be utilized properly by the use of Honey bee and Genetic Algorithm on the basis of decision based policy. Hence this paper will help smart researchers to provide more secured optimal load balancing algorithms and strengthen the cloud computing paradigm. R S. Publication, rspublicationhouse@gmail.com Page 70 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 REFERENCE [1]. L. Wang, J. Tao, M. Kunze,”Scientific Cloud Computing: Early Definition and Experience”, the 10th IEEE Conference on High Performance Computing and Communications, pp. 825–830, September 2008. [2]. D. Escalnte, Andrew J. Korty, “Cloud Services: Policy and Assessment”, Educause review, vol 46, no. 4, 2011. [3] A. Khiyaita, M. Zbakh, H. El Bakkali, and D. El Kettani, “Load balancing cloud computing: state of art,” in Network Security and Systems, proc of 2012 National Days of Network Security and Systems, IEEE, 2012, pp. 106–109. [4] N. J. Kansal and I. Chana, “Existing load balancing techniques in cloud computing: A systematic review.,” Journal of Information Systems & Communication, vol. 3, no. 1, pp. 87-91, 2012. [5] D. A. Menasce and P. Ngo, “Understanding cloud computing: Experimentation and capacity planning,” in Computer Measurement Group Conference, 2009. [6] S.-C. Wang, K.-Q. Yan, W.-P. Liao, and S.-S. Wang, “Towards a load balancing in a threelevel cloud computing network,” IEEE, vol. 1, pp. 108–113, 2010. [7] T. D. Braun, H. J. Siegel, N. Beck, L. L. Boloni, M. Maheswaran, A. I. Reuther, J. P. Robertson, M. D. Theys, B. Yao, D. Hensgen, “A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems,” Journal of Parallel and Distributed computing, vol. 61, no. 6, pp. 2669–2677, 2001. [8] T. Kokilavani and D. Amalarethinam, “Load balanced min-min algorithm for static meta-task scheduling in grid computing.,” International Journal of Computer Applications, vol. 20, no. 2, 2011,pp 24-31. [9] T. Anandharajan and M. Bhagyaveni, “Co-operative scheduled energy aware load-balancing technique for an efficient computational cloud.,” International Journal of Computer Science vol. 8, no. 2, 2011. [10] J. M. Galloway, K. L. Smith, and S. S. Vrbsky, “Power aware load balancing for cloud computing,” in Proceedings of the World Congress on Engineering and Computer Science, vol. 1, pp. 19–21, 2011. [11] R. Alonso-Calvo, J. Crespo, M. Garcia-Remesal, A. Anguita, and V. Maojo, “On distributing load incloud computing: A real application for very-large image datasets,” Procedia Computer Science,vol. 1, no. 1, pp. 2669–2677, 2010. [12] Z. Chaczko,V. Mahadevan, S. Aslanzadeh, and C. Mcdermid, “Availability and load balancing in cloud computing,” International Conference on Computer and Software Modeling, Singapore, vol. 14, 2011. [13] A. Iosup, S. Ostermann, M. N. Yigitbasi, R. Prodan, T. Fahringer, and D. H. Epema, “Performance analysis of cloud computing services for many-tasks scientific computing,” Parallel and Distributed Systems, IEEE Transactions on, vol. 22, no. 6, pp. 931–945, 2011. [14] S. Sethi, A. Sahu, and S. K. Jena, “Efficient load balancing in cloud computing using fuzzy logic,” Journal of Engineering, vol. 2, no. 7, pp. 65–71, 2012. [15] Z. Nine, M. SQ, M. Azad, A. Kalam, S. Abdullah, and R. M. Rahman, “Fuzzy logic based dynamic load balancing in virtualized data centers in Fuzzy Systems,” IEEE, 2013, pp. 1–7. [16] M. E. Soklic, “Simulation of load balancing algorithms: a comparative study,” ACM SIGCSE Bulletin, vol. 34, no. 4, , pp. 138–141, 2002. R S. Publication, rspublicationhouse@gmail.com Page 71 International Journal of Computer Application Issue 4, Volume 6 (Nov.- Dec. 2014) Available online on http://www.rspublication.com/ijca/ijca_index.htm ISSN: 2250-1797 [17] A. P. Deshmukh and K. Pamu, “Applying load balancing: A dynamic approach,” InternationalJournal of Computer Science Issues, vol. 2, no. 6, 2012. [18] J. Yao, J. Guo, and L. N. Bhuyan, “Ordered round-robin: An efficient sequence preserving packet scheduler,” Computers, IEEE Transactions on, vol. 57, no. 12, pp. 1690–1703, 2008. [19] J. Kaur, “Comparison of load balancing algorithms in a cloud,” International Journal of Engineering Research and Applications, vol. 2, no. 3, pp. 1169–173, 2012. [20] Z. Bo, G. Ji, and A. Jieqing, “Cloud loading balance algorithm,” in Information Science and Engineering, pp. 5001–5004, 2010. [21] S. Ray and A. De Sarkar, “Execution analysis of load balancing algorithms in cloud computing environment”, International Journal on Cloud Computing: Services & Architecture, vol. 2, no. 5, 2012. R S. Publication, rspublicationhouse@gmail.com Page 72