Load Balancing Algorithms in Cloud Computing: A Comparative Study

Similar documents
Keywords: Cloud, Load balancing, Servers, Nodes, Resources

Load Balancing in Cloud Computing Priya Bag 1 Rakesh Patel 2 Vivek Yadav 3

Analysis of Various Load Balancing Techniques in Cloud Computing: A Review

Various Strategies of Load Balancing Techniques and Challenges in Distributed Systems

A load balancing model based on Cloud partitioning

CLOUD COMPUTING & ITS LOAD BALANCING SCENARIO

Published by: PIONEER RESEARCH & DEVELOPMENT GROUP ( ) 1

Assorted Load Balancing Algorithms in Cloud Computing: A Survey

Load Balancing in Cloud Computing

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT

An Intensification of Honey Bee Foraging Load Balancing Algorithm in Cloud Computing

Hybrid Bee Ant Colony Algorithm for Effective Load Balancing And Job Scheduling In Cloud Computing

A Survey On Load Balancing Methods and Algorithms in Cloud Computing

An Integration of Round Robin with Shortest Job First Algorithm for Cloud Computing Environment

Load Balancing in Cloud Computing : A Survey

LOAD BALANCING IN CLOUD COMPUTING USING ANT COLONY OPTIMIZATION

Efficient Technique for Allocation of Processing Elements to Virtual Machines in Cloud Environment

SCHEDULING AND LOAD BALANCING TECHNIQUES IN CLOUD COMPUTING: A SURVEY

LOAD BALANCING USING THRESHOLD AND ANT COLONY OPTIMIZATION IN CLOUD COMPUTING

Keywords: Load balancing, Honey bee Algorithm, Execution time, response time, cost evaluation.

ANALYSIS OF LOAD BALANCERS IN CLOUD COMPUTING

Efficient Load Balancing and Fault tolerance Mechanism for Cloud Environment

Juxtaposition of Load Balancing Algorithms in Cloud Computing using Cloud Analyst Simulator

Load Balancing The Essential Factor In Cloud Computing

A Study on Load Balancing in Cloud Computing * Parveen Kumar,* Er.Mandeep Kaur Guru kashi University, Talwandi Sabo

A New Approach to Ant Colony to Load Balancing in Cloud Computing Environment

An Effective Load Balancing Mechanism in Cloud Computing Using Modified HBFA Along with the Preemptive Migration Technique

International Journal of Scientific & Engineering Research Volume 9, Issue 3, March-2018 ISSN

Hybrid of Ant Colony Optimization and Gravitational Emulation Based Load Balancing Strategy in Cloud Computing

A Comparative Study of Various Scheduling Algorithms in Cloud Computing

Comparative Study of Load Balancing Algorithms in Cloud Computing Environment

D. Suresh Kumar, E. George Dharma Prakash Raj

A SURVEY OF VARIOUS SCHEDULING ALGORITHM IN CLOUD COMPUTING ENVIRONMENT

LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING

Load Balancing in Cloud Computing System

Cloud Computing Load Balancing Model with Heterogeneous Partition for Public Cloud

Double Threshold Based Load Balancing Approach by Using VM Migration for the Cloud Computing Environment

A QoS Load Balancing Scheduling Algorithm in Cloud Environment

Re-allocation of Tasks according to Weights in Cloud Architecture

A SURVEY OF EFFICIENT LOAD BALANCING ALGORITHMS IN CLOUD ENVIRONMENT

A Comparative Study of Load Balancing Algorithms: A Review Paper

Kusum Lata, Sugandha Sharma

Dynamic task scheduling in cloud computing based on Naïve Bayesian classifier

Selection of a Scheduler (Dispatcher) within a Datacenter using Enhanced Equally Spread Current Execution (EESCE)

Improved Effective Load Balancing Technique for Cloud

Cloud Computing: Making the Right Choice for Your Organization

DEEP DIVE INTO CLOUD COMPUTING

LOAD BALANCING TECHNIQUE IN CLOUD COMPUTING ENVIRONMENT

ISSN: (Online) Volume 2, Issue 3, March 2014 International Journal of Advance Research in Computer Science and Management Studies

Co-operative Scheduled Energy Aware Load-Balancing technique for an Efficient Computational Cloud

Study on Load Balancing Techniques in Ant colony Optimization for Cloud Computing

Programowanie w chmurze na platformie Java EE Wykład 1 - dr inż. Piotr Zając

ABSTRACT I. INTRODUCTION

International Journal of Advance Engineering and Research Development. A Private Cloud On Open Source Paradigm

Efficient Load Balancing Techniques for Cloud Computing

CHEM-E Process Automation and Information Systems: Applications

A Comparative Performance Analysis of Load Balancing Policies in Cloud Computing Using Cloud Analyst

Virtual Machine Placement in Cloud Computing

A Process Scheduling Algorithm Based on Threshold for the Cloud Computing Environment

Various Load Balancing Algorithms in cloud Computing

Danger Theory Based Load Balancing (DTLB) Algorithm for Cloud Computing

Cloud Computing Lecture 4

Dynamic Queue Based Enhanced HTV Dynamic Load Balancing Algorithm in Cloud Computing

ABSTRACT I. INTRODUCTION. Deepali Simaiya 1, Raj Kumar Paul 2 Department of CSE, Vedica Institute of Technology Bhopal, India

DATA INTEGRITY TECHNIQUES IN CLOUD: AN ANALYSIS

Introduction To Cloud Computing

Simulation of Cloud Computing Environments with CloudSim

Enhancing Load Balancing in Cloud Computing by Ant Colony Optimization Method

A Survey on Load Balancing Algorithms in Cloud Computing

International Journal of Advance Engineering and Research Development. Load Balancing Algorithms in Cloud Computing: Review

A Survey on Resource Allocation policies in Mobile ad-hoc Computational Network

Dynamic Load Balancing Techniques for Improving Performance in Cloud Computing

Construction and Application of Cloud Data Center in University

VMware Hybrid Cloud Solution

Module Day Topic. 1 Definition of Cloud Computing and its Basics

Cloud Computing and Service-Oriented Architectures

Hybrid Improved Max Min Ant Algorithm for Load Balancing in Cloud

Multi Packed Security Addressing Challenges in Cloud Computing

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

PBVMLBA: Priority Based Virtual Machine Load Balancing Algorithm for Cloud Computing

Achieving Stability in the Round Robin Algorithm

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

Experimental Model for Load Balancing in Cloud Computing Using Throttled Algorithm

Figure 1: Virtualization

Distributed Load Balancing in Cloud using Honey Bee Optimization

Associate Professor, Aditya Engineering College, Surampalem, India 3, 4. Department of CSE, Adikavi Nannaya University, Rajahmundry, India

A Review on Cloud Service Broker Policies

Large Scale Computing Infrastructures

Efficient Load Balancing Task Scheduling in Cloud Computing using Raven Roosting Optimization Algorithm

Pros and Cons of Load Balancing Algorithms for Cloud Computing

CLOUD COMPUTING AND LOAD BALANCING

Data Centers and Cloud Computing. Slides courtesy of Tim Wood

Performance Analysis of Modified Round Robin CPU Scheduling Algorithm

Global Journal of Engineering Science and Research Management

Assistant Professor, School of Computer Applications,Career Point University,Kota, Rajasthan, India Id

Data Centers and Cloud Computing. Data Centers

GRID SIMULATION FOR DYNAMIC LOAD BALANCING

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

IMPLEMENTATION OF A HYBRID LOAD BALANCING ALGORITHM FOR CLOUD COMPUTING

An Enhanced Throttled Load Balancing Approach for Cloud Environment

Transcription:

Load Balancing Algorithms in Cloud Computing: A Comparative Study T. Deepa Dr. Dhanaraj Cheelu Ravindra College of Engineering for Women G. Pullaiah College of Engineering and Technology Kurnool Kurnool ABSTRACT: Cloud computing has become popular due to its attractive features. In the cloud computing environment, load balancing is one of the important issues, with great increase in the users and their requirements for different services on the cloud computing platform, efficient usage of resources in the cloud environment is very important. An efficient load balancing algorithm ensures efficient resource utilization by providing resources to user s on-demand in pay-per-use manner. Load Balancing uses scheduling for prioritizing users. The performance indicators of load balancing algorithms in cloud are response time and waiting time. In this paper, we aim to provide a structured and comprehensive overview of the research on load balancing algorithms in cloud computing. Key words: Cloud Computing, Load Balancing, Virtualization, Load Balancing Algorithms, Load Balancers. 1. INTRODUCTION Cloud Computing is Internet-based computing, where resources, software and information are shared to computers and other devices on-demand. Cloud computing is one of the popular technologies adopted by both industry and academia, which provides a flexible and efficient method to store and access files. Cloud provides a facility for users to access information at any time and from anywhere. It is not required for the user to be in the same location as the hardware that stores data. When the user has the internet connection they can access the services of the cloud. It delivers all the services dynamically through the internet according to the user requirements. Cloud computing environment consists of two components: the front end and the back end connected through a virtual network or the internet. The front end is visible to the user (client). It consists of interfaces and applications that are required to access the cloud computing platforms. The back end represents a service provider. It consists of interfaces and applications that are required to access the cloud computing platforms. Cloud services are categorized into these types. a. Infrastructure as a Service (IaaS): It provides access to computing resources in a virtualized environment. Users use the fundamental computing resources like processing, storage, networking etc. Example: Google Compute Engine, Windows Azure. b. Platform as a Service (PaaS): Users can hire programming and infrastructure tools provided by the vendors to develop and run the applications. Examples: Google App Engine, Windows Azure c. Software as a Service (SaaS): It is a software distribution model in which Users can use the software provided by the vendors. Examples: Google Apps, Microsoft Office 365. The deployment model defines the type of access provided to the cloud user. Cloud provides four deployment models: a. Public Cloud: Public Cloud allows systems and services to be easily accessible to general public. The IT giants such as Google, Amazon and Microsoft offer cloud services via Internet. b. Private Cloud: Private Cloud allows systems and services to be accessible within an organization. The Private Cloud is operated only within a single organization. c. Community Cloud: Community cloud allows system and services to be accessible by group of organizations. It shares the infrastructure between several organizations from a specific community. 1 T. Deepa, Dr. Dhanaraj Cheelu

d. Hybrid Cloud: Hybrid Cloud is a mixture of public and private cloud. Non-critical activities are performed using public cloud while the critical activities are performed using private cloud. Virtualization In context of cloud computing the virtualization is very worthwhile concept. Virtualization is like something that is not real but provides all the facilities that are of real world. This is a software implementation of computer on which different programs can be executed as in the real machine. Virtualization is a part of cloud computing, because different services of cloud can be used by user. All these different services are provided to end user by remote datacenters with full virtualization or partial virtualization manner. There are two types of virtualization which are available and it is described below. Full Virtualization: In full virtualization the entire installation of one system is done on other system. Due to this all the software that are present in actual server will also available in virtual system and also sharing of computer system among multiple users and emulating hardware located on different systems are possible. Para Virtualization: In para virtualization, multiple operating systems are allowed to run on a single system by using system resources like memory and the processor (VMware software). Here complete services are not fully available, but partial services are provided. Disaster recovery, migration and capacity management are some salient features of Para virtualization. 2. LOAD BALANCING Load balancing is the process of assigning the total load to the individual nodes of the distributed system to do the work faster and efficient utilization of the resources by avoiding a situation where some of the nodes are heavily loaded while other nodes are doing little work or being idle. Load balancing makes sure that all the nodes in the network will perform approximately equal amount of work. The main objectives of cloud are to reduce cost, enhance response time, provide better performance; hence Cloud is also called a pool of services [1]. Load has various types like, CPU load, network load, memory capacity issue etc. In the context of cloud computing, load balancing is to share load of virtual machines across all nodes (end user devices) to improve resources, service utilization and provides high satisfaction to users. Due to load sharing, every node can work efficiently; data can be received and sent without delay. The process of load balancing is given in figure1. A load balancer receives tasks from different clients and it takes a decision to transfer the job to the remote server for load balancing. 2 T. Deepa, Dr. Dhanaraj Cheelu

2.1 Need of Load Balancing in Cloud Computing The main concentration of load balancing in the cloud environment is distributing the load dynamically among the nodes in order to achieve maximum resource utilization and make sure that all the nodes will have the approximate load. An ideal load balancing algorithm helps in making use of the available resources most efficiently, by ensuring no node is over loaded or under loaded. Goals of load balancing involve [3]: 1. Optimum resource utilization 2. Maximum throughput 3. Maximum response time 4. Avoiding overload 2.2 Metrics for Load balancing Various parameters are considered in the existing load balancing algorithms a. Resource Utilization: This parameter is used to check the utilization of resources. An efficient load balancing algorithm the resource utilization must be optimum. b. Performance: An efficient load balancing algorithm must have high performance. c. Scalability: The ability of an algorithm to balance the load of the system with a finite number of nodes. This metric should be improved. d. Throughput: It represents the number of tasks whose execution is completed. For better performance throughput must be high. e. Response time: It is the amount of time a particular load balancing algorithm takes to respond in a distributed system. f. Overhead associated: It determines the overhead involved while implementing a load balancing algorithm. The movement cost, inter process communication are the causes for overhead. 3. Existing Load Balancing Algorithms There are many methods [1],[3],[4],[5] to balance the load in cloud computing are available. Some of them are presented in this paper. The algorithms are divided into two types based on the current system state and base on who initiated the process as shown in figure 2. 3 T. Deepa, Dr. Dhanaraj Cheelu

Based on the initiator of the process load balancing algorithms are further classified in to three types. a. Sender Initiated: In this sender identifies that nodes are over loaded, so it initiates the execution of load balancing algorithm b. Receiver Initiated: If any imbalances in load is identified by the receiver/server in cloud then the server initiates the execution of load balancing algorithm. c. Symmetric: It is a combination of both sender initiated and receiver initiated algorithms. Based on the current state of the system load balancing algorithms are classified into static and dynamic algorithms 3.1 Static Algorithms: The static algorithm does not consider the current state of the node. In static algorithms takes decision about load balancing at compile time. All the nodes and their properties are known in advance, the algorithm works based on this previous information. While distributing the load a static algorithm does not use the system information and is less complex. These algorithms works properly in a system with low variation of load. a. Round robin algorithm [6]: It uses the principle of time slices. Here time is divided into slices and each node is given a time interval, in which the node has to perform the task. If the processing is not completed within the time quantum, it has to wait for the next slot. b. Min-Min algorithm [2]: In this algorithm first the minimum completion time of all the nodes is calculated. A task with minimum completion time is selected and assigned to the corresponding node. This process is repeated until all the tasks are assigned to the nodes. c. Max-Min algorithm [2]: It a static algorithm, in this first minimum completion time of all the tasks is calculated and a task with maximum completion time is selected and it is assigned to the corresponding node. d. Opportunistic Load balancing algorithm [4]: This algorithm does not calculate the execution time and the current load of the node. It assigns the tasks randomly to the nodes. The task processing takes long time because it does not calculate the execution time of the node. 3.2 Dynamic algorithms: Dynamic algorithm depends on the current state of system. Dynamic algorithm works based on the different properties of the nodes such as network bandwidth and capabilities. It also considers the changes in the state of the nodes dynamically. At any time if a node is having heavy load it is transferred to a node with light load. a. Ant Colony optimization technique [2]: In this algorithm, when a request is initiated the ant starts its movement in forward direction visiting the nodes one by one and checking whether a node is overloaded or under loaded and records the data. If the ant finds an overloaded node it starts backward movement to the previous under loaded node to share data. b. Honey Bee Foraging Algorithm [3]: It is a nature inspired decentralized load balancing method that helps to balance the load across heterogeneous nodes of the cloud. In this algorithm first current load of the nodes is calculated then it decides whether the node is over loaded, under loaded or balanced. A task from the heavy loaded node is removed and by considering its priority it is assigned to a lightly loaded node. c. Biased Random Sampling Algorithm [4]: In this algorithm the network is represented as a virtual graph. The servers are represented as nodes and the in-degree represents the free resources available to the node. On the basis of in-degree the load balancer assigns the tasks to the node. When a task is assigned the in-degree is decremented and it is incremented when the job gets executed. d. Resource Allocation Scheduling Algorithm (RASA) [5]: In this algorithm first virtual nodes are created. The expected response time is calculated for all the virtual nodes. According to least loaded node criteria, efficient virtual node is found. If the number of resources are odd then Min-Min strategy is applied, otherwise Max-Min strategy is applied. 4 T. Deepa, Dr. Dhanaraj Cheelu

Load Balancing Algorithm Static load balancing Round Robin Max-Min Min-Min Opportunistic Load Balancing Table1. Merits and Demerits of load balancing algorithms Merits Does not consider current state Less complex Fixed time slice Better performance for short CPU bursts It works better as the requirements are known in prior Smallest completion time Gives best results for small tasks Improved performance Resource utilization Demerits Do not have the ability to handle more load variations Larger tasks takes more time for completion Takes long time for task completion Starvation Takes more time for task completion Dynamic load balancing It requires current state of the system Fault tolerance Ant Colony Optimization Computationally fast Minimizes makespan More Complex Requires constant check of the nodes Search takes long time Complex Honey Bee Foraging Biased Random Sampling Resource Allocation Scheduling Reduced response time Increases throughput Improved performance Improved resource utilization Increases performance Less execution time Low priority load takes more time Response time is more Less fault tolerance 4. CONCLUSION Cloud computing provides many services to the user over the network. Load balancing is the major issue in cloud. Load balancing is required to distribute the dynamic load evenly to all the nodes. Overloading of the system will lead to poor performance. For efficient resource utilization an efficient load balancing algorithm is required. We discussed many metrics for an efficient load balancing algorithm. In this paper we surveyed multiple load balancing algorithms which are already proposed by various researchers. References [1] K. Li, G. Xu, G. Zhao, Y. Dong, and D. Wang, Cloud task scheduling based on load balancing ant colony optimization, in Sixth Annu. Chinagrid Conf, pp. 3 9, Aug. 2011. [2] Load Balancing of Nodes in Cloud Using Ant Colony Optimization. In proc. 14th International Conference on Computer Modeling and Simulation (UKSim), IEEE, pp: 3-8, March 2012. [3] Mr. Jayant Adhikari, Prof. Sulabha Patil, Load Balancing The Essential Factor In Cloud Computing, International Journal of Engineering Research & Technology (IJERT), Vol. 1 Issue. 10, pp. 1-5, 2012. [4] Efficient and Enhanced Algorithm in Cloud Computing International Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-3, Issue-1, March 2013. [5] A. Roy, Dynamic load balancing: improve efficiency in cloud computing, International Journal of Emerging Research in Management &Technology, vol. 9359, no. 4, pp. 78 82, 2013. 5 T. Deepa, Dr. Dhanaraj Cheelu

[6] R. Kaur and P. Luthra, Load balancing in cloud computing, Int. Conf. 2007. on Recent Trends in Information, Telecommunication and Computing, ITC, pp. 1 8, 2014. [7] Sidra Aslam Munam, Ali Shah Load Balancing Algorithms in Cloud Computing: A Survey of Modern Techniques 2015 National Software Engineering Conference (NSEC 2015),IEEE, pp:30-35 [8] Static Load Balancing Algorithms In Cloud Computing: Challenges & Solutions International Journal Of Scientific & Technology Research Volume 4, Issue 10, October 2015 [9] Abhijit Aditya, Uddalak Chatterjee and Snehasis Gupta, A Comparative Study of Different Static and Dynamic Load Balancing Algorithm in Cloud Computing with Special Emphasis on Time Factor, International Journal of Current Engineering and Technology, Vol.5, No.3 (June 2015) 6 T. Deepa, Dr. Dhanaraj Cheelu