Survey of Load Balancing Techniques in Cloud Computing



Similar documents
A Comparative Survey on Various Load Balancing Techniques in Cloud Computing

An Approach to Load Balancing In Cloud Computing

Load Balancing in cloud computing

A Comparative Study of Load Balancing Algorithms in Cloud Computing

Distributed and Dynamic Load Balancing in Cloud Data Center

A Survey Of Various Load Balancing Algorithms In Cloud Computing

Load Balancing for Improved Quality of Service in the Cloud

Roulette Wheel Selection Model based on Virtual Machine Weight for Load Balancing in Cloud Computing

Efficient and Enhanced Algorithm in Cloud Computing

A Novel Approach for Efficient Load Balancing in Cloud Computing Environment by Using Partitioning

Comparative Analysis of Load Balancing Algorithms in Cloud Computing

Webpage: Volume 3, Issue XI, Nov ISSN

How To Partition Cloud For Public Cloud

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

A Survey on Load Balancing and Scheduling in Cloud Computing

A Survey on Load Balancing Algorithms in Cloud Environment

A Survey on Load Balancing Techniques Using ACO Algorithm

A Comparative Study on Load Balancing Algorithms with Different Service Broker Policies in Cloud Computing

A Novel Approach of Load Balancing Strategy in Cloud Computing

CDBMS Physical Layer issue: Load Balancing

Load Balancing Algorithms in Cloud Environment

LOAD BALANCING ALGORITHM REVIEW s IN CLOUD ENVIRONMENT

A Survey on Load Balancing Technique for Resource Scheduling In Cloud

Various Schemes of Load Balancing in Distributed Systems- A Review

A Review of Load Balancing Algorithms for Cloud Computing

Efficient Cost Scheduling algorithm with Load Balancing in a Cloud Computing Environment

Cloud Partitioning Based Load Balancing Model for Performance Enhancement in Public Cloud

Multilevel Communication Aware Approach for Load Balancing

An Energy Efficient Server Load Balancing Algorithm

Extended Round Robin Load Balancing in Cloud Computing

Study of Various Load Balancing Techniques in Cloud Environment- A Review

Keywords Distributed Computing, On Demand Resources, Cloud Computing, Virtualization, Server Consolidation, Load Balancing

A SURVEY ON LOAD BALANCING ALGORITHMS IN CLOUD COMPUTING

International Journal of Advance Research in Computer Science and Management Studies

A Review on Load Balancing In Cloud Computing 1

International Journal of Advancements in Research & Technology, Volume 3, Issue 8, August ISSN

ABC - LOAD BALANCING TECHNIQUE - IN CLOUD COMPUTING

Effective Load Balancing Based on Cloud Partitioning for the Public Cloud

The Load Balancing Strategy to Improve the Efficiency in the Public Cloud Environment

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT

Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing

The International Journal Of Science & Technoledge (ISSN X)

Efficient and Enhanced Load Balancing Algorithms in Cloud Computing

ADAPTIVE LOAD BALANCING ALGORITHM USING MODIFIED RESOURCE ALLOCATION STRATEGIES ON INFRASTRUCTURE AS A SERVICE CLOUD SYSTEMS

Throtelled: An Efficient Load Balancing Policy across Virtual Machines within a Single Data Center

Analysis of Job Scheduling Algorithms in Cloud Computing

Performance Analysis of Load Balancing Algorithms in Distributed System

Ant Colony Optimization for Effective Load Balancing In Cloud Computing

Energy Efficiency in Cloud Data Centers Using Load Balancing

A Game Theoretic Approach for Cloud Computing Infrastructure to Improve the Performance

LOAD BALANCING STRATEGY BASED ON CLOUD PARTITIONING CONCEPT

A Load Balancing Model Based on Cloud Partitioning for the Public Cloud

Review on Existing Load Balancing Techniques of Cloud Computing

@IJMTER-2015, All rights Reserved 355

A Literature Survey On Resource Scheduling In Cloud Computing

CLOUD COMPUTING PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM

Dynamic Load Balancing: Improve Efficiency in Cloud Computing Argha Roy * M.Tech CSE Netaji Subhash Engineering College West Bengal, India.

A REVIEW PAPER ON LOAD BALANCING AMONG VIRTUAL SERVERS IN CLOUD COMPUTING USING CAT SWARM OPTIMIZATION

Hybrid Load Balancing Algorithm in Heterogeneous Cloud Environment

A NOVEL LOAD BALANCING STRATEGY FOR EFFECTIVE UTILIZATION OF VIRTUAL MACHINES IN CLOUD

Load Balancing using DWARR Algorithm in Cloud Computing

IMPROVED LOAD BALANCING MODEL BASED ON PARTITIONING IN CLOUD COMPUTING

International Journal of Scientific & Engineering Research, Volume 6, Issue 3, March ISSN

International Journal Of Engineering Research & Management Technology

ABSTRACT. KEYWORDS: Cloud Computing, Load Balancing, Scheduling Algorithms, FCFS, Group-Based Scheduling Algorithm

Efficient Load Balancing Algorithm in Cloud Computing

Energy Constrained Resource Scheduling for Cloud Environment

Comparative Analysis of Load Balancing Algorithms in Cloud Computing

A Load Balancing Model Based on Cloud Partitioning for the Public Cloud

Two Level Hierarchical Model of Load Balancing in Cloud

Improved Dynamic Load Balance Model on Gametheory for the Public Cloud

Dynamic Method for Load Balancing in Cloud Computing

An Analysis of Load Balancing in Cloud Computing

Cloud Partitioning of Load Balancing Using Round Robin Model

Load Balancing Model in Cloud Computing

Efficient Parallel Processing on Public Cloud Servers Using Load Balancing

LOAD BALANCING IN CLOUD COMPUTING

A Survey of efficient load balancing algorithms in cloud environment

Reallocation and Allocation of Virtual Machines in Cloud Computing Manan D. Shah a, *, Harshad B. Prajapati b

Implementation of Load Balancing Based on Partitioning in Cloud Computing

Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

Load Balancing Techniques : Major Challenges in Cloud Computing - A Systematic Review

LOAD BALANCING IN CLOUD COMPUTING USING PARTITIONING METHOD

A SURVEY ON LOAD BALANCING ALGORITHMS FOR CLOUD COMPUTING

Public Cloud Partition Balancing and the Game Theory

How To Perform Load Balancing In Cloud Computing With An Agent

A Comparison of Four Popular Heuristics for Load Balancing of Virtual Machines in Cloud Computing

Load Balancing in Cloud Computing using Observer's Algorithm with Dynamic Weight Table

The Probabilistic Model of Cloud Computing

A Novel Switch Mechanism for Load Balancing in Public Cloud

Load Balancing Algoritms in Cloud Computing Environment: A Review

Load Balancing Scheduling with Shortest Load First

Proposal of Dynamic Load Balancing Algorithm in Grid System

MANAGING OF IMMENSE CLOUD DATA BY LOAD BALANCING STRATEGY. Sara Anjum 1, B.Manasa 2

A Survey on Heterogeneous Load Balancing Techniques in Cloud Computing

Effective Load Balancing for Cloud Computing using Hybrid AB Algorithm

Load Balancing in Cloud Computing: A Review

AN ADAPTIVE DISTRIBUTED LOAD BALANCING TECHNIQUE FOR CLOUD COMPUTING

Efficient Service Broker Policy For Large-Scale Cloud Environments

Transcription:

Survey of Load Balancing Techniques in Cloud Computing Nandkishore Patel 1, Ms. Jasmine Jha 2 1, 2 Department of Computer Engineering, 1, 2 L. J. Institute of Engineering and Technology, Ahmedabad, Gujarat, India Abstract- Cloud Computing is an emerging area in the field of Information Technology (IT). Load balancing is one of the issues in cloud computing environments. It is required to distribute the dynamic workload across multiple nodes to ensure that no single node is overloaded.it helps to achieve a high user satisfaction and resource utilization ratio by balancing the dynamic workload among nodes. This paper defines the basic cloud computing fundamentals and the concept of load balancing i.e., scheduling of load in cloud. In this paper, the different algorithms are studied for load balancing and task scheduling in Cloud Computing. Keywords- Cloud Computing, Load Balancing, Virtual Machines, Workload I. INTRODUCTION The definition of "cloud computing" provided by USA National Institute of Standards and Technology (NIST) is as follows: "Cloud computing is a model for enabling convenient, on demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1]." services provide by cloud computing are infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) that are made available as pay-as-you-go model to clients[2].cloud Computing Deployment Model refers to the location and management of the infrastructure cloud services. The Deployment Model of cloud computing are Private Cloud, Community cloud, Public cloud and Hybrid cloud. Cloud Computing contain some essential characteristics that are rapid elasticity, on-demand self-service, resource pooling, broad network access, and measured service[2]. Load balancing is one of the major issues in cloud computing [3] it is a mechanism which distributes the dynamic local workload evenly across all the nodes in the whole cloud. It will avoid the situation where some nodes are heavily loaded while others are idle or doing little work. It helps to achieve a high user satisfaction and resource utilization ratio. Load balancing is the process of improving the performance of the system by shifting of workload among the processors. Workload of a machine means the total processing time it requires to execute all the tasks assigned to the machine [4].Load balancing is done so that every virtual machine in the cloud system does the same amount of work throughout therefore increasing the throughput and minimizing the response time [5]. The load balancer determines which web server should serve the request. The load balancer uses various scheduling algorithm to determine which server should handle and forwards the request on to the selected server [8]. Load balancing is also needed for achieving Green computing in clouds [6]. The factors responsible for it are: Fig.1 Cloud Computing [9] The cloud means the applications and services that are offered from data center to all over the world. These applications and services are offered over the internet. The Limited Energy Consumption: Load balancing can reduce the amount of energy consumption by avoiding over hearting of nodes or virtual machines due to excessive workload [6]. Reducing Carbon Emission: Energy consumption and carbon emission are the two sides of the same coin. Both are directly proportional to each other. Load balancing helps in reducing energy consumption which will automatically reduce carbon emission and thus achieve Green Computing [6]. Page 125

LOAD BALANCING GOALS: The goals of load balancing are: To improve the performance substantially Built a fault tolerant system using backup plans. To maintain the system stability To accommodate future modification in the system Increase resource utilization Page 126 II. CATEGORIES OF LOAD BALANCING ALGORITHMS Depending on the current state of the system, load balancing algorithms can be divided into two categories: Static Load Balancing Algorithms: In Static Load balancing algorithms, prior knowledge of the node properties and capabilities consider for the assigning the tasks to the nodes based on the ability of the node to process new requests. Static load balancing algorithm consider the node s processing power, memory and storage capacity, and most recent known communication performance parameter[7]. The goal of static scheduling methods is to minimize the overall execution time. These algorithms cannot adapt to load changes during run-time. Some of the Static loads balancing techniques are: Round Robin algorithm, Weighted Round Robin Algorithm, Threshold algorithm and randomized algorithm Dynamic Load Balancing Algorithms: Dynamic load balancing algorithm includes the node capabilities and network bandwidth. Dynamic load balancing algorithm depends on combination of knowledge based on all gathered information about the nodes and different properties of the selected nodes process and task on that node in public and private cloud. Dynamic Load Balancing Algorithms is more accurate and more efficient load balancing techniques [7]. It is particularly useful when the requirement of process is not Known a priori and the primary goal of the system is to maximize the utilization of resources. The major drawback of dynamic load balancing scheme is the run-time overhead due to the transfer of load information among processors, decision-making for the selection of processes and processors for job transfers and the communication delays associated with the task relocation itself.[10] Such algorithms are usually harder to implement. Some of the Dynamic Load Balancing techniques are: Throttled Load Balancer Algorithm, Join Idle Queue Algorithm (JIQ), Biased Random Sampling Algorithm, Honeybee Foraging Algorithm. III. LITERATURE REVIEW OF LOAD BALANCING ALGORITHMS A. Round Robin Algorithm It is the simplest algorithm that uses the concept of time quantum or slices. Here the time is divided into multiple slices and each node is given a particular time quantum or time interval and in this quantum, the node will perform its operations. Round robin algorithm is based on random sampling. It means it selects the load randomly in case that some server is heavily loaded or some are lightly loaded[13]. The main concern of this allotment is that the loads are not distributed uniformly (some nodes are heavily loaded and some are not) and providing that the VM is not empty then the new incoming jobs have to stand in a queue. This issues would lead to low efficiency, more Response time and improper resource management. Round Robin algorithm carries the feature of low throughput and mainly removes starvation.[14] B. FCFS Algorithm It is the simplest parallel task ordering dynamic load balancing algorithm. The processing takes place by choosing the right order of jobs. With this scheme, the user request which comes first to the data centre controller, would only be allocated with the VM for first execution. The implementation of FCFS policy is easily managed with FIFO queue. The data center controller searches for virtual machine which is in free or overloaded. Then the 1strequest from the queue is removed and is passed to one of the VM through the VMLoadBalancer. The allocation of request takes place by two ways : Firstly the requests can be arranged in a queue manner and secondly by allocating heavy load node less work and low load node more work manner. Many function parameters can be taken into consideration in order to calculate the current real load weighing value and the complex load weighing value. The whole mechanism of the algorithm is depicted in the below Fig.3.[14]

D. Equally Spread Current Execution Algorithm(ESCE) Page 127 Fig.2 Flowchart for FCFS Algorithm.[14] C. Ant Colony Optimization (ACO) Algorithm This technique of load balancing is based on Ant Colony Optimization (ACO) concept. ACO is inspired from the ant colonies that work together in foraging behavior. The ants work together in search of new sources of food and simultaneously use the existing food sources to shift the food back to the nest. The ants leave a pheromone trail upon moving from one node to another. By following the pheromone trails, the ant subsequently came to the food sources. The intensity of the pheromone can vary on various factors like the quality of food sources, distance of the food, etc. The ants use these pheromone trails to select the next node. A Data Center server is known as node in the proposed system [11]. Pheromone Updation The ant will use two types of pheromone for its movement. They are: Foraging Pheromone (FP) While moving from underloaded node to overloaded node, Ant will update FP. Trailing Pheromone (TP) While moving from overloaded node to underloaded node, Ant will update TP. The ACO Algorithm gives optimal resource utilization. The Performance of the system is enhanced with high availability of resources, thereby increasing the throughput [11]. In this technique load balancer makes effort to preserve equal load to all the virtual machines connected with the data centre. This load balancer maintains an index table of Virtual machines as well as number of requests currently assigned to the Virtual Machine (VM). If the request comes from the data centre to allocate the new VM, it scans the index table for least loaded VM. In case there are more than one VM is found than first identified VM is selected for handling the request of the client/node, the load balancer also returns the VM id to the data centre controller. The data centre communicates the request to the VM identified by that id. The data centre revises the index table by increasing the allocation count of identified VM. When VM completes the assigned task, a request is communicated to data centre which is further notified by the load balancer. The load balancer again revises the index table by decreasing the allocation count for identified VM by one but there is an additional computation overhead to scan the queue again and again.[15] E. Throttled Load Balancing Algorithm Throttled Load Balancing Algorithm is a dynamic algorithm which completely deploy on virtual machines. [14] In this algorithm the load balancer maintains an index table of virtual machines as well as their states (Available or Busy). The client/server first makes a request to data centre to find a suitable virtual machine (VM) to perform the recommended job. The data centre queries the load balancer for allocation of the VM. The load balancer scans the index table from top until the first available VM is found or the index table is scanned fully. If the VM is found, the VM id is send to the data centre. The data centre communicates the request to the VM identified by the id. Further, the data centre acknowledges the load balancer of the new allocation and the data centre revises the index table accordingly. While processing the request of client, if appropriate VM is not found, the load balancer returns -1 to the data centre. The data centre queues the request with it. When the VM completes the due task, a request is acknowledged to data centre, which is further apprised to load balancer to deallocate the same VM whose id is already communicated. The total execution time is estimated in three phases. In the first phase the formation of the virtual machines and they will be idle waiting for the scheduler to schedule the jobs in the queue, once jobs are allocated, the virtual machines in the cloud will start processing, which is the second phase, and finally in the third phase the cleanup or the destruction of the virtual machines. The throughput of the computing model can be estimated as the total number of jobs executed within a time span without considering the virtual machine formation time and destruction time.[15]

F. Modified Throttled Algorithm This algorithm is bit modified version of Throttled Load Balancing Algorithm. Modified Throttled Load Balancing Algorithm maintains a set of virtual machines named as VM index table and stating the position of the VMs (i.e. Busy/Available).VM at first index is initially selected depending upon the state. If VM is available, then the request is assigned and if VM is not found then it returns (-1) to the Data Centre Controller. When the next request arrives, the VM next to the already allocated VM is choosed. This process is repeated continuously until the index table size is reached.[14] IV. CONCLUSION Load balancing is one of the major challenges in cloud computing. It is a mechanism which distributes the dynamic local workload evenly across all the nodes in the whole cloud. This will avoid the situation where some nodes are heavily loaded while others are idle or doing little work.in this paper we reviewed various algorithms for load balancing in cloud computing. These algorithms are also analyzed on various Scheduling parameters and strategies. The algorithm should not only balance the load but also help in efficient utilization of resources, increase overall throughput and decrease the response time. To achieve the algorithms should be Dynamic & Robust in nature. The future work is intended to suggest a new load scheduling algorithm which considers Dynamic workload and thus providing higher resource utilization and reduced cost in a Cloud Computing environment. REFERENCES [1] Lee Badger,TimGrance, Robert Patt-Corner, JeftVoas, "Cloud Computing Synopsis and Recommendations", National Institute of Standards and Technology, Special Publication 800-146,, May 2012. [2] Gulshan Soni, Mala Kalra A Novel Approach for Load Balancing in Cloud Data Center In Advance Computing Conference (IACC), 2014 IEEE International, 2014, DOI:10.1109/IAdCC.2014.6779427. Fig.3: flow of the Modified Throttled Algorithm.[12] Modified throttled algorithm maintains an index table of virtual machines and also the state of VMs similar to the Throttled algorithm. There has been an attempt made to improve the response time and achieve efficient usage of available virtual machines. Proposed algorithm employs a method for selecting a VM for processing client s request where, VM at first index is initially selected depending upon the state of the VM. If the VM is available, it is assigned with the request and id of VM is returned to Data Center, else -1 is returned. When the next request arrives, the VM at index next to already assigned VM is chosen depending on the state of VM and follows the above step, unlikely of the Throttled lgorithm, where the index table is parsed from the first index every time the Data Center queries Load Balancer for allocation of VM.[12] Page 128 [3] B. P. Rima, E. Choi, and I. Lumb, "A Taxonomy and Survey of Cloud Computing Systems", Proceedings of 5th IEEE International Joint Conference on INC, IMS and IDC, Seoul, Korea, August 2009, pages 44-5l. [4] Sandeep Sharma, Sarabjeet Singh, Meenaksshi Sharma, "Performance Analysis of Load Balancing Algorithms", World Academy of Science, Engineering and Technology, 2008. [5] Hisao Kameda, EL-Zoghdy Said Fathyy and Inhwan Ryuz Jie Lix, "A Performance Comparison of Dynamic vs Static Load Balancing Policies in a Mainframe, Personal Computer Network Model",Proceedings Of The 39th IEEE Conference on Decision &Control,2000. [6] Nidhi Jain Kansal, Inderveer Chana, "Cloud Load Balancing Techniques: A Step Towards Green Computing", IJCSI, Vol. 9, Issue1,January2012. [7] Ghutke, B.; Shrawankar, U., Pros and Cons of Load Balancing Algorithms for Cloud Computing

Information Systems and Computer Networks (ISCON), 2014 International Conference on, 2014, Pages: 123-127, DOI: 10.1109/ICISCON.2014.6965231 [8] Tejinder Sharma, Vijay Kumar Banga, Efficient and Enhanced Algorithm in Cloud Computing, International Journal of Soft Computing and Engineering (IJSCE), Vol. 3, Issue 1, pp. 2231-2307,2013. [9] https://en.wikipedia.org/wiki/cloud_computing. [10] Shaw,S.B.; SinghA.K., A survey on scheduling and load balancing techniques in cloud computing environment Computer and Communication Technology (ICCCT), 2014 International Conferenceon 2014,Pages:8-795, DOI: 10.1109/ICCCT.2014.7001474 [11] Gupta, E.; Deshpande, V., "A Technique Based on Ant Colony Optimization for Load Balancing incloud Data Center Information Technology (ICIT), 2014 International Conference on, 2014,Pages: 12-12, DOI: 10.1109/ICIT.2014.54 [12] Shridhar G. Domanal, G. Ram Mohana Reddy, Load Balancing in Cloud Computing Using Modified Throttled Algorithm, IEEE, International conference. CCEM 2013. [13] Hamid Shoja, Hossein Nahid, Reza Azizi, A COMPARATIVE SURVEY ON LOAD BALANCING ALGORITHMS IN CLOUD COMPUTING,IEEE,5th ICCCNT 2014 [14] Priyadarashini Adyasha Pattanaik, Sharmistha Roy and Prasant Kumar Pattnaik, Performance Study of Some Dynamic Load Balancing Algorithms in Cloud Computing Environment, International conference on signal processing(spin),ieee, April 2015 [15] Vishwas Bagwaiya, Sandeep k. Raghuwanshi, HYBRID APPROACH USING THROTTLED AND ESCE LOAD BALANCING ALGORITHMS IN CLOUD COMPUTING, Green Computing Communication and Electrical Engineering, IEEE,2014 Page 129