0% found this document useful (0 votes)
13 views14 pages

Load Balancing in Cloud Computing Environments Based On Adaptive Starvation

The document presents a new distributed load balancing algorithm for cloud computing environments called STLB (starvation threshold-based load balancing) that aims to balance load between servers while minimizing response time, maximizing server utilization, decreasing migration costs, and maintaining system stability. The performance of STLB is evaluated against an existing honey bee behavior-inspired load balancing algorithm (HBB-LB) through simulations. The results show that STLB provides significant performance gains over HBB-LB in terms of reducing response time and number of migrations.

Uploaded by

hesham elmasry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views14 pages

Load Balancing in Cloud Computing Environments Based On Adaptive Starvation

The document presents a new distributed load balancing algorithm for cloud computing environments called STLB (starvation threshold-based load balancing) that aims to balance load between servers while minimizing response time, maximizing server utilization, decreasing migration costs, and maintaining system stability. The performance of STLB is evaluated against an existing honey bee behavior-inspired load balancing algorithm (HBB-LB) through simulations. The results show that STLB provides significant performance gains over HBB-LB in terms of reducing response time and number of migrations.

Uploaded by

hesham elmasry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Received: 29 May 2019 Revised: 5 December 2019 Accepted: 5 December 2019

DOI: 10.1002/cpe.5652

RESEARCH ARTICLE

Load balancing in cloud computing environments based on


adaptive starvation threshold

Abderraziq Semmoud1 Mourad Hakem2 Badr Benmammar1 Jean-Claude Charr2

1 Faculty of Science, Department of Computer

Science, Abou Bakr Belkaid University, Summary


Tlemcen, Algeria
2 DISC Laboratory, Femto-ST Institute, UMR
Clouds provide to users on-demand access to large computing and storing resources and offer
CNRS, Université de Franche-Comté, over on premise IT infrastructures many advantages in terms of cost, flexibility, and availability.
Besançon, France However, this new paradigm still faces many challenges, and in this paper, we address the
load balancing problem. Even though many approaches have been proposed to balance the
Correspondence
Abderraziq Semmoud, Faculty of Science, load among the servers, most of them are too sensitive to the fluctuation in the clouds load
Department of Computer Science, Abou Bakr and produce unstable systems. In this paper, we propose a new distributed load balancing
Belkaid University, Tlemcen 13000, Algeria. algorithm, based on adaptive starvation threshold. It tries to balance the load between the
Email: [email protected]
servers while minimizing the response time of the cloud, maximizing the utilization rate of
the servers, decreasing the overall migration cost, and maintaining the stability of the system.
The performance of the proposed algorithm was compared to a well-known load balancing
algorithm, inspired from the honey bee behavior (HBB). The experimental results showed that
the application of the proposed load balancing algorithm gives considerable performance gains
and a significant reduction in number of migrations when compared to the performance of the
HBB algorithm.

KEYWORDS

cloud computing, distributed systems, load balancing, virtualization

1 INTRODUCTION

Cloud computing is a very promising technology which enables users on-demand network access to a shared set of computing and storing
resources. The Infrastructure as a Service (IaaS) is the lowest-level cloud service paradigm where the cloud provides shared hardware and
software to meet users' demands. In IaaS, a virtual machine (VM) is endowed with processing power, memory, and permanent storage to execute
its assigned tasks within a reasonable time.1 Since in a Cloud, VMs might be heterogeneous and the job arrival time is not predictable, an efficient
and user-transparent workload control of the VMs is essential to improve the overall performance of the cloud.
In this paper, it is assumed that tasks of random size arrive at random intervals and get randomly allocated to data centers. Therefore, the
heterogeneous VMs composing the cloud do not get the same load and an efficient load balancing algorithm must be applied to dynamically
balance the load between the VMs according to their capacities. It should also improve the total occupancy of the computing resources and thus
speed up the execution time of the user-submitted applications. Moreover, it should guarantee the good quality of service (QoS) of the cloud by
reducing its response time and ensuring its scalability and fault tolerance regardless of the heterogeneity of its VMs.
A typical load balancing algorithm includes the information, location, transfer, and selection policies.2,3 The information policy is responsible for
updating the load information and specifying how it should be collected. The location policy selects the appropriate resources for a job transfer.
The transfer policy uses the resources load information to decide when to perform load balancing and to determine when a node becomes
eligible to act as a sender or as a receiver. The selection policy selects the pending jobs that should be migrated from the overloaded resources
(sender) to the less loaded ones (receiver).
Load balancing schemes can be categorized as centralized, distributed, or hierarchical3 depending on where the load balancing decisions are
made. In a centralized approach, a central node has a global view of the system's state, and based on this information, it decides how to allocate
new jobs to underloaded nodes. The algorithms in this category have two major drawbacks: they are not scalable and the central node is a

Equally contributing authors.

Concurrency Computat Pract Exper. 2020;32:e5652. wileyonlinelibrary.com/journal/cpe © 2020 John Wiley & Sons, Ltd. 1 of 14
https://doi.org/10.1002/cpe.5652
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
2 of 14 SEMMOUD ET AL.

(A) (B)

(C) (D)
FIGURE 1 Load balancing after the arrival of new jobs. (A) Initial load distribution; (B) First load balancing; (C) The arrival of new workload;
(D) The second load balancing and the arrival of a new workload

single point of failure.4 In the distributed approach, all the nodes are involved in making load balancing decisions. Indeed, each node uses its
neighborhood information to make a suboptimal decision. The hierarchical (semidistributed) approach is a combination of the centralized and
distributed approaches. In this category, the nodes in the system are divided into clusters and for each cluster a cluster head is elected or
nominated. Each cluster head must equitably partition the loads between the nodes in the cluster.
Load balancing algorithms can also be classified into three types of strategies: sender-initiated, receiver-initiated, and symmetrically-initiated5
depending on the initiator of the algorithm. In the sender-initiated algorithms, the load balancing decisions are made by the overloaded
nodes (senders). This strategy consists on finding a recipient in the network that accepts the overload of the sender. In receiver-initiated
algorithms, the load balancing activity is initiated from an underloaded node (receiver) which attempts to get tasks from an overloaded one. The
symmetrically-initiated algorithm6 is a combination of the two previous approaches. It requires both senders and receivers to look for suitable
nodes to send/receive loads to/from.
In this paper, we present the starvation threshold–based load balancing (STLB) algorithm which is a distributed load balancing algorithm. Unlike
many methods7-9 that execute the load balancing algorithm even if all the nodes are busy, STLB does not start until at least one VM is close to
starvation which drastically reduces the number of migrations. In our study, to reduce the complexity of the proposed algorithm and the number
of exchanged messages, only the direct neighbors were considered for information gathering. Indeed, using an extended node's neighborhood
may lead to an additional overhead cost due to the management of nondirect neighbors that could participate in the load balancing process. The
global workload will be asynchronously and iteratively propagated between direct neighbors until reaching the global equilibrium in the system.
Figure 1 illustrates a basic load balancing algorithm that runs whenever a new job is submitted, which requires performing a lot of useless and
costly migrations.
The main contributions of this paper are the following.

1. The proposition of a new distributed and load balancing algorithm. Each VM only gathers information about its direct neighbors which adds
little overhead and does not affect the scalability of the algorithm.
2. The introduction of an adaptive threshold to evaluate the need for load balancing depending on the load state of each VM. This technique
considerably reduces the overall migration cost.
3. The use of a maximal independent set (MIS) to avoid the ping-pong phenomenon occurring when two VMs continually exchange loads
between each others without reaching an equilibrium.

The rest of this paper is organized as follows. Section 2 describes some related works on load balancing techniques for the cloud environment.
The system modeling and the problem formulation are given in Section 3. In Section 4, the proposed approach and the load balancing algorithm
are presented. A brief description of HBB-LB algorithm is presented in Section 5. Section 6 focuses on the setup of the simulation and the
experimental results. Finally, this paper ends with a summary of contributions and some future works.

2 RELATED WORKS

Load balancing in distributed systems has been widely studied over the last decades. Its main objectives are to minimize the idle times for the
computing nodes while maximizing their utilization and reduce the communication cost over the network. In this section, some recent works
on load balancing for cloud environments are highlighted. Hu et al10 have proposed a genetic algorithm for load balancing in cloud data centers
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 3 of 14

based on historical data and the current state of the system. This algorithm addresses the issues of load imbalance and migration cost. However,
a monitoring and management mechanism is still required for dynamic changes of VMs. In the work of Randles et al,11 three distributed solutions
for load balancing have been proposed. These approaches are inspired by Honeybee Foraging Behavior, Biased Random Sampling, and Active
Clustering. These algorithms have been developed for a cloud environment with heterogeneous nodes but have been simulated on a small-scale
system. In the work of Mondal et al,12 a soft computing–based load balancing approach, entitled Stochastic Hill Climbing, has been proposed.
It is used to provide the most appropriate VMs to the incoming workloads. The performance of the algorithm is analyzed both qualitatively
and quantitatively using CloudAnalyst and shows improvement in response time and resource utilization. In another work, Maguluri et al13
have proposed a stochastic model for load balancing in cloud computing clusters. They demonstrate that the throughput performance of the
well-known best fit approach is not optimal.
Mohamed et al7 have proposed a dynamic load balancing algorithm called Dual-Direction File Transfer Protocol (DDFTP). The proposed
scheme ensures load balancing among heterogeneous data servers with minimal overhead and utilizes the replicated files on distributed servers
to enhance large files download times. In the work of LD et al,8 a honey bee behavior–inspired load balancing (HBB-LB) algorithm is presented.
This algorithm aims to achieve well balanced load across VMs by reducing the processing time of all tasks in a VM and balances the priorities
of tasks on the machines to minimize the waiting time of the tasks. Experimental results show that the algorithm achieves good performances
in terms of throughput and response time when compared to other works in the literature. To tackle the load balancing problem in distributed
file systems in cloud, a distributed load rebalancing algorithm was proposed by Hsiao et al.14 The algorithm's performances are comparable
to the centralized algorithm in the Hadoop HDFS production system while improving the scalability. Wang et al9 have proposed an adaptive
load balancing and resource management algorithm. In this work, systems are monitored and analyzed to discover overloaded and underloaded
nodes. To balance the workload among those nodes, Split, Merge, and Pair algorithms are designed to control physical nodes while the resource
reallocate algorithm is provided to regulate VMs on the cloud. Experimental results show improvement in terms of resource utilization, response
time, and workload imbalances. Gutierrez-Garcia and Ramirez-Nafarrate15 have proposed a distributed technique for load management in clouds.
In this study, agents are running at different levels of hierarchy and collaborate to load balancing in a distributed manner while reducing energy
consumption costs. Agents are endowed with decision policies, a set of heuristics for selecting which VMs to migrate, where to migrate the VMs
and when to turn on or off the hosts. A novel load balancing heuristic is also proposed. It migrates the VMs causing the largest resource usage
imbalance from overloaded hosts to underloaded hosts in order to reduce as much as possible resource underutilization.
Naha and Othman16 have proposed three different cloud brokering algorithms, and a dynamic load balancing algorithm, named State-Based
Load Balancing (SBLB). Once the broker selects the data center for service deployment, the next VM load balancer distributes the loads
among VMs in a performance-aware manner to reduce overall processing and response times. Through simulations carried over different cloud
scenarios, it was shown that this approach is cost effective and results in higher performance compared with the service proximity–based
routing algorithm. Zhao et al17 have proposed a novel load balancing heuristic. This approach is based on the concept of Bayes' theorem and
clustering. It uses the posterior probabilities of optimal physical hosts computed using Bayes' theorem and remaining resource capacities to
choose physical hosts which can be used to successfully execute given tasks. Experiments results show that this approach has reduced the
failure number of task deployment events, improved the throughput, and optimized the external services performance of cloud data centers.
Babu and Samuel18 have also proposed a load balancing algorithm based on the foraging behavior of honey bee swarm where tasks removed
from overloaded VMs are treated as honeybees and underloaded VMs are the food sources. The proposed algorithm maintain QoS by taking
into consideration, the priority of tasks in the waiting queue of VMs in a manner where tasks with lowest priority has the highest probability
to be migrated from an overloaded VM to an underloaded VM. Yong et al19 have introduced a dynamic load balancing method for SDN-based
cloud data centers. The SDN technology improves the flexibility to the task scheduling, accomplishing real-time monitoring of the service node
flows and load conditions based on the OpenFlow protocol. When the load of the system is imbalanced, the controller deploys global network
resources.
Pham et al20 address the joint consolidation and service-aware load balancing problem to minimize the operation cost of cloud data centers.
They combine the Gibbs sampling method and the alternating direction method of multipliers (ADMM) method to balance the workloads in the
heterogeneous servers as well as the power consumption reduction. Toosi et al21 have designed a framework for reactive load balancing of web
application requests among geo-distributed sustainable data centers based on the availability of renewable energy sources on each site. It aims to
balance the workload and maximize the use of renewable energy using three main components: global load balancer, controller, and monitoring
agent. The experimental results show reduction in the cost of energy consumption and brown energy usage without a prior knowledge of
future workload, availability of renewable energy, and grid electricity prices. In a recent paper, Adhikari and Amgoth22 have proposed a new
load balancing algorithm for cloud computing referred as HBLBA. This algorithm consists of two phases: server configuration and task-VM
mapping. In the first phase, they configure the servers based on the number of tasks and their sizes to find suitable VMs for assignment. In the
task-VM mapping phase, an adapted queuing model is used in order to minimize the waiting time and completion time. Ebadifard and Babamir23
have proposed a static task scheduling method for non-preemptive and independent tasks in cloud computing based on the particle swarm
optimization (PSO) algorithm. In the work of Shao et al,24 a novel virtual node–based distributed load-balancing algorithm for range-queriable
cloud storage is proposed. In this work, physical nodes are partitioned into multiple virtual nodes and all the virtual nodes are organized with
range-queriable P2P network. Load balancing is performed between neighboring virtual nodes and among physical nodes with limited global
knowledge.
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
4 of 14 SEMMOUD ET AL.

3 SYSTEM MODELING AND PROBLEM FORMULATION

In this section, the notations and definitions, used to illustrate and describe the proposed algorithm, are presented. Afterward, the problem
formulation addressed by the STLB algorithm is detailed. Notations and their meanings are summarized in Table 1.
Let G = (VM, E) be the graph representing the mapping between the VMs. VM is the set of m VMs which should process n tasks represented
by the set T and each edge (VMi , VMj ) ∈ E represents a link between the ith and the jth VMs. Each VMi is provided with a set CRi of cores. The
computing power of VMi , in Millions of Instructions Per Second (MIPS), is denoted by Ci and given by


Ci = POWER(core), (1)
core∈CRi

which is the sum of the computing power of all the cores assigned to VMi .
Let DLij be the delay (one-way time) between VMi and VMj . It measures how long it takes for a bit of data to be transferred through the
network from VMi to VMj . The Round Trip Delay RTDij defines the time taken for a bit to reach VMj and return back to VMi . Let STi (t) be the set
of tasks assigned to VMi at time t and SZi (t) is the overall size of the tasks assigned to VMi at time t


SZi (t) = SIZE(task). (2)
task∈STi (t)

The load of VMi at time t is calculated as the overall size of the tasks assigned to VMi at time t divided by the computing power of VMi

SZi (t)
Li (t) = . (3)
Ci

The execution time of a task Tk at VMi is defined as follows:

SIZE(Tk )
ETik = . (4)
Ci

The completion time of a task Tk in VMi is denoted by CTik . The waiting time of the task Tk is defined according to its arrival time ATik at VMi and
the completion time of task Tk−1
{ }
WTik = Max CTi(k−1) , ATik − ATik . (5)

The response time of the system is the average amount of time elapsed between the submission of a task to the cloud and its completion

RT = Average{WTik + ETik }, i = 1, … , m, k = 1, … , ni . (6)

Makespan can be defined as the overall completion time of the tasks in the set T. It is calculated using the following function:

MS = Max{CTik }, i = 1, … , m, k = 1, … , ni , (7)

TABLE 1 Notations and their meanings Notation Definition


VM The set of virtual machines, VM = {VM1 , VM2 , … , VMm }
T The set of tasks, T = {T1 , T2 , … , Tn }
CRi the set of cores assigned to VMi
POWER(c) The computing power of core c
Ci The computing power of VMi
C The computing power of all VMs
DLij The delay (one-way time) between VMi and VMj
RTDij The time taken for a bit to reach VMj and return back to VMi
STi (t) Set of tasks assigned to VMi at time t
ni The number of tasks assigned to VMi
SIZE(Tk ) The size of task Tk in terms of MI unit
SZi (t) The overall size of the tasks assigned to VMi at time t
Li (t) The load of VMi at time t
L(t) The load of all VMs at time t
ETik The execution time of a task Tk at VMi
ETi The execution time of VMi
ET The execution time of all VMs
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 5 of 14

where ni is the number of tasks executed by VMi .


Let ACT be the average activity time of all VMs defined as

∑m
idlei
i=1
ACT = MS − , (8)
m

where idlei is the total idle time of VMi . The efficiency of all VMs is defined by

ACT
EF = . (9)
MS

The main objectives of a load balancing algorithm is to minimize the makespan MS and the response time RT and maximize the efficiency EF of
the cloud.

4 THE STLB FRAMEWORK

In this section, all the aspects of the proposed load balancing algorithm are detailed. At first, the STLB requires the calculation of the MIS of the
graph G and the initialization of the starvation threshold 𝛽 i (t0 ) for each VMi .

4.1 Maximal independent set


The MIS is used to avoid the ping-pong phenomenon occurring when two VMs continually exchange loads between each others. The objective,
here, is to make as few steps as possible toward the equilibrium, such that a potentially unsuitable load transfer decision has a lower impact on
the local equilibrium. Indeed, when we deal with load balancing in distributed systems, we may have situations where node's local equilibrium is
temporary jeopardized by concomitant load transfers leading to inefficient global performances of the load balancing process.
A subset S of VM in graph G = (VM, E) is said to be an independent set if

∀ VMi , VMj ∈ S, (VMi , VMj ) ∉ E.

S is an MIS if any VMi not in S has a neighbor in S. Figure 2 illustrates for the same graph three different MISs consisting of the filled circles.
In this work, the MIS of graph G is computed according to the distributed/asynchronous algorithm proposed by Bahi et al.25 The state i of a
VMi can have one of the following three values: dominant, wait, or dominated.
VMi is said independent if
i = dominant ∧ (∀VMj ∈ Ni ∶ j = dominated ∨ wait), where Ni is the set of VMi 's direct neighbors.
VMi is said dominated if
(i = dominated ∨ wait) ∧ (∃VMj ∈ Ni ∶ j = dominant).
Therefore, the MIS S is defined by
S = {VMi ∈ VM ∶ i = dominant}.
Let i be the set of dominant neighbors of VMi
∃VMj ∈ Ni such that j = dominant. (10)

Let ∗i be the set of dominant neighbors of VMi with lower Id than VMi

∃VMj ∈ Ni such that j = dominant ∧ i > j. (11)

Let i∗ be the set of wait neighbors of VMi with lower Id than VMi

∃VMj ∈ Ni such that j = wait ∧ i > j. (12)

Initially, all VMs states are at wait. The MIS algorithm gets started on one VM. Next, a recursive call for all nodes is performed until all node
states become dominant or dominated and the MIS is built.

FIGURE 2 Three maximal independent sets, represented by filled


circles, for the same graph
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
6 of 14 SEMMOUD ET AL.

4.2 Starvation threshold


As explained in the introduction, in any load balancing algorithm, a transfer policy must be defined to identify when to balance the loads and
between which VMs. A good transfer policy should limit the useless migrations, especially when all the VMs are busy. In this work, a local starvation
threshold is used to achieve this goal. Indeed, A VM can only demand tasks from its neighbors if its load is lower than its starvation threshold.
The initial threshold, 𝛽 i for VMi , is calculated as a function of the maximal round-trip delay between VMi and its neighbors, RTDmax
i
=
Max{RTDij , j ∈ Ni }, as well as the number of neighbors |Ni |
RTDmax
i
𝛽i (t0 ) = . (13)
|Ni |

In Equation (13), the starvation threshold is negatively correlated to |Ni | because, as |Ni | increases, the probability that VMi could find an
overloaded neighbor increases, so the starvation threshold must decrease. On the other hand, a VM with a long maximal round-trip delay should
have a higher starvation threshold because it may require more time to receive an additional load from its neighbors.
The starvation threshold 𝛽 i for each VMi is updated whenever it receives a new workload while taking into account its historical states. In
Equation (14), 𝛽 i is computed in function of the total idle time idlei and the number of served requests sreqi by VMi . A VMi is considered idle when
it does not have any load to execute and whenever a VMi sends a load to one of its neighbors, it increments the value of sreqi . A VMi with a high
value of sreqi means that this VM has received more load than its neighbors and it has a high probability of being overloaded shortly. Therefore,
its starvation threshold should be low. On the other hand, a VMi with a long total idle time, idlei , means that it takes a long time to get a load from
its neighbors and its starvation threshold must be high

( ( )2 )
RTDmax
i −
sreqi

𝛽i (t) = 1+e idlei +1


|Ni |
(14)
RTDmax
i
2 RTDmax
i
(14) ⇒ < 𝛽i (t) ≤ .
|Ni | |Ni |

4.3 The STLB algorithm


The STLB algorithm is executed simultaneously by all the VMs in the cloud and they asynchronously communicate with each other. Each VM
can balance its load regardless of the other VMs' behavior. Beside balancing the loads, the proposed algorithm also respects the priorities of the
queued tasks.
The basic idea behind this algorithm is that the load balancing process is not performed until it becomes needed. A VM decides to execute the
load balancing routine based on its own state, in particular, if it is underloaded. A VMi is considered as underloaded only if its load Li (t) is less or
equal to the starvation threshold 𝛽 i (t). In order to get a new load, the VM has to find out which of its neighbors has the biggest excess load which
can be denoted by
EXj (t) = Lj (t) − 𝛽j (t). (15)
The underloaded VM sends a status request message to all of its neighbors which return messages containing their current load, capacity, and
load excess. Then, it selects the neighbor VMj (VMj ∈ Ni ) having the highest load excess and satisfying the following conditions:

C1: VMj ∈ Ni | ∀VMk ∈ Ni ∶ EXj (t) ≥ EXk (t),


C2: Lj (t) ≥ 𝛽 j (t),
C3: if VMi ∉ S then VMj ∈ S.
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 7 of 14

If the load excess of VMj is nonzero, a request message is sent to this VM. Otherwise, if the VMi is dominant, this message is broadcasted to all
of VMi neighbors or if it is dominated to the dominant neighbor (refer to instructions 5-14 in the STLB algorithm). A request message received by
VMj is registered until it is served by the latter or if the source of this request sends a cancelation message.

The amount of load to be moved from the node VMj to one of its underloaded neighbors VMr at time t is denoted by LSjr (t). In order to evaluate
LSjr (t) a new weight LAj (t) is computed. Let VMRj be the set of VMs sending a request to VMj , and rqj the number of load requests received by
this VM (|VMRj | = rqj ). When VMj receives one or more requests (rqj > 0), it calculates the load average LAj (t) of all VMs in VMRj including VMj .
LAj (t) is defined as follows:

Lj (t) + k∈VMRj Lk (t)
LAj (t) = . (16)
rqj + 1

The amount of load LSjr (t) to be moved from the VMj to one of its underloaded neighbors VMr is denoted by

( )
EXj (t) × LAj (t) − Lr (t)
.
|LAj (t) − 𝛽j (t)| + ∑
LSjr (t) = (17)
| |
| | k∈VMRj |LAj (t) − Lk (t)|

After calculating the amount of load to be sent, the algorithm also takes into consideration the priorities of the tasks that have to be migrated
by ordering the tasks according to their priorities, as in 21st line of the STLB algorithm. The algorithm migrate the high priorities tasks to VMs
that do not already have high priority tasks, thus ensuring that the high priority tasks will be executed as soon as delivered to the underloaded
VMs. Therefore, when migrating loads from VMj to VMr , the algorithm selects a task Tk to migrate if its completion time in VMr is less than its
completion time in VMj (CTjk > CTrk ). The completion time CTrk is estimated based on the waiting time of task Tk at VMr and the execution time of
task Tk in this VM. Due to the latency introduced by the network, the delay between VMj and VMr is added to the previous parameters

CTrk = WTrk + ETrk + DLjr . (18)

While migrating load from VMj to VMr , the tasks with the highest priorities that verifies the following rule are chosen:

CTjk > WTrk + ETrk + DLjr . (19)


15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
8 of 14 SEMMOUD ET AL.

5 HBB-LB ALGORITHM DESCRIPTION

In order to evaluate the performance of the proposed algorithm, it has been compared to the recent HBB-LB load balancing algorithm presented
in the work of LD and Krishna.8 It is a new metaheuristic inspired by the intelligent foraging behavior of honey bee swarm. In essence, tasks are
represented as bees and the VMs are the food sources. In this metaphor, an overloaded VM is like a depleted food source where some of its tasks
should be migrated to less loaded VMs as the bees find new food sources. In this section, we briefly outline the main features of this algorithm.

5.1 The main steps of the HBB-LB algorithm


The algorithm first
√ of∑all checks if the load should be balanced, by measuring the workload of the VMs and computing the corresponding standard
1 m
deviation, 𝜎 = m i=1 (ETi − ET) . If the standard deviation of the VMs' loads (𝜎 ) is under or equal to a given threshold, then the system is
2

considered to be balanced. Otherwise, the system is in an imbalance state and the load balancing algorithm should be triggered. Since the system
is imbalanced, some VMs have significantly more or less load than the average load of all the VMs and are considered to be overloaded or
underloaded.
In an imbalanced system, the VMs are classified based on their load into three classes: Overloaded VMs, Underloaded VMs, and Balanced VMs.
For each overloaded VM, OVM, and underloaded VM, UVM, the supply OVMsup
i
(available load) and the demand UVMdem
i
(load requirement) are
respectively computed as follows:

Li
OVMsup
i
= − COVMmax
i
Ci
L
UVMdem
i
= CUVMmax
i
− i,
Ci

where COVMmax
i
is the maximum capacity of the OVMi , and CUVMmax
i
is the maximum capacity of the UVMi .
Then, the load balancing algorithm removes tasks from overloaded VMs and assign them to underloaded ones while taking into account the
supply and demand of each one of them. The loads of the previously overloaded and underloaded VMs are remeasured and if their new loads are
close to the average load of all the VMs, they are considered to have a balanced load and are moved to the Balanced VMs class. These operations
are repeated until the system is balanced.

5.2 Respecting tasks priorities


This algorithm also takes into consideration the tasks' priorities while migrating them. A task can have a high, middle, or low priority denoted by
Th , Tm , or Tl , respectively. When the algorithm has to migrate a task, it searches for a desired underloaded VM, DUVM which fulfills the following:

|UVM| ( )
T h → DUVM = min |T h ∈ UVMi |
i=0
|UVM| ( )
T m → DUVM = min |T h ∈ UVMi | + |T m ∈ UVMi |
i=0
|UVM|
T → DUVM = min (|T ∈ UVMi |) .
l
i=0

For example, when migrating a task with a high priority, the desired underloaded VM, DUVM, is the UVM with the lowest number of high
priority tasks.

6 PERFORMANCE EVALUATION

The proposed algorithm has been compared to a recent work8 of LD and Krishna. As our algorithm, it aims to balance the load across the VMs to
maximize the throughput of the cloud while minimizing the migration cost. It also takes into account the priorities of tasks on the machines while
balancing the load.
To evaluate the performance of the proposed load balancing algorithm, some experiments were conducted over CloudSim26 which is a cloud
simulator. The STLB algorithm was compared to the HBB-LB algorithm in terms of makespan, average idle time, average response time, and
the number of task migrations. Sixteen data centers located in different geographic regions were simulated. Every data center consisted of five
physical machines. It was also assumed that tasks randomly arrive at each data center with service times exponentially distributed. Twenty
different task distributions for each simulation configuration were generated. The physical machines and the VMs configurations of all scenarios
are stated in Table 2. To fairly compare our proposal to the HBB-LB algorithm, we have considered that all the VMs have one computing node and
all the submitted tasks require the same computing resources. Our model can be easily extended to the case of VMs with multicore architecture
and tasks with their required computing resources. The heterogeneity of the VMs and tasks was taken into account by using respectively different
computing power and sizes.
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 9 of 14

Parameter Values TABLE 2 Simulation parameters


Scenario 1 Length of tasks 8 × 104 MI
Total number of tasks 100-1200
Number of VMs 100
Core speed 1000 MIPS
Scenario 2 Length of tasks 104 −8 × 104 MI
Total number of tasks 100-1200
Number of VMs 100
Core speed 1000 MIPS
Scenario 3 Length of tasks 8 × 104 MI
Total number of tasks 100-1200
Number of VMs 100
Core speed 500-3000 MIPS
Scenario 4 Length of tasks 104 −8 × 104 MI
Total number of tasks 100-1200
Number of VMs 100
Core speed 500-3000 MIPS
Scenario 5 Length of tasks 8 × 104 MI
Total number of tasks 200-800
Number of VMs 10-100
Core speed 1000 MIPS

6.1 Simulation in homogeneous environment


The first set of results (Figures 3 and 4) are obtained from a homogeneous environment consisting of 100 VMs of identical capacities. The
simulations were conducted according to two scenarios.

1. All the tasks have the same length (8 × 104 MI).


2. The tasks are generated with random length between 104 MI and 8 × 104 MI.

(A) (B)

(C) (D)

FIGURE 3 Comparison of (A) makespan, (B) average idle time, (C) average response time, and (D) number of task migrations taken by the STLB
and HBB-LB algorithms while varying the number of tasks in cloud composed of 100 homogeneous VMs
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
10 of 14 SEMMOUD ET AL.

(A) (B)

(C) (D)

FIGURE 4 Comparison of (A) makespan, (B) average idle time, (C) average response time, and (D) number of task migrations taken by the STLB
and HBB-LB algorithms while varying the number of tasks in cloud composed of 100 homogeneous VMs

In the first scenario, Figure 3A shows that the makespan values increase along with the number of tasks. Since the tasks are deployed at
random on the VMs in the cloud, the ability of the cloud to handle tasks will gradually weaken when the load increases. In the proposed STLB
approach, the underloaded VMs ask for load from their neighbors to load balance the system. The makespan and the idle time are significantly
reduced by the proposed STLB algorithm when compared to the HBB-LB algorithm. Figures 3A and 3B show that the makespan and the idle time
have been reduced by 35% and 51%, respectively. As illustrated in Figure 3C, the average response time was slightly reduced in our proposed
algorithm. Figure 3D shows 86% improvement on number of migrations which is due to the starvation threshold that prevents the exchange of
loads when the VMs are busy.
In the second scenario, as the number of tasks increases, migrations between VMs will increase mainly for the HBB-LB approach that uses load
unbalance as the unique criterion for performing load balancing. While, in addition to the previous condition, the STLB algorithm balances the
load only if a VM is near starvation which reduces the number of migrations and the completion time. Figures 4A and 4B show that the makespan
and the idle time have been reduced by 29% and 41%, respectively. With the same algorithms, Figure 4C shows that the average response time
was slightly reduced. The number of task migrations was decreased by 76% as shown in Figure 4D.
Since the load of each VM is calculated in function of the size of the queued tasks, the STLB algorithm performs well with tasks of either same
or different length.

6.2 Simulation in heterogeneous environment


In this heterogeneous environment, 100 VMs were given random capacities between 500 MIPS and 3000 MIPS. Figure 5 shows the results
obtained with a set of identical tasks of length equal to 8 × 104 MI. Figures 5A, 5B, and 5C show 13%, 19%, and 10% improvement for the
makespan, average idle time, and average response time, respectively. The number of task migrations has been significantly reduced by 68%
as shown in Figure 5D. The experiments show that the proposed algorithm is well adapted to heterogeneous environments and there is little
difference in the performance of the STLB algorithm in a homogeneous and heterogeneous environment.
The results presented in Figure 6 were obtained using 100 VMs with random heterogeneous capacities (500-3000 MIPS) and different sets
of tasks with random sizes (104 MI - 8 × 104 MI). Figures 6A and 6B show a significant improvement in the makespan and the average idle time.
However, for some tasks distributions, especially for 100, 500, and 700 tasks, there was no significant difference. On average, there are 17% and
22% improvement in terms of makespan and average idle time, respectively, when compared with the HBB-LB. No significant improvement was
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 11 of 14

(A) (B)

(C) (D)

FIGURE 5 Comparison of (A) makespan, (B) average idle time, (C) average response time, and (D) number of task migrations vs number of tasks
for a set of 100 heterogeneous virtual machines and tasks with the same length

(A) (B)

(C) (D)

FIGURE 6 Comparison of (A) makespan, (B) average idle time, (C) average response time, and (D) number of task migrations vs number of tasks
for a set of 100 heterogeneous virtual machines and tasks with random length
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
12 of 14 SEMMOUD ET AL.

(A) (B)

(C) (D)

FIGURE 7 Comparison of the number of task migrations while varying the number of VMs. (A) 200 tasks; (B) 400 tasks; (C) 600 tasks; (D) 800 tasks

TABLE 3 Execution time in microsecond of STLB and HBB-LB algorithms Number of tasks STLB HBB-LB
200 694 1 210 000
400 676 1 694 000
600 815 2 423 000
800 926 4 485 000

found for average response time as shown in Figure 6C except for the experiments with 200, 300, 1100, and 1200 tasks. Figure 6D reveals that
the STLB algorithm reported significant less number of migrations. On average, the number of task migrations was decreased by 44%.
Figure 7 exposes the comparison between both algorithms in terms of number of task migrations while varying the number of VMs. Our
method gives a smaller total migration cost than the HBB-LB algorithm. 86%, 89%, 92% and 93% improvement were obtained by the proposed
STLB algorithm for 200, 400, 600 and 800 tasks, respectively.
Finally, some experiments were conducted to evaluate the performance of the proposed load balancing algorithm and compare it to the
HBB-LB algorithm. The HBB-LB approach uses a population-based metaheuristics. If a larger population is used, the algorithm may require more
computing power to find a good solution to the problem. The running times of STLB and HBB-LB, while varying the number of tasks from 200 to
800 tasks, are given in the Table 3. The experiments' results show that the STLB algorithm is considerably faster than HBB-LB, especially for a
large number of tasks. Therefore, while the HBB-LB algorithm is not scalable, our proposal is capable of balancing very large number of tasks in a
reasonable time because it minimizes the number of load balancing operations and reduces the overall execution time.

7 CONCLUSION

In this article, we have proposed a new load balancing technique for cloud computing environments. The proposed technique aims to minimize
makespan and VMs idle time while maintaining system stability. To achieve this objective, our algorithm limits tasks migration when the VMs load
is greater than an adaptive limit named starvation threshold. The threshold is updated regularly in order to take into consideration the idle time
and the number of served requests. This algorithm does not only balances the load, it also considers the tasks' priority level values to improve the
QoS of the cloud computing system. We have experimentally compared the STLB algorithm with a honey bee behavior inspired load balancing
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
SEMMOUD ET AL. 13 of 14

algorithm and showed that the proposed technique outperforms the HBB-LB algorithm in terms of average idle time, makespan, and number of
migrations. In our future works, we would like to evaluate the STLB algorithm in a real world cloud computing environment. Moreover, since
machine failure is inevitable in real distributed systems, a fault tolerant version of the STLB algorithm will be developed. The fault tolerant version
can use the checkpointing or the replication concepts to ensure the availability of resources even when faults occur. Finally, it will be interesting
to extend the proposed algorithm to the context of dependent tasks rather than dealing with independent ones as in this paper. We would then
need to tackle a difficult challenging trade-off between executing tasks in parallel and minimizing communication costs.

ORCID

Abderraziq Semmoud https://orcid.org/0000-0002-2836-8195


Jean-Claude Charr https://orcid.org/0000-0002-0807-4464

REFERENCES

1. Garg SK, Toosi AN, Gopalaiyengar SK, Buyya R. SLA-based virtual machine management for heterogeneous workloads in a cloud datacenter. J Netw
Comput Appl. 2014;45:108-120.
2. Shah R, Veeravalli B, Misra M. On the design of adaptive and decentralized load balancing algorithms with load estimation for computational grid
environments. IEEE Trans Parallel Distrib Syst. 2007;18(12):1675-1686.
3. Balasangameshwara J, Raju N. A hybrid policy for fault tolerant load balancing in grid computing environments. J Netw Comput Appl.
2012;35(1):412-422.
4. Xu M, Tian W, Buyya R. A survey on load balancing algorithms for virtual machines placement in cloud computing. Concurrency Computat Pract Exper.
2017;29(12):e4123.
5. Kumar N, Mishra N. Load balancing techniques: Need, objectives and major challenges in cloud computing-a systematic review. Int J Comput Appl.
2015;131(18):11-19.
6. Alam T, Raza Z. An adaptive threshold based hybrid load balancing scheme with sender and receiver initiated approach using random information
exchange. Concurrency Computat Pract Exper. 2016;28(9):2729-2746.
7. Mohamed N, Al-Jaroodi J, Eid A. A dual-direction technique for fast file downloads with dynamic load balancing in the cloud. J Netw Comput Appl.
2013;36(4):1116-1130.
8. LD DB, Krishna PV. Honey bee behavior inspired load balancing of tasks in cloud computing environments. Appl Soft Comput. 2013;13(5):2292-2303.
9. Wang Z, Chen H, Fu Y, Liu D, Ban Y. Workload balancing and adaptive resource management for the swift storage system on cloud. Future Gener
Comput Syst. 2015;51:120-131.
10. Hu J, Gu J, Sun G, Zhao T. A scheduling strategy on load balancing of virtual machine resources in cloud computing environment. Paper presented at:
2010 3rd International Symposium on Parallel Architectures, Algorithms and Programming; 2010; Dalian, China.
11. Randles M, Lamb D, Taleb-Bendiab A. A comparative study into distributed load balancing algorithms for cloud computing. Paper presented at: 2010
IEEE 24th International Conference on Advanced Information Networking and Applications Workshops; 2010; Perth, Australia.
12. Mondal B, Dasgupta K, Dutta P. Load balancing in cloud computing using stochastic hill climbing-a soft computing approach. Procedia Technology.
2012;4:783-789.
13. Maguluri ST, Srikant R, Ying L. Stochastic models of load balancing and scheduling in cloud computing clusters. In: 2012 Proceedings IEEE INFOCOM;
2012; Orlando, FL.
14. Hsiao H-C, Chung H-Y, Shen H, Chao Y-C. Load rebalancing for distributed file systems in clouds. IEEE Trans Parall Distrib Syst. 2013;24(5):951-962.
15. Gutierrez-Garcia JO, Ramirez-Nafarrate A. Collaborative agents for distributed load management in cloud data centers using live migration of virtual
machines. IEEE Trans Serv Comput. 2015;8(6):916-929.
16. Naha RK, Othman M. Cost-aware service brokering and performance sentient load balancing algorithms in the cloud. J Netw Comput Appl.
2016;75:47-57.
17. Zhao J, Yang K, Wei X, Ding Y, Hu L, Xu G. A heuristic clustering-based task deployment approach for load balancing using Bayes theorem in cloud
environment. IEEE Trans Parallel Distrib Syst. 2016;27(2):305-316.
18. Babu KRR, Samuel P. Enhanced bee colony algorithm for efficient load balancing and scheduling in cloud. In: Innovations in Bio-Inspired Computing and
Applications. Cham, Switzerland: Springer; 2016:67-78.
19. Yong W, Xiaoling T, Qian H, Yuwen K. A dynamic load balancing method of cloud-center based on SDN. China Communications. 2016;13(2):130-137.
20. Pham C, Tran NH, Do CT, Huh EN, Hong CS. Joint consolidation and service-aware load balancing for datacenters. IEEE Commun Lett.
2016;20(2):292-295.
21. Toosi AN, Qu C, de Assunção MD, Buyya R. Renewable-aware geographical load balancing of web applications for sustainable data centers. J Netw
Comput Appl. 2017;83:155-168.
22. Adhikari M, Amgoth T. Heuristic-based load-balancing algorithm for IaaS cloud. Future Gener Comput Syst. 2018;81:156-165.
23. Ebadifard F, Babamir SM. A PSO-based task scheduling algorithm improved using a load-balancing technique for the cloud computing environment.
Concurrency Computat Pract Exper. 2018;30(12):e4368.
24. Shao X, Jibiki M, Teranishi Y, Nishinaga N. An efficient load-balancing mechanism for heterogeneous range-queriable cloud storage. Future Gener
Comput Syst. 2018;78:920-930.
25. Bahi J, Haddad M, Hakem M, Kheddouci H. Stabilization and lifetime optimization in distributed sensor networks. Pape presented at: 2013 27th
International Conference on Advanced Information Networking and Applications Workshops; 2013; Barcelona, Spain.
15320634, 2020, 11, Downloaded from https://onlinelibrary.wiley.com/doi/10.1002/cpe.5652 by Egyptian National Sti. Network (Enstinet), Wiley Online Library on [17/11/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
14 of 14 SEMMOUD ET AL.

26. Calheiros RN, Ranjan R, Beloglazov A, De Rose CA, Buyya R. CloudSim: a toolkit for modeling and simulation of cloud computing environments and
evaluation of resource provisioning algorithms. Softw: Pract Exper. 2011;41(1):23-50.

How to cite this article: Semmoud A, Hakem M, Benmammar B, Charr J-C. Load balancing in cloud computing environments based
on adaptive starvation threshold. Concurrency Computat Pract Exper. 2020;32:e5652. https://doi.org/10.1002/cpe.5652

You might also like