You are on page 1of 13

Enhanced Throttled Balancing Algorithm for cloud computing

1. Introduction

1.1. Overview of Cloud Computing

Cloud computing has come through many different phases. Grid computing is based on the concept
of linking a number of systems to increase the availability and scalability. [24]utility computing grows
up with the standard web 2.0 for compute services in which resources such as storage, infrastructure,
computing power and applications etc, are measured on the pay-per-use basis and utility computing
acts as the base of Cloud computing.

Therefore, there are various definitions of Cloud computing given by several scholars and
organizations.As National Institute of Standards and Technology (NIST) defines Cloud computing
as “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”. Cloud computing is involved in delivering services with the help of shared
resources,information, software and other devices which are provided according to the clients
requirement at specific time. A good example of cloud computing environment is internet.The whole
internet can be viewed as a cloud [24] . Capital and operational costs can be cut using cloud
computing[25] . Cloud computing has a benefit of open access, improved economies of scale,
capacity for on-demand infrastructure and computational power, Improved resources, reduced IT
infrastructure needs, resource pooling,control system with abstract policies and organizations focuses
on their core competencies.

The characteristics of cloud computing are Utility-based pricing to lowers the cost because it provides
services on pay per use model; Broad network access to accessed a service in any device from
different place; Shared resource pooling to provide the resource dynamically for different consumer
by using virtualization; Dynamic resource provisioning to provide the resource for user in the form
of they want without requiring any manual involvement; Measured service to provide measures
service in terms of customer demand and billing the customer as they use the service as “pay-per-
use-model.” and Self-organizing to manage the resources according to cloud service provider needs
and consumption of these resources are managed according to the demand of the user.
In cloud computing there are three service models [26,27]:
Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS)

Infrastructure as a Service provides access to fundamental resources such as physical machines,


virtual machines, virtual storage. Platform as a Service offers the runtime environment for
applications. It also offers development and deployment tools, required to develop applications.
Software as a Service model allows providing software application as a service to the end users. It
refers to software that is deployed on a hosted service and is accessible via Internet. There are
basically four types of cloud deployment models [28]which have been defined in the cloud
computing: Public, Private, Hybrid and community cloud model.

Public Cloud model allows systems and services to be easily accessible to general public.For
instance Google, Amazon and Microsoft offers cloud services via Internet. Private Cloud model
allows systems and services to be accessible within an organization. The Private Cloud is operated
only within a single organization. However, It may be managed internally or by third-party. Hybrid
cloud model 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. Community Cloud model
allows system and services to be accessible by group of organizations. It shares the infrastructure
between several organizations from a specific community. It may be managed internally or by the
third-party.

1.2. Issue in Cloud Computing

As [29] stated, the technical issues in cloud computing includes load balancing, security, reliability,
ownership, data back-up, data portability, multi- platform support, and intellectual property.

Load balancing is technique for avoiding disruption in delivery of a service when one or more
components of the system are in trouble[27]In the process of load balancing, the cloud computing
components are constantly monitored, and when a component fails to respond, load balancing comes
up and do not sent traffic on it. Often, problems can be minimized with proper load balancing that
not only reduce costs and create green computing, but keeps the pressure minimum on the unique
circuits that makes them potentially longer life.
Load balancing is a mechanism to distribute the load across all the node or virtual machine in the
whole cloud to avoid a possibility in which some of the virtual machines are overloaded while some
of the other are lightly loaded or ideal. Load balancing helps to achieve a high user satisfaction and
resource utility of the system. It also ensures that every computing resource is distributed efficiently
and fairly.

To solve the load balancing issues different techniques are developed using many ways.
These techniques are called load balancing algorithms. There are two types of load balancing
algorithms: static load balancing algorithm and dynamic load balancing algorithm. Load
balancing is an important technique to achieve fast cloud environment with efficient resource
utilization. Different researcher developed different load balancing algorithm which can solve
the issue of load balancing in cloud computing. Round-robin algorithm is one of the simplest
static load balancing algorithms. It can assign the incoming request in cyclic manner. This
algorithm uses the resource efficiently but this algorithm doesn't check the current status of
VM so that some of the requests waiting more time without execution and this leads to high
response time. It takes more time to give response to the client. The other is ESCE algorithm.
It is dynamic algorithm. This algorithm assign request by checking least number of requests
currently allocated. It has the problem of efficient resource utilization. In this algorithm some
of the VM are heavily loaded while the others are lightly loaded or ideal.

Still there is a gap on the existing load balancing algorithm. Most of the existing algorithms
may work efficiently but they use resources inefficiently. Other algorithms use the resource
efficiently and distribute the incoming request fairly to each VMs but they are not fast enough to
give response. There are needs to develop new algorithm due to the above reasons. The new
proposed algorithm solves the problem in the existing algorithms. It assign the request efficiently
and effective resource utilization. This algorithm is dynamic so it checks the status of each VMs
frequently and assign the request by depending on the current status of VM so that lead to
efficiency and effective use of cloud resource. As a result; the proposed algorithm improved the
response time of each request.

There are few things which needs more clarification, one of those is Virtual Machine (V.M.). A
Virtual Machine is a software implementation of a physical machine that is capable of executing
programs like physical machine. It is an efficient, isolated duplicate of a real machine, which does
not have any direct correspondence to any real Hardware. Data Centre (D.C.C), as the name refers it
is a centralized repository of data which stores, manages, circulates and preserves the data of an
organization. Simply it is a place where the IT components (such as, telecommunication, storage) are
housed. It is the brain of a company and the place where the most critical processes run such as
servers. Server is considered as a part of Data Centre. [21]

2. Statement of the Problem


The aim of cloud computing is to reduce capital and operational cost, better performance in terms
of response time, data processing time, and better utilization of its resource. One of the ways to
improve this is by providing efficient and effective resource utilization VM load balancing
policies. Load balancing is distributing the load fairly across all the available machines and the
main aim of load balancing is to help in achieving high resource utilization and user satisfaction.
There are various VM load balancing policies which are famous on current cloud environment.
The most popular algorithms are Round-robin, Active Monitoring load balancing and Throttled
load balancing algorithm.

Round-robin which uses the round robin scheme for allocating job. It selects the first node randomly
and then, allocates jobs to all other nodes in a round robin fashion. Because of the non uniform
distribution of workload, this algorithm is not suitable for cloud computing .some nodes get heavily
loaded and some nodes get lightly loaded because the running time of any process is
not known in advance [12].
Active Monitoring Load Balancer maintains information about each VMs and the number of
requests currently allocated to which VM. When a request to allocate a new VM arrives, it
identifies the least loaded VM but each and every time from the first index of table and assigned
the task to that VM. This may cause that one VM will be allocated in continuous manner if it is
least loaded [5].
Throttled load balancing algorithm 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 center to find a suitable virtual machine (VM) to perform the recommended job.
The data center queries the load balancer for allocation of the VM. The load balancer scans the
index table from the top until the first available VM is found or the index table is scanned fully.
Again response time of this load balancing algorithm is not minimum as required. so there is a
huge gap between efficiency of load balancing algorithm and better resource utilization for better
load balancing in the cloud[14].

Modified Throttled - Like the Throttled algorithm it also maintains an index table containing list of
virtual machines and their states. The first VM is selected in same way as in Throttled. When the next
request arrives, the VM at index next to already assigned VM is chosen depending on the state of VM
and the usual steps are followed, unlikely of the Throttled algorithm, where the index table is parsed
from the first index every time the Data Center queries Load Balancer for allocation of VM [18]. It
gives better response time compare to the previous one. But in index table the state of some VM may
change during the allocation of next request due to deallocation of some tasks. So it is not always
beneficial to start searching from the next to already assigned VM.

Therefore there is a need to have improved load balancing algorithm for better resource utilization
in the cloud environment. So this thesis is aimed to solve resource utilization and
response time problem in cloud computing. and it is very supportive to develop best load
balancing algorithm and to make a comparative analysis of the modified algorithm with the
current load balancing algorithm. As a result the performance of cloud computing will be
improved and it enables cloud service provider to satisfy their service to the customers without
wasting their resources
2.1 Proposed Scheme

An algorithm is developed by enhancing the concept of modified throttled load balancing (MTLB)
algorithm, which chose the VM at index next to already assigned VM is chosen depending on the
state of VM Whenever next request arrives.

In proposed ETLB (Enhanced throttled load balancing) load balancing policy, inputs are given as
different jobs jl , j2, .. . .. .. , jn submitted by the user and the virtual machines vl ,v2, .. .. ,vn created
on data centers. In this, two hash maps (storage) are created. First maintains an index table of virtual
machines and also the state of VMs similar to the Throttled algorithm. and second is state of VMs
that holds the history of each virtual machine . When Data Center Controller (DCC) receives a new
request then it queries to the load balancer for new allocation.

The load balancer first checks in VMStateList either any VM is available or not. If VM is available
then allocate the job to it, otherwise check the history of current state of VM which is not busy at the
time. In this case load balancer pick the available VM and allocate the request on it. It gives the
benefit that one Load balancer needs not to scan the table again and again if there is no available
machine. This minimizes the response time and increases the performance of cloud systems

In summary, the contribution of this paper is:


• Our enhanced throttled load balancing algorithm prevents a scenario where the repeated scanning
of load balancer in case it does not find any VM available The balancer instead check from the second
table( hash map).

3.Research Questions
This study aim to answer the following question
1. Can efficient load balancing algorithm solve the problem of resource inefficiency and delay in
response of cloud service?
2. In what situation will have the data center efficient resource utilization?
3. Can best load balancing algorithm make the cloud service faster?
4. Objectives

4.1. General objectives

The general objective of this research is to look into enhanced load balancing algorithm for cloud
computing which provides better response time than the existing well known load
balancing algorithm.

4.2 Specific objectives

 Reviewing related literature in the area of cloud computing


 Plan and implement algorithm
 Test and evaluate the proposed algorithm using cloud analyst simulator
 Ensure the proposed algorithm will have better resource utilization
 Draw a conclusion and pass on recommendations for additional research area

5. Scope and Limitations

The main focus of this research to examine the existing renowned load balancing algorithm and
find their shortcoming to develop new load balancing algorithm to solve their problem. For
evaluation purpose we select two popular algorithms called Round Robin, Active monitoring load
balancing algorithm. Because these algorithms distribute the load uniformly. Above and beyond
this research work does not address issues related to security.

6. Significance of the study


This research aims to address the problem of some of the existing load balancing algorithm since
the current load balancing algorithm have their own limitation for example round robin load
balancing algorithm does not check status of the virtual machine whether they are available or not
and this situation leads to waiting of queue. On the other hand, Active monitoring load balancing
algorithm assign task in a continuous manner to the least loaded virtual machine and this cause
unfair allocation task to the node. In Throttled, every time the vmStateList is checked from first
index and that makes some VM overloaded or under loaded. [6]. from this point of view the
enhanced algorithm is significant to solve such a problem in the existing load balancing policy. In
addition the modified load balancing algorithm will have better resource utilization and this
provide a good benefit for any cloud service provider as well as cloud service user.
7. Literature review

Cloud computing provides flexible way to retain data and files which involves virtualization,
distributed computing, and web services. It also has several elements like client and distributed
servers. The aim of cloud computing is to provide maximum services with minimum cost at any
time. Nowadays, there are more than hundred millions of computer devices connected to the
Internet. Cloud computing is growing in the real time environment and one of its main challenge
is load balancing. Load balancing in clouds is a technique that distributes the excess dynamic local
workload evenly across all the nodes. It is used for achieving a better service provisioning and
resource utilization ratio, hence improving the overall performance of the system Incoming tasks
are coming from different location are received by the load balancer and then distributed to the
data center ,for the proper load distribution[11,10,12].The aim of load balancing is to increase the
availability of services, to increase the user satisfaction, to maximize resource utilization, to reduce
the execution time and waiting time of task coming from different location, to improve the
performance ,maintain system stability , build fault tolerance system , accommodate future
modification[13].

7.1 Existing load balancing algorithms


Round Robin This algorithm works on random selection of the virtual machines. The datacenter
controller assigns the requests to a list of VMs on a rotating basis. The first request is allocated to
a VM picked randomly from the group and then the Data Center controller assigns the requests
in a circular order. Once the VM is assigned the request, the VM is moved to the end of the list.
The major issue in this allocation is this that it does not consider the advanced load balancing
requirements such as processing times for each individual requests [15].
Active Monitoring Load Balancer maintains information about each VMs and the number of
requests currently allocated to which VM. When a request to allocate a new VM arrives, it
identifies the least loaded VM. If there are more than one, the first identified is selected. Active
VM Load Balancer returns the VM id to the Data Center Controller the data Center Controller
sends the request to the VM identified by that id. Data Center Controller notifies the Active VM
Load Balancer of the new allocation. The major issue in this algorithm is that it will assign one
virtual machine in a continuous if it is least loaded [8, 9].
Throttled load balancing Algorithm :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 center to find a suitable virtual machine (VM) to perform the recommended job.
The data center queries the load balancer for allocation of the VM. The load balancer scans the
index table from the top until the first available VM is found or the index table is scanned fully. If
the VM is found, the VM id is sent to the data center. The data center communicates therequest to the
VM identified by the id. Further, the data center acknowledges the load balancer
of the new allocation and the data center revises the index table accordingly. During processing
the request of the client, if appropriate VM is not found, the load balancer returns -1 to the
datacenter [6, 15].
Random algorithm is used to assign the selected job randomly to the available VM. This
algorithm doesn't consider the status of the VM, which will either be under heavy or low load.
Hence, this may result in the selection of a VM under heavy load and the job requires a long
waiting time before service is obtained. The complexity of this algorithm is quite low, as it does
not need any overhead or preprocessing [16].
Enhanced Active Vm Load Balancer is developed by enhancing the concept of Active
Monitoring load balancing and it considers the virtual machine which is allocated recently along
with the least loaded. It gives the benefit that one VM will not be allocated in continuous
manner if it is least loaded. But still this algorithm scan the index to find the least load virtual
machine and the response time needs to be improved [5].
According to [18] 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 algorithm, where the index table is parsed from
the first index every time the Data Center queries Load Balancer for allocation of VM.
In [19] their proposed algorithm employs that Dynamic Load Management takes the set of
available virtual machines in an available group or block. When a new request comes we check
for best suited virtual machine. Once the request is bound with the virtual machine, we remove
.this VM index from the group of available virtual machines so it will not be considered for any
future request until it finish its assigned workload and becomes available again by setting its status
to be free. If the next upcoming task is received then it checks for the table of VM if it is overloaded
then a request will be assigned to and returns the id of that particular VM to the Data Center, else
-1 is obtained. When Vm completes its work, the Data Center. They don't consider overloaded
machine again and again. It improves the response time but waiting time for the cloudlet in the queue
will increase as the number of virtual machines removed are increased.
Weighted throttled load balancing algorithm, a modification of throttled load balancing algorithm
[20] by assigning a weight to each virtual machine VM. For throttled load balancing algorithm, virtual
machines VMs are either busy or available and if there is no VM available to serve a request, the
request is queued. In our proposed algorithm a request is not queued instead it is assigned a busy VM
that has a higher weight in comparison to other VMs. The proposed approach improves system
availability through minimizing latency, and reduces processing time through proper allocation of
requests to the most powerful VM available. The algorithm is implemented using Clouds simulator
and the experimental results achieve better response time and processing time.
In[21] Priority based Modified Throttled Algorithm (PMTA) developed a new Load Balancing
algorithm priority basis service which is capable of holding users requests that doesn’t get virtual
machine to run on. It defines more important request which has to be done first. The queue is used to
hold the requests which are switched from execution state to wait state. The switching of low priority
task is done by depending on the priority of the requested task, where resource utilization response
time has improved
The proposed algorithm [22] STVMLB (Synchronized Throttled VmLoadBalancer) is designed
by making modification in the concept of Throttled load balancing algorithm. The to change the
values in allocation table and keep the state BUSY of allotted machine in vmStateList. When VM
finishes the job processing and DCC receives the response cloudlet then DCC notifies to STVMLB
for deallocation of VM and then Synchronized Throttled VmLoadBalancer change the state of VM
as AVAILABLE. If more jobs are waiting, then process of allocation is started from next VM until
the last VM. In Throttled, every time the vmStateList is checked from first index and that makes some
VM overloaded or under loaded. Proposed dynamic load balancing algorithm produces better result
as to efficiently allocate the coming request but response time is not better than Throttled
algorithm.

8. Methods/Approaches
In order to conduct this research reviewing literature is one way of finding research problems and
identifying what have been done and not regarding some topic, in addition to that it helps to
compare and contrast the different kinds of algorithms and to select the appropriate one based on
its performance. In this study different kinds of literatures will be reviewed regarding load
balancing algorithm for cloud computing. For measuring the performance of the propose algorithm
cloud analyst simulator will be used. One of the main objectives of Cloud Analyst is to separate
the simulation experimentation exercise from a programming exercise, so a modeler can focus on
the simulation complexities without spending too much time on the technicalities of programming
using a simulation toolkit[17]
9.References

[1] Support, R. Understanding the cloud computing stack: Saas, paas, iaas, 2017. [Online; accessed
05- Nov-2017].
[2] Rahman, M., Iqbal, S., and Gao, J. Load balancer as a service in cloud computing. In 2014 IEEE
8th International Symposium on Service Oriented System Engineering (April 2014), pp. 204–211.
[3] S idhu, A. K., and Kinger, S. Analysis of load balancing techniques in cloud computing. In
International Journal of Advanced Research in Computers and Technology (April 2013),
pp. 737–741.
[4] Klaithem Al Nuaimi, Nader Mohamed, Mariam Al Nuaimi and Jameela Al-Jaroodi, “A Survey
of Load Balancing in Cloud Computing: Challenges and Algorithms”, in Second Symposium on
Network Cloud Computing and Applications, 978-0-7695-4943-9/12, IEEE 2012.
[5] Shikha Garg, D.V. Gupta2, Rakesh Kumar Dwivedi," Enhanced Active Monitoring Load
Balancing Algorithm for Virtual Machines in Cloud Computing," Proceedings of the SMART -2016,
IEEE Conference ID: 39669 5 th International Conference on System Modeling & Advancement in
Research Trends, 25th_27'h November, 2016 College of Computing Sciences & Information
Technology, Teerthanker Mahaveer University, Moradabad, India(2016).
[6] Shubham Sidana, Anurag Gupta, Neha Tiwari, Inall Singh Kushwaha," NBST Algorithm: A load
balancing algorithm in cloud computing," International Conference on Computing, Communication
and Automation (ICCCA2016) .
[7] Ankit Kumar, Mala Kalra," Load Balancing in Cloud Data Center Using Modified Active
Monitoring Load Balancer," 2016 IEEE.
[8] Tushar Desai, Jignesh Prajapati,"A Survey Of Various Load Balancing Techniques And
Challenges In Cloud Computing, “International Journal of Scientific & Technology research ,vol. 2,
no.11, November 2013
[9]Mayur S. Pilavare, Amish Desai," A Novel Approach Towards Improving Performance of Load
Balancing Using Genetic Algorithm in Cloud Computing," IEEE Sponsored 2nd International
Conference on Innovations in Information Embedded and Communication Systems ICIIECS’15 2015
IEEE.
[1 0] Reena Pan war, Bhawna Mallick," Load Balancing in Cloud Computing Using Dynamic Load
Management Algorithm," 20 15 IEEE.
[1 1 ] Sidra Aslam, Munam Ali Shah," Load Balancing Algorithms in Cloud Computing: A Survey
of Modern Techniques," 2015 National Software Engineering Conference (NSEC 2015)
[12] Dharmesh Kashyap, Jaydeep Viradiya." A Survey Of Various Load Balancing Algorithms In
Cloud Computing ," International Journal of Scientific & Technology research,vol. 3, issue 11,
november 2014
[1 3] Rajesh George Rajan1, V.Jeyakrishnan2," A Survey on Load Balancing in Cloud Computing
Environments," International Journal of Advanced Research in Computer and Communication
Engineering Vol. 2, Issue 12, December 2013.
[1 4] Shridhar G.Damanal and G. Ram Mahana Reddy," Optimal Load Balancing in Cloud
Computing By Efficient Utilization of Virtual Machines," 2014 IEEE.
[1 5] Peter Mell and Timothy Grance, "The NIST Definition of Cloud Computing,"National
Department of Standards and Technology, USA, September 2011.[16]Manan D. Shah, Amit A.
Kariyani, Dipak L. Agrawal," Allocation Of Virtual Machines In Cloud Computing Using Load
Balancing Algorithm,"IRACST - International Journal of Computer Science and
Information Technology & Security (IJCSITS), ISSN: 2249-9555, Vol. 3, No.1, February 2013.
[17] Rakesh Kumar Mishra , Sreenu Naik Bhukya," Service Broker Algorithm for Cloud-Analyst,"
Rakesh Kumar Mishra et al, / (IJCSIT) International Journal of Computer Science and Information
Technologies, Vol. 5 (3) , 2014 .
[18] Shridhar G. Domanal and G. Ram Reddy," Load Balancing in Cloud Computing Modified
Throttled Algorithm"IEEE, International conference. CCEM 2013
[19] Reena Pan war, Prof. Dr.BhawnaMallick, “Load Balancing in Cloud Computing Using Dynamic
Load Management Algorithm”, International Conference on Green Computing and Internet of
Things, IEEE, 2015.
[20] Walugembe Hussein, Tao Peng, Guojun Wang “A weighted throttled load balancing approach
for virtual machines in cloud environment” ACM International Journal of Computational Science
and Engineering archive Volume 11 Issue 4, December 2015

[21]Soumi Ghosh, Chandan Banerje”Priority Based Modified Throttled Algorithm in Cloud


Computing ” ACM International Journal of Computational Science and Engineering archive Volume
11 Issue 4, December 2016
[22]Shikha Garg , Rakesh Kumar Dwivedi and Himanshu Chauhan”Efficient Utilization of Virtual
Machines in Cloud Computing using Synchronized Throttled Load Balancing” 1st International
Conference on Next Generation Computing Technologies (NGCT-2015) Dehradun, India, 4-5
September 2015
[24]Malhotra, Rahul, and Prince Jain. 2013a. “Study and Comparison of CloudSim Simulators in
the Cloud Computing.” The SIJ Transactions on Computer Science Engineering and its
Applications (CSEA) 1(4): 111–15.
[25]Aditya, Abhijit, Uddalak Chatterjee, and Snehasis Gupta. 2015. “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
5(3): 1898–1907

[26]Cse, M Tech. 2012. “Comparison of Load Balancing Algorithms in a Cloud Jaspreet Kaur.”
International Journal of Engineering Research and Application 2(3): 1169–73
[27]Sharma, Tejinder, and Vijay Kumar Banga. 2013. “Efficient and Enhanced Algorithm in
Cloud Computing.” International Journal of Soft Computing and Engineering 3(1): 385–90
[28]Zhang, Qi, Lu Cheng, and Raouf Boutaba. 2010. “Cloud Computing: State-of-the-Art and
Research Challenges.” Journal of Internet Services and Applications 1(1): 7–18.
[29]Begum.S and Prashanth.C.S.R. 2013. “Review of Load Balancing in Cloud Computing.”
IJCSI International Journal of Computer Science Issues 10(1): 343–52.

You might also like