Advances in Computing 2017, 7(2): 28-34
DOI: 10.5923/j.ac.20170702.04
Survey on Various Load Balancing Techniques
in Cloud Computing
Athokpam Bikramjit Singh
1
, Sathyendra Bhat J.
1,*
, Ragesh Raju
1
, Rio D’Souza
2
1
Department of Computer Applications, St Joseph Engineering College, Mangaluru, India
2
Department of Computer Science and Engineering, St Joseph Engineering College, Mangaluru, India
Abstract Load Balancing is one of the most significant concepts in distributed environments. As Cloud Computing is
considered to be one of the best platforms that gives storage of data at a minimal cost and is accessible all the time over the
internet, load balancing for the cloud computing has turned into a very interesting and important study area. Load balancing
aims at high user satisfaction and usage of resource ratio by guaranteeing a proficient and reasonable allocation of each
computing resource. There are numerous difficulties in load balancing techniques such as security, fault tolerance etc which
are prevalent in modern cloud computing environments. Many researchers have proposed several techniques to enhance load
balancing and this paper too, portrays an overview on load balancing schemes in cloud environments. We explore the diverse
types of algorithms that are proposed by a number of researchers to solve the problem of load balancing in cloud computing.
Keywords Cloud Computing, Load Balancing
1. Introduction
Cloud is the cluster of distributed computers that provides
on-demand computational resources over a network. Cloud
computing is becoming an advanced technology in recent
years. It is conceptually distributed system where computing
resources distributed through the network (Cloud) and
services pooled together to provide the users on
pay-as-needed basis.
Cloud Computing provides everything as a service and are
deployed as public, private, community, and hybrid clouds.
The three basic service layers of cloud computing are:
Software as a Service (SaaS), where the user does not need to
manage the installation and configuration of any hardware or
software, such as Google Online office, Google Docs, Email
cloud, etc; Platform as a Service (PaaS), where a service is a
delivery of a computing platform over the web where users
can create and install their own applications as they need.
Configuration of computing platform and server is managed
by the vendor or cloud provider. Example of PaaS is Google
App Engine. Infrastructure as a Service (IaaS), where servers,
software, and network equipment is provided as an
on-demand service by the cloud provider [1].
The main function of sharing resources, software,
information through the internet are the main interest in
cloud computing with an aim to reduce capital and
* Corresponding author:
sathyendrab@sjec.ac.in (Sathyendra Bhat J.)
Published online at http://journal.sapub.org/ac
Copyright © 2017 Scientific & Academic Publishing. All Rights Reserved
operational cost, better performance in terms of response
time and data processing time, maintain the system
constancy and to accommodate future adaptation of the
system. So there are various technical challenges that need to
be addressed like Virtual Machine (VM) relocation, server
consolidation, fault tolerance, high availability and
scalability. But the central issue is the load balancing [2, 3].
It is the mechanism of spreading the load among various
nodes of a distributed system to improve both resource
deployment and job response time while also avoiding a
situation where some of the nodes are having a huge amount
of load while other nodes are doing nothing or idle with very
little work. It also ensures that all the processor in the system
or each node in the network does approximately the equal
amount of work at any instant of time [4, 5].
The goal of load balancing is to improve the performance
by balancing the load among the various resources (network
links, central processing units, disk drives, etc.) to achieve
optimal resource utilization, maximum throughput,
maximum response time, and to avoid overload. Below
Figure 1 shows the block diagram of cloud architecture [10].
2. Classification of Load Balancing
Algorithms
Load balancing algorithms can be broadly classified into
two types: Static algorithms and Dynamic algorithms. In
Static Scheduling the assignment of tasks to processors is
done before program execution begins i.e. in compile time.
Scheduling decision is based on information about task
execution times, processing resources, etc., which are