Content uploaded by Ahmad Alkhatib
Author content
All content in this area was uploaded by Ahmad Alkhatib on Aug 08, 2020
Content may be subject to copyright.
Load Balancing Techniques in Software-Defined
Cloud Computing: an overview
Ahmad AA AlKhatib
Computer Information Systems Department
Al Zaytoonah University of Jordan
Amman, Jordan
Ahmad.Alkhatib@zuj.edu.jo
Thaer Sawalha and Shadi AlZu’bi
Computer Information Systems Department
Al Zaytoonah University of Jordan
Amman, Jordan
sawalha1992@gmail.com,smalzubi@zuj.edu.jo
Abstract—With the expansion of the network and increasing
their users, as well as emerging new technologies, such as
cloud computing and big data, managing traditional networks
is difficult, where the VM load has increased as well as the
required task processing time. Therefore, it is necessary to
change the traditional network architecture. Lately, to address
this issue, a notion named software-defined network (SDN)
has been proposed, which makes network management more
conformable. Network resources limitations and requirements
fulfilment leads to the important need of load balancing that
helps in distributing traffic via several resources to improve
network resources efficiency and reliability. Many researchers
have worked previously on this task, proposing several algorithms
with advantages and disadvantages. This paper focuses on cloud
computing load balancing concepts, and represents benefits
and some weaknesses regarding to the selected load balancing
algorithms and investigates the metrics of their algorithms. In
addition, the important challenges of these algorithms have been
reviewed to provide future researchers with better load balancing
techniques.
Index Terms—Cloud computing, Load Balancing, Software-
Defined Network, Static Algorithms, Dynamic Algorithms
I. INTRODUCTION
In one embodiment, a method for load balancing in a
software-define networking (SDN) system includes, upon re-
ceiving a packet, determining whether a matching entry for
the packet in a server distribution table contains both a current
and new server selection. If the matching entry contains both,
it is determined whether there is a matching entry for the
packet in a transient flow table, where the transient flow table
maintains server selections when at least one of the plurality
of servers is reconfigured. Upon determining that there is no
matching entry for the packet in the transient flow table, the
method determines whether the packet is a first packet of a
traffic flow. If the packet is the first packet of a traffic flow,
the packet is forwarded according to the new server selection
of the matching entry in the server distribution table, and the
transient flow table is updated.
Load balancing is established based on the local information
of the network in the conventional network. Hence, it is not
very precise. However, SDN controllers have a global view of
the network and can produce more optimized load balances.
Although load balancing mechanisms are important in the
SDN, to the best of our knowledge, there exists no precise
and systematic review or survey on investigating these issues.
Hence, this paper reviews the load balancing mechanisms
which have been used in the SDN systematically
There is a growing interest in adopting cloud computing
around the world for services that have facilitated the use
of information technology. It provides many forms of use,
providing users with services that meet their needs. In a
technical sense, cloud computing embraces and improves the
benefits of some existing distributed computing technologies.
Network computing is a ”model of distributed computing that
uses geographically distant resources and thus enables users
to access computers and data and manage their accounts from
different places”. Other technology includes virtualization,
which conceals the physical properties of computing resources
to mask complexity when interacting Systems, applications or
end-users [1]–[4].
At first, cloud computing was, online business applications,
called application service provision (ASP), then the term
became more widely used as the company distributed their
services, where each service provider named after the services
provided to the customer [5], [6].
Cloud computing has generated many definitions since its
inception in late 2006. Mainly it can be described as a model
for enabling on-demand network access to a common set of
online configurable computing resources (such as network,
server, storage, applications, and services) [7]–[10].
HP defines cloud computing as “Everything as a Service”
[11], [12], while Microsoft perceives the value of cloud
computing as “Cloud and Client” [13], T-Systems define cloud
computing as “the renting of infrastructure and software, as
well as bandwidths, under defined service conditions. These
components should be able to be adjusted daily to the needs
of the customer and offered with the utmost availability and
security. In addition, Included in cloud computing are end-
2-end service level agreements (SLAs) and use-dependent
service invoices” [14].
Cloud computing can be divided into three models, namely:
SaaS (SOFTWARE–AS-A SERVICE) This model gives the
user a user interface, accessed by a browser or desktop applica-
tions. PaaS (PLATFORM-AS-A SERVICE) This model gives
the user an application development tools and programming
language execution environment. IaaS (INFRASTRUCTURE-
AS-A-SERVICE) The user is given virtual computerized re-
sources to manage them according to their needs. In addition
to classification according to the provided services [8], [15],
[16]. Figure 1 describes the Cloud Computing categories.
•Database as a Service (DaaS)
•Expert as a Service (EaaS)
•Storage as a Service (SaaS)
•Network as a Service (NaaS)
•Security as a Service (SECaaS)
•Communication as a Service (CaaS)
•Monitoring as a Service (Maas)
•Testing as a Service (TaaS)
Fig. 1. Cloud Computing categories
With the increasing popularity of cloud computing, the amount
of processing that is being done in the clouds is surging
drastically. A huge number of challenges facing the cloud
computing to fulfil the provided services requirement [16]:
•Load Balancing
•Performance analysis and modelling
•Throughput and response time
•Security and privacy
•Resource management
•QoS
The remaining of this paper is structured as follow: Section II
states the problem that we aimed to solve. The related literature
about Load balancing Classification is overviewed in section
III. Section IV outline some Static and dynamic load balancing
algorithms. And Finally, section V concludes the work and
present a table of comparisons for the recent researches in the
field.
II. LOA D BALANCING
The cloud consists of a set of nodes connected to each other,
where one of these nodes is chosen either randomly or based
on algorithm to meet user requests, the data can be different
and therefore the load varies on each node and every node
in a cloud can be unevenly loaded of tasks according to the
TABLE I
LOAD BALANCING IS SUE S
Graphical
Distribution
node
Data centers in clouds are geographically
distributed. On the contrary, distributed
nodes are treated as a single system without
considering many factors such as; Networking
delay, communication delay, distances between
nodes, users and resources.
Virtual
Machine
Migration
VM concept allows multiple VM on the same
Physical Machine. The different VM
configuration might lead to overload the
physical machine
Algorithm
Complexity
Load balancing algorithm must be simple and
short to make sure it is not affecting the cloud
efficiency
Heterogeneous
nodes
User requirements in this era are variable.
Heterogeneous nodes became essential to fit user
services requirement. The heterogeneity of the
nodes affects the load balancing decision
Single
point
of
Failure
Load Balancing algorithm normally performed
on a central node to allocate tasks. If the central
node fail the whole computing fail
Load
Balancer
Scalability
The response time of load balancing based on
computing power, storage, topology ,,etc
amount of work requested by the clients. Load balancing is
one of the prominent issues that forced its necessity on cloud
computing to distribute the load on the available resources in
order to reduce the response time.
Many challenges face the load balancing concepts, as there
are a different physical and logical issues might affect the used
technique. Table I summaries these issues [16]:
III. LOAD BALANCING TECHNIQUES CLASSIFICATION
Algorithms are Classified based on the current status of
the system into two categories [17]: i) static algorithms,
which algorithms that collect information about the system
and determine the resources available for use before starting.
Distributing the load on available VM until the end of the
work, which preferred to use when VM capabilities are equal
with each other. The second type is dynamic algorithms, Are
algorithms that are distinct from static algorithms through
flexibility, Where it works on Reschedule the tasks assigned
to them on the VM that are available while doing working.
Figure 2 illustrates General Structure of Load balancing in
Cloud Environment, while Figure 3 illustrates Load balancing
techniques classification.
Load Balancing algorithms evaluated by many parameters
and controlled by many policies. Below are some metrics and
policies.
Load Balancing Metrics:
•Performance
•Response time
•Throughput
•Scalability
•Fault Tolerance
•Migration Time
•Resource Usage
Fig. 2. General Structure of Load balancing in Cloud Environment [18]
Fig. 3. Load balancing techniques classification
•Degree of Imbalance
•Makespan
Load Balancing Policies:
•Selection Policy
•Location policy
•Transfer policy
•Information policy
IV. LOAD BALANCING COMMON ALGORITHMS
This part will outline some Static and dynamic load balanc-
ing algorithms with pros and cons for each algorithm:
A. Round Robin Algorithm
One of the simplest techniques used, After selecting the
available VMs, the data center unit randomly selects one of
these virtual machines to start working, It also Arranges orders
in a circular way. Then Each VM that receives a request is
moved to the end of the list [19].
However, this algorithm does not interact with the different
capabilities of the VMS as it distributes the tasks on the
VMS equally despite the different capabilities. Therefore,
this algorithm has been improved by applying Weight Round
Robin Algorithm as it gives weight for each VM based on
capabilities and the load is distributed according to its weight
(Figure 4) [20].
Fig. 4. Round Robin Load Balancer [18]
B. Throttled Load Balancer
In this algorithm, a table is created that contains the virtual
machines in addition to the current state (available - busy).
If a virtual machine is assigned to perform a specific task, a
request is sent to the control unit in the data center. The data
center will search of a best VM Suit their capabilities with
the task required [21]. Throttled Load Balancer is graphically
illustrated in Figure 5.
Fig. 5. Throttled Load Balancer
However, process of searching for the best virtual machines
from the beginning of the table every time, we have some VM
is not used, so (Domanal, Reddy, 2013) proposed Modified
Throttled Algorithm, This algorithm worked on modifying the
VM selection mechanism, When the next request arrives, the
VM at index next to already assigned VM is chosen depending
on the state of VM [22].
C. Ant Colony Optimization
Based this algorithm on ACO for better distribution of
workload among the nodes of a cloud. The Ant Colony
algorithm works in a way that it is inspired by the Ant concept
by inspecting for a new route if an obstacle is encountered and
assigning a new route between nodes [23].
The way the algorithm works is by starting of initializing the
table, data flow, and threshold level for nodes needed, while
the flow goes through the nodes, the algorithm checks the
node if it is under load, then it applies the maximum trailing
pheromone (TP) which addresses the path for the under loaded
node and update the table until the node reaches the threshold
limit. However, If the threshold is met, it applies the Foraging
Pheromone (FP) to explore new food sources and updates
the table until an under loaded node is reached, and then
it reassigns resources. This cycle continues until the process
completes.
D. Honey Bee Algorithm
The method of algorithm work was inspired by the behavior
of bees in the process of searching for honey, as its main goal
is to distribute the workload on the VM, taking into account
the lack of excessive use of resources and lack of under-use.
The function of this algorithm lies in the selection of a VM
that meets two basic requirements; The number of tasks that
are assigned to this VM is less than the number of tasks that
are handled in other VM machines, The time this VM takes
to process is within the average processing time of all other
VMs [24].
E. Active Monitoring Load Balancer (AMLB)
This technology keeps information about each VM and the
number of requests it is currently assigned on each VM. When
a new order arrives, it identifies the least loaded VM [21].
AMLB is graphically illustrated in Figure 6.
Fig. 6. Active Monitoring Load Balancer
F. Genetic Algorithm
The genetic algorithm was used to improve the load distribu-
tion in the cloud, where the algorithm begins to operate with
the initial population process, and the results are displayed
in a chromosome where each chromosome contains genes.
Then the fitness function is calculated for each chromosome,
then the best results are selected for use as parents, then work
begins with a crossover process, A portion of each parent is
taken to obtain a new child, then the process of improvement
for this child begins by using a mutation process, and the
process continues until we obtain the best results [25]. Figure
7 illustrates the general scheme of genetic algorithm.
G. First come first serve
The mechanism of operation of this algorithm is the distri-
bution of new tasks to resources with the lowest waiting time
(resources that have the fewest number of tasks) where the
Fig. 7. General scheme of genetic algorithm [26]
tasks are executed sequentially as the work begins from the
first task until its completion to start work in the next task
from the queue.
One of the determinants of using this algorithm is assigning
tasks to all virtual machines without paying attention to the
specifications of the available virtual machine, and not paying
attention to the time that the tasks in the queue will take when
distributing the new tasks [27].
H. Generalized Priority Algorithm
The mechanism of action of this algorithm is to give priority
to the tasks according to their size (Higher missions size take
higher priority), and the default machines are given priority
based on the power of the processor, then the appropriate
virtual machine is chosen for the priority of the required task
[27].
I. NBST Algorithm
Initially, this algorithm assumes that the number of instruc-
tions required for the tasks is on the waiting list and their
length is known, then it arranges all available virtual devices
according to their implementation speed MIPS (Million in-
structions per second) and arranging the cloudlets according
to their length.
Where this algorithm depends on dividing the number of
VM and cloudlets into two parts after arranging them in
descending order until access to the VM or cloudlets one at
most, then assigning the VM groups to the cloudlets groups
[28].
V. CONCLUSION AND FUTURE WORK
This work concerned with some algorithms that distribute
the load between the VM in a smart way, where the resources
are exploited with the highest efficiency, taking into account
the lack of excessive use of resources and do not idle the
VMs. Loud computing is a service over a network, where
load balancing issues are very critical in this area. overloaded
system will result in poor performance. Therefore smart load
balancing algorithm are required to keep the QoS in a good
rank. This paper overview the cloud computing concept and
reviewed the load balancing algorithm. Table II summarize a
comparison between the load balancing algorithms.
REFERENCES
[1] N. A. Sultan, “Reaching for the “cloud”: How smes can manage,” Inter-
national journal of information management, vol. 31, no. 3, pp. 272–278,
2011.
TABLE II
SUMMARY OF ALGORITHMS PROPE RTIE S
Algorithm Type Over head degree of
complexity Advantages limitations
Round
Robin Static No Simple One of the simplest
scheduling technique.
Do not react when the difference of
capacity VM.
Throttled Static No Medium
The data center searches for the best
VM that fits its capabilities with the
task required
Find the best virtual machines from
the beginning of the table each time
Ant Colony
Optimization Dynamic Yes High The style of living ants depends on the
transition from VM to another VM. Complex and load on the system unit.
Honey Bee Dynamic Yes High
it is chosen the best VM by comparing
the cost of executing a task on one VM
with the other available VMs.
The number of tasks being migrated
is high, thus reducing the speed of
completion of the work.
AMLB Static No Medium It identifies the least loaded VM
Genetic
Algorithm yes High Executed the cloudlets in less time
FCFS
Algorithm Dynamic Yes Simple Distribute tasks to all available VMs Not preventive
Generalized
Priority
Algorithm
Dynamic No Medium priority per task and priority per VM take more execution time
NBST
Algorithm yes Medium Distribute all task on all available VM take more time in an assign VMs
for cloudlets
[2] R. F. El-Gazzar, “A literature review on cloud computing adoption issues
in enterprises,” in International Working Conference on Transfer and
Diffusion of IT, pp. 214–242, Springer, 2014.
[3] S. AlZubi, M. S. Sharif, and M. Abbod, “Efficient implementation
and evaluation of wavelet packet for 3d medical image segmentation,”
in 2011 IEEE international symposium on medical measurements and
applications, pp. 619–622, IEEE, 2011.
[4] S. AlZu’bi, Y. Jararweh, H. Al-Zoubi, M. Elbes, T. Kanan, and B. Gupta,
“Multi-orientation geometric medical volumes segmentation using 3d
multiresolution analysis,” Multimedia Tools and Applications, pp. 1–26,
2018.
[5] A. Susarla, A. Barua, and A. B. Whinston, “Understanding the ‘ser-
vice’component of application service provision: an empirical analysis
of satisfaction with asp services,” in Information Systems Outsourcing,
pp. 481–521, Springer, 2006.
[6] S. Al Zu’bi, N. Islam, and M. Abbod, “3d multiresolution analysis
for reduced features segmentation of medical volumes using pca,” in
Circuits and Systems (APCCAS), 2010 IEEE Asia Pacific Conference
on, pp. 604–607, IEEE, 2010.
[7] G. Lu and W. H. Zeng, “Cloud computing survey,” in Applied Mechanics
and Materials, vol. 530, pp. 650–661, Trans Tech Publ, 2014.
[8] V. Paul, S. Pandita, and M. Randiva, “Cloud computing review,” 2018.
[9] A. Ahmad, T. Mohammad, and H. M. Almimi, “Distributed text-to-
image encryption algorithm,” International Journal of Computer Appli-
cations, vol. 106, no. 1, 2014.
[10] A. Abusukhon, M. N. Anwar, Z. Mohammad, and B. Alghannam, “A
hybrid network security algorithm based on diffie hellman and text-to-
image encryption algorithm,” Journal of Discrete Mathematical Sciences
and Cryptography, vol. 22, no. 1, pp. 65–81, 2019.
[11] S. Robison, “Everything-as-a-service: A blue sky view of the cloud,”
2009.
[12] S. AlZu’bi, B. Hawashin, M. Mujahed, Y. Jararweh, and B. B. Gupta,
“An efficient employment of internet of multimedia things in smart and
future agriculture,” Multimedia Tools and Applications, vol. 78, no. 20,
pp. 29581–29605, 2019.
[13] L. Xin and C. Song, “Cloud-based innovation of internet long tail,”
in 2011 International Conference on Product Innovation Management
(ICPIM 2011), pp. 603–607, IEEE, 2011.
[14] R. F. El-Gazzar, “A literature review on cloud computing adoption issues
in enterprises,” in International Working Conference on Transfer and
Diffusion of IT, pp. 214–242, Springer, 2014.
[15] S. AlZu’bi, S. Al-Qatawneh, and M. Alsmirat, “Transferable hmm
trained matrices for accelerating statistical segmentation time,” in 2018
Fifth International Conference on Social Networks Analysis, Manage-
ment and Security (SNAMS), pp. 172–176, IEEE, 2018.
[16] P. Kumar and R. Kumar, “Issues and challenges of load balancing
techniques in cloud computing: a survey,” ACM Computing Surveys
(CSUR), vol. 51, no. 6, pp. 1–35, 2019.
[17] K. Al Nuaimi, N. Mohamed, M. Al Nuaimi, and J. Al-Jaroodi, “A survey
of load balancing in cloud computing: Challenges and algorithms,” in
2012 Second Symposium on Network Cloud Computing and Applica-
tions, pp. 137–142, IEEE, 2012.
[18] R. Sajjan and B. R. Yashwantrao, “Load balancing and its algorithms in
cloud computing: A survey,” International Journal of Computer Sciences
and Engineering, vol. 5, no. 1, pp. 95–100, 2017.
[19] M. M. D. Shah, M. Kariyani, and M. Agrawal, “Allocation of virtual
machines in cloud computing using load balancing algorithm,” Inter-
national Journal of Computer Science and Information Technology &
Security (IJCSITS), vol. 3, no. 1, pp. 2249–9555, 2013.
[20] S. K. Upadhyay, A. Bhattacharya, S. Arya, and T. Singh, “Load
optimization in cloud computing using clustering: a survey,” Int. Res. J.
Eng. Technol, vol. 5, no. 4, pp. 2455–2459, 2018.
[21] J. James and B. Verma, “Efficient vm load balancing algorithm for
a cloud computing environment,” International Journal on Computer
Science and Engineering, vol. 4, no. 9, p. 1658, 2012.
[22] S. G. Domanal and G. R. M. Reddy, “Load balancing in cloud com-
putingusing modified throttled algorithm,” in 2013 IEEE International
Conference on Cloud Computing in Emerging Markets (CCEM), pp. 1–
5, IEEE, 2013.
[23] K. Nishant, P. Sharma, V. Krishna, C. Gupta, K. P. Singh, R. Rastogi,
et al., “Load balancing of nodes in cloud using ant colony optimization,”
in 2012 UKSim 14th International Conference on Computer Modelling
and Simulation, pp. 3–8, IEEE, 2012.
[24] W. Hashem, H. Nashaat, and R. Rizk, “Honey bee based load balancing
in cloud computing.,” KSII Transactions on Internet & Information
Systems, vol. 11, no. 12, 2017.
[25] M. Lagwal and N. Bhardwaj, “Load balancing in cloud computing
using genetic algorithm,” in 2017 International Conference on Intelligent
Computing and Control Systems (ICICCS), pp. 560–565, IEEE, 2017.
[26] G. Joshi and S. Verma, “Load balancing approach in cloud computing
using improvised genetic algorithm: a soft computing approach,” Int. J.
Comput. Appl, vol. 122, no. 9, pp. 24–28, 2015.
[27] D. Agarwal, S. Jain, et al., “Efficient optimal algorithm of task schedul-
ing in cloud computing environment,” arXiv preprint arXiv:1404.2076,
2014.
[28] S. Sidana, N. Tiwari, A. Gupta, and I. S. Kushwaha, “Nbst algorithm:
A load balancing algorithm in cloud computing,” in 2016 International
Conference on Computing, Communication and Automation (ICCCA),
pp. 1178–1181, IEEE, 2016.