Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Analysis of load balancing and its algorithms in

cloud computing

Abhineet Anand1 and M. Arvindhan2


1-Chitkara University, Mohali, India
2-Galgotias University, Gr. Noida, India
email- 1-abhineet.mnnit@gmail.com, 2-saroarvindmster@gmail.com

Abstract. The present study focuses on cloud computing and its


ser- vices and the main topic which is focused in broad is load
balancing and its different algorithms techniques for load balancing
and its various algo- rithms. In cloud computing, load balancing
benefits to reduce the chances of system breakdown in case of
heavy traffic on the server. Load bal- ancing algorithm uses with
different sets of algorithmic procedures and provide solutions for
the better efficiency of resource handling process. In this paper all
types of load balancing Algorithm have been compared and
analysed for the efficiency and detailed diagrammatic representation
and comparative statement of work case is implemented which works
and suitable for some of the cases in load balancing.

Keywords: Cloud computing · Load Balancing · Performance · Re-


sponse Time · Resource Utilization · Static Algorithms · Dynamic Algo-
rithms.

1 Introduction

Cloud computing is when a company or users require some resources like


storage, networking, computing which they cannot afford to have them in that
scenario they can buy their services according to resources they need and the
company who provide these services are called service provider.Services of
cloud computing are [1].

1. Infrastructure as a service :- with the use of this provider are provided


ac- cess to various resources such as virtual machines, physical
machines, load balancers, IP address, virtual storage is also known as
hardware as a service.
2. Platform as a service:- with the help of this service users do not require
to set up their platform to perform task for providing a various
platform.
3. Software as a service: - it is mainly used by end user where backend
knowl- edge is not required. It is a model for the distribution of
software where customers access software over the internet.
2 Analysis of Load
Balancing
2 Various operations of load balancing techniques in
cloud computing

Load balancing is a process of balancing the load of heavy traffic that comes
from client to server by dividing the work to different servers so that
processing of data can be done efficiently with a smaller amount of time and
maximum utilization of server and thereby can minimize the time of various
jobs that is performed.It can be performed with the help of various load
balancing algo- rithms [3]. Analysing the Various algorithm on load balancing
forms its divided into hardware load balancing and software load
balancing[4][2][5].
The resources by providing a maximum throughput with minimum time, thus
it helps to improve performance by optimally using available resources and
helps in minimizing latency and response time. Load balancing is achieved
by using multiple resources that is, multiple servers that are able to fulfil a
request or by having multiple paths to a resource. Load balancing helps to
achieve a high user satisfaction and resource utilization. When one or more
components of any service fail, load balancing facilitates continuation of the
service by implement- ing fair-over, that is, it helps in provisioning and de-
provisioning of instances of applications without fail. It also ensures that
every computing resource is distributed efficiently and fairly[7][6]

2.1 Performance:

The performance of computer means when a given task is assigned to


computer how efficiently, effectively in less amount of time that task is
accomplished tells the performance of computer [7][8].

2.2 Response time:

When a task requires a service like database query, memory allocation. It


re- quests for that service and the amount of time it take to get response of
that services is called response time[10].

2.3 Throughput:

when a given amount of time the number of information a system can


process is called throughput.

2.4 CPU execution time:

Amount of time CPU takes to complete a particular task is called CPU


execution time.[9].
Analysis of load balancing and its algorithms in cloud 3
computing
2.5 Migration time:
Cloud migration time is when data or application is moved from one cloud
to other cloud environment so whether it is public to public cloud, or
public to private cloud than time it take to do the process is called
migration time[17].

2.6 Resource Utilization:


Percentage of resources like memory, CPU which get utilized during
processing is called resource utilization.[12].

2.7 Scalability:
The ability of a computing process to be used or produced in a range of
capa- bilities.

2.8 Fault-tolerant:
Suppose a failure occur in one or more component pieces in any layer in
cloud computing and your infrastructure still have the ability to continue
provide ser- vices to underlying applications is determine the fault tolerant
of a system[14].

3 Classification of Load Balancing Algorithm


There are many load balancing algorithms that can be categorized from
different perspectives.

3.1 Static Algorithm


It requires prior knowledge about the system like memory, processing
power and performance. These algorithms do not need the information
regarding the current state of the node. In static algorithms decision about
balancing the load is taken 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[15].

3.2 Round robin


This algorithm works in a sequential way it is static algorithm. As Figure 1
suggest When the user send a request to the server than to find an available
server to perform user’s task algorithm works in a way that it iterates from
the first server to n server till it gets available server. This algorithm is best
for basic load testing. But it is not for production traffic. Suppose in a
round robin fashion heavy traffic comes on a server which has low
efficiency and processing power than this server will collapse and server
with good efficiency will remain to be unused[16].
4 Analysis of Load
Balancing

Fig. 1. Diagram of Round Robin

3.3 Weighted ratio algorithm

it is static algorithm here servers are divided into ratios based on their perfor-
mance power suppose there are 3 servers and their ratios are 3, 2 and 1 then
the server which as the maximum ratio is a high-performance server so if a
request comes from the client it will first go to ratio This algorithm gives
differ- ent weights to each node according to its processing ability, and the
size of the weights determines how much the server handles the task 3 server
Figure 2 [16]. As soon as it receives task its ratio will get reduced to 2 and
then again if the request2 comes it will go to the maximum weighted ratio of
the server as represented. In server1 ratio will get reduced by one and now if
again request comes it will go to server2 which will be having maximum
ratio. This process will continue and if a server completes a task its ratio will
increment by one [19].

3.4 Min-Min algorithm

In this algorithm a task which has minimum completion time is allocated


to resource which also has minimum completion time steps of this
algorithm are. First for each task determine the minimum completion tim e
from, second find minimum completion time from all given tasks, third
assign the task to the machine that gives this completion time and finally
iterate till all the tasks are schedule[20].
Analysis of load balancing and its algorithms in cloud 5
computing

Fig. 2. Diagram of Weighted Ratio

Fig. 3. Diagram of Weighted Ratio


6 Analysis of Load
Balancing

Fig. 4. Diagram of Weighted Ratio

3.5 Max-Min algorithm

this algorithm works in a way it gives the fast result when the size of task in
metatask is small as compared to large size task. On the other hand, if large
size tasks overlay the number of smaller tasks, it gives a poor resource
utilization and large makespan because large size tasks have to wait for the
completion of smaller tasks. So to make algorithm better we use max-min
algorithm. This algorithm is following identical procedure of MinMin
algorithm. This algorithm calculates the execution completion time of all
tasks. The maximum completion time is taken and assigned to the
corresponding resources. This algorithm is best in the situations where the
amount of tasks with maximum completion time and it take away the
starvation. The task minimum completion time has been waiting in ordered
queue until the other maximum completion time task must be completed.
Here we can understand that this algorithm performs well in a static
environment and both the algorithm has their merits and demerits based on
the environments. The performance doesn’t depend on the algorithm chosen
but indeed the environment taken[21].
Max-Min algorithm follows the following steps:
– Phase1: First computes the completion time of every task on each
machine and then for every task chooses the machine which processes
the tasks in minimum possible time
– Phase2: Among all the tasks in Meta Task the task with maximum
comple- tion time is selected and is assigned to machine. The task is
removed from
Analysis of load balancing and its algorithms in cloud 7
computing
the list of Meta Task and the procedure continues until Meta Task list is
empty.

4 Dynamic algorithms
Decisions are made based on the current state of system i.e. it will not
consider the prior knowledge about the system. Dynamic algorithms
consider different policies like transfer policy, selection policy, location
policy and information pol- icy to balance the load. 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.[16].

4.1 Hash Algorithm


Based on this A Dynamic Hash Algorithm - Multiple Hash Algorithm was
re- posed . The idea of the algorithm is to use two kinds of hash algorithm,
the first need to establish two hash tables in hardware that is hash table 1
and hash table 2, when the network card to capture the packet, the hash
calculation using two keywords, the hash value After the hash table were
found in two, if the table in any one of the two tables to find the hash value
and queue respondence, the capture of the packet is already connected, and
then the data packet is assigned to the appropriate queue. [11][17].

4.2 Least connection algorithm-


this algorithm checks the server which has the least number of connections
and then assign the task to that server and then increment connection by
one and if it completes the task its connection gets reduced by one. For
example suppose there is three server s1, s2, s3 which has 53, 52, 51
number of connections so if a request is sent by the client it. Server s3
which has the least number of connections will get the connection with the
client[12].
For example:-initially server1 has 2 connections, server2 has 3 connections
and server3 has 1 connections suppose a request comes.
– First it will go to server3 and connection will get increased by 1 to
become 2 and now new connections will be server1=2, server2=3,
server3=2,
– Second time if request comes it will go to server1 because both server1
and server2 have same connections so it will follow round robin
algorithm. And also its connections will become 3 now and new
connections will be server1=3, server2=3, server3=2.
– Third time if request comes it will go to server3 and new connections will
be server1=3, server2=3, server3=3.
– Now again if request comes it will follow round robin algorithm and will
go to server1 and new connections will be server1=4, server2=3,
server3=3.
– Again this time if new connections will come it will go to server2. And
this process will continue.
8 Analysis of Load
Balancing

Fig. 5. Least Connections algorithm

Fastest connection algorithm his algorithm works with application plus


TCP layer. The task is assigned to the server which has the least number of
requests. It only work with application and TCP layer because in a
connection to work on different sessions like flight booking site which
contains login page, transaction sections. It is not sure that the data reaching
the receiving device is in the same order as the sending side, because of the
problems in network or different paths packets flow to the destination. TCP is
responsible for keeping the unordered segments in the right order. TCP
assures a reliable delivery by resending any- thing that gets lost while
traveling the network.

Observed connection algorithm- this algorithm works based on CPU


utiliza- tion of the server. A server which has less CPU utilization will get a
connection. Example suppose there are three servers s1, s2, s3 and there
respective CPU uti- lizations are 61, 62, 63 percent than the s1 server will get
a connection and new CPU utilization will become 62, 62, 63 percent and
again if the new connection comes than either s1 or s2 will get a connection.[
P. K. Senyo, E. Addae, and R. Boateng]

Predictive algorithm this algorithm works on by checking response time


and a number of connections a particular server is having and based on that
it finds a suitable server to make a connection with the client.[15].

Dynamic ratio dynamic ratio algorithm works exactly like static ratio
algo- rithm except in case of static ratio we have to assign ratios to server
manually but in case of dynamic ratio f5 load balancer itself assigns weight
ratio dynam- ically based on current level of processing on servers. suppose
server1, 2, 3 has 2, 3, 3 ratios and if server1 gets high performance work
let’s say it is consuming
Analysis of load balancing and its algorithms in cloud 9
computing

Fig. 6. Priority group activation diagram

95 percent of CPU utilization than their new ratio could dynamically


change to become 8, 4,4 Dynamic ratio formula:-
(np)(mc((mt − mu)/mt)) + (np)(cc((ct − cu)/ct)) + (np)(dc((dt − du)/dt)) (1)
Where np=number of nodes in pool, mc=memory coefficient, mt=memory
thresh- old, mu=memory utilization, cc=CPU coefficient, ct=CPU
threshold, cu=CPU utilization, dc=disk coefficient, dt=disk threshold,
du=disk utilization. Sup- pose np=10, mc=1, mt=80, mu=70, cc=1.5,
ct=80, cu=0.189230, dc=2, dt=90, du=7.
Than the sampling returned by the monitor produces the following formula
val- ues:
1 0ˆ(1(80 - 70)/80)) + 10ˆ(1.5((80-0.189230)/80)) + 10ˆ(2((90-7)/90)).
The answers for each portion of the calculation include the following
values: 1.3 + 31.3 + 69.8 = 102.4
The system rounds the values to the nearest whole
number. For example:1 + 31 + 70 = 102.
Since the Dynamic Ratio weight can only be within the range of 1 to 100,
the Dynamic Ratio weight value is 100 for this node.

Priority group activation In this algorithm connection is given based


on priority given to group of server.in this scenario servers are distributed in
groups
10 Analysis of Load
Balancing
suppose there are two groups primary group and secondary group, primary
group has priority 2 and secondary group has priority 1 and each group is
having 3 servers so if a request comes it will go to primary group which is
having high priority and then will check server which is having less
number of utilization in that group so that less utilized server get
connection.
Here, we apply condition if one of server in the primary group is in the fall
back state that connection can be made by comparing with 2 servers of the
primary group with 3 servers of the secondary group. As shown in figure
4.

Fallback host It is also called fallback HTTP host. It works on the


HTTP request. Suppose all servers are down so to avoid message like
webpage not found, server not found, etc this algorithm is used so that to
acknowledge client. For example request like HTTP status codes ”302” comes
if the server is down to acknowledge that server is under maintenance and
currently cannot be accessed.

5 Comparative Analysis

Table 1. Algorithms comparison of load balancing


Metrics/ Fault Migration Resource Through Scalabi Power
Performance Nature
algorithms Tolerance time utilization -put -lity Saving
Round Is
Better Required Less Static Good Less Good
Robin Concer
n
Not Is
Min-Min Better Required Less Static Good Less
Good Concer
n
Not Is
Max-Min Better Required Less Static Good Less
Good Concer
n
Weighted Not Is
Best Good Less Static Good More
Ratio Good Concer
n
Least Not So Not Is
Best Good Less Dynami More
Connection c Good Good Concer
n
Priority Not That Not Is
Required Better Dynami Good Less
Group Good c Good Concer
n
Dynamic Not That Not Is
Good Less Dynami Good Less
Ratio Good c Good Concer
n

Based on comparison we can identify the algorithms efficiency when a


task will be assigned to it. In case of static algorithms Round robin has
fixed time slice and do better performance for short CPU bursts but larger
tasks takes more time for completion. In case of max-min algorithm it
works better as the requirements are known in prior but it takes long time
for task completion. On the other hand min-min algorithm it takes
smallest completion time gives best results for small tasks but one
demerit is Starvation While in dynamic
Analysis of load balancing and its algorithms in cloud 11
computing
algorithms. Main advantage of this is that selection of task is based on
current state and this will help to improve the performance of the system.If
we talk about priority group algorithm here resource utilization and
throughput works well but scalability, power saving and fault tolerance is
little concern.

6 CONCLUSION

Load balancing plays essential part in managing heavy traffic on server


and we have discussed some algorithms in both static and dynamic Static
algorithm works well when there is less number of traffic while if there is
heavy traffic than as per as algorithms concern dynamic algorithms work
well. It is essential to know which algorithms works well at particular task
so based on performance, efficiency, resource utilization and all other
factors it can be identified that for task given by user which algorithm
should be perfect but it is really required to make these algorithms more
better to make it more usable.

References

1. Abhineet Anand, A. S. (2017). Data Leakage Detection Using Cloud


Computing. International Journal of Engineering and Computer Science, 6(4).
1.
2. Arvindhan, M, and Abhineet Anand. 2019. “Scheming an Proficient Auto Scal-
ing Technique for Minimizing Response Time in Load Balancing on Amazon
AWS Cloud.” SSRN Electronic Journal.
3. Aslam, S, and M A Shah. 2015. “Load Balancing Algorithms in Cloud
Computing: A Survey of Modern Techniques.” In 2015 National Software
Engineering Conference (NSEC), , 30–35.
4. Mishra, Sambit Kumar, Bibhudatta Sahoo, and Priti ParamitaParida.
2018. “Load Balancing in Cloud Computing: A Big Picture.” Jour-
nal of King Saud University - Computer and Information Sciences.
http://www.sciencedirect.com/science/article/pii/S1319157817303361.
5. Phani, Kandi, Sai Sri Rohith, and AbhineetAnand. 2018. “Analytical Study of
Different Load Balancing Algorithms.” INTERNATIONAL JOURNAL OF
AD- VANCED STUDIES IN COMPUTER SCIENCE AND ENGINEERING
IJASCSE 7(1).
6. Sharma, Tanishk, AbhineetAnand, and PrabhaSreeraj Nair. 2017. “Using
Kiosks as Information-Delivery Channels to Apply for Schemes and Other
Government Ser- vices for Rural India.” International Journal Of Engineering
And Computer Science 6(6): 2319–7242.
7. Shoja, H, H Nahid, and R Azizi. 2014. “A Comparative Survey on Load
Balancing Algorithms in Cloud Computing.” In Fifth International Conference
on Computing, Communications and Networking Technologies (ICCCNT), , 1–
5.
8. Singh, Saurabh, AbhineetAnand, and Rajeev Tiwari.“Optimization of Data
Centers for Heat Management.”
9. Sreenivas, V, M Prathap, and M Kemal. 2014. “Load Balancing Techniques:
Ma- jor Challenge in Cloud Computing - a Systematic Review.” In 2014
International Conference on Electronics and Communication Systems (ICECS),
, 1–6.
12 Analysis of Load
Balancing
10. Thingom, C, G Kumar, and G Yeon. 2016. “An Analysis of Load Balancing
Algo- rithms in the Cloud Environment.” In 2016 International Conference on
Communi- cation and Electronics Systems (ICCES), 1–8.
11. Volkova, V N et al. 2018. “Load Balancing in Cloud Computing.” In 2018
IEEE Conference of Russian Young Researchers in Electrical and Electronic
Engineering (EIConRus), , 387–90.
12. Ying Zhang, Hesheng Wu. Comparison and Analysis of Hash Algorithms for
Multi- Process Load Balancing [J]. Computer engineering,2014,40(09):71-76.
13. Kirsch A, Mitzenmacher M. Less hashing, same performance: Building a
better Bloom filter[J]. Random Structures & Algorithms, 2008, 33(2):187–218.
14. Kai Li, Lin Ye, Kaizhan Yu, Yang Hu. Dynamic Load Balancing Method
Based on DPDK [J]. Smart computers and applications,2017,7(04):85-89+91.
15. B. Varghese and R. Buyya, ”Next generation cloud computing: New trends
and research directions,” Future Generation Computer Systems, vol. 79, pp.
849-861, 2018.
16. P. K. Senyo, E. Addae, and R. Boateng, ”Cloud computing research: A review
of research themes, frameworks, methods and future research directions,”
International Journal of Information Management, vol. 38, pp. 128-139, 2018.
17. M. Alhamad, ”State of the Art of Service-Level Agreements in Cloud
Computing,” Distributed Networks: Intelligence, Security, and Applications, p.
345, 2017.
18. S. Subashini and V. Kavitha, ”A survey on security issues in service Delivery
models of cloud computing,” Journal of network and computer applications,
vol. 34, pp. 1-11, 2011.
19. 18. W. D. Mulia, N. Sehgal, S. Sohoni, J. M. Acken, C. L.Stanberry, and D. J.
Fritz, ”Cloud workload characterization,”IETE Technical Review, vol. 30, pp.
382- 397, 2013.
20. 19. G. Aceto, A. Botta, W. De Donato, and A. Pescapè, ”Cloudmonitoring:
A survey,” Computer Networks, vol. 57, pp. 2093-2115, 2013.
21. L. Prieto-González, G. Tamm, and V. Stantchev, ”Governance of cloud
computing: semantic aspects and cloud service brokers,” International Journal
of Web and Grid Services, vol. 11, pp. 377-389, 2015.

You might also like