A Decentralized Algorithm to Revisit the Debate of Centralization and
Decentralization Approaches for Cloud Scheduling
Cheikhou Thiam
1
, Georges Da Costa
2
and Jean-Marc Pierson
2
1
Universit
´
e de Thi
´
es, Thi
´
es, Senegal
2
IRIT, Toulouse Computer Science Institute, Toulouse University, France
Keywords:
Energy, Heuristic, Virtual Machines, Cloud federation, Migration.
Abstract:
In Cloud Computing, scheduling jobs is a major and difficult issue. The main objectives of cloud services
providers are the efficient use of their computing resources. Existing cloud management systems are mostly
based on centralized architectures and energy management mechanisms are suffering several limitations. To
address these limitations, our contribution is to design, implement, and evaluate a novel cloud management
system which provides a holistic energy-efficient VM management solution by integrating advanced VM man-
agement mechanisms such as underload mitigation, VM consolidation, and power management. In this paper,
we introduce a distributed task scheduling algorithm for Clouds that enables to schedule VMs cooperatively
and dynamically inside a federation of clouds. We evaluated our prototype through simulations, to compare
our decentralized approach with a centralized one. Our results showed that the proposed scheduler is very
reactive.
1 INTRODUCTION
Nowadays, most of the design and implementation
of energy-efficient cloud management systems are
mostly based on centralized architectures. To over-
come issues bottlenecks such as overloading, under
loading and impractical unique administrative man-
agement, which are normally led by conventional
centralized or hierarchical schemes, the distributed
scheduling scheme is emerging as a promising ap-
proach because of its capability with regards to scal-
ability and flexibility particularly for federation of
clouds. Energy management mechanisms are suffer-
ing several limitations. Many studies have been made
precisely to identify the parameters with the largest
impact on the total energy consumption (Khosravi
et al., 2017) (Tseng et al., 2017) and to distribute
dynamically the jobs (Brant et al., 2017) (Rouzaud-
Cornabas, 2010) (Yazir et al., 2010) (Hermenier et al.,
2010). In this paper, we introduce a distributed task
scheduling algorithm for Cloud that enables to sched-
ule and manage VMs cooperatively and dynamically
in federation clouds. Our contribution is also to de-
sign, implement, and evaluate a novel cloud man-
agement system which provides a holistic energy-
efficient point of view which avoids resource overpro-
visioning. Decentralized algorithms solve the main
shortcomings of centralized algorithms such as scala-
bility, fault tolerance and bottlenecks which can sig-
nificantly degrade performance, the adequacy of the
cloud computing environment and autonomy. In cen-
tralized scheduling, one cloud scheduler maintains a
complete control over the clusters. All the jobs are
submitted through the cloud scheduler. In contrast,
in decentralized scheduling, organizations maintain
(limited) control over their schedules. Jobs are sub-
mitted locally, but they can be migrated to another
cluster, if the local cluster is overloaded. The possi-
bilities of migration are, however, limited, so that mi-
grated jobs do not overload the network and the node
themselves. The aim of this article is to compare en-
ergy consumed by centralized algorithm and decen-
tralized algorithm. In this paper, we compare both
classes of scheduling algorithms, centralized and de-
centralized ones. This article is structured as follows
: Section 1 introduces the design principles. Sec-
tion 2 presents severel studies in the domain. Sec-
tion 3 presents the decentralized approach. Section
4 presents results, i.e. a comparison of a central-
ized algorithm (Energy aware clouds scheduling us-
ing anti load-balancing algorithm (EACAB)(Thiam
et al., 2014) named here Centralized) and the Decen-
tralized algorithms. Finally, Section 5 summarizes the
contribution and proposes future works.
Thiam, C., Da Costa, G. and Pierson, J.
A Decentralized Algorithm to Revisit the Debate of Centralization and Decentralization Approaches for Cloud Scheduling.
DOI: 10.5220/0006682901650172
In Proceedings of the 7th International Conference on Smart Cities and Green ICT Systems (SMARTGREENS 2018), pages 165-172
ISBN: 978-989-758-292-9
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
165
2 RELATED WORK
The decentralized meta-scheduling scheme allows
each cluster to own a meta-scheduler that receives
job submissions originated by local users, and to as-
sign such jobs to the local resource management sys-
tem, i.e., local scheduler. Besides the issue of ef-
ficiency and overhead, the Decentralized algorithm
scheme brings better scalability, compared to other
scheduling schemes. Distributed VM consolidation
algorithms enable the natural scaling of the system
when new nodes are added, which is essential for
large-scale Cloud providers (Pattanaik, 2016). An-
other benefit of distributing VM consolidation algo-
rithms is the improved fault tolerance by eliminating
single points of failure: even if a server or controller
node fails, it would not render the whole system in-
operable. The dynamic scheduling of a large num-
ber of VMs as part of a large distributed infrastruc-
ture is subject to important and hard scalability prob-
lems that become even worse when VM image trans-
fers have to be managed. Consequently, most cur-
rent algorithm schedule VMs statically using a cen-
tralized control strategy. An analysis of virtual infras-
tructure managers (VIMs) reveals that most of them
still schedule VMs in a static manner. Indeed, the
advanced solutions that promote the implementation
of dynamic VM scheduling (Khosravi et al., 2017)
are subject to strong limitations regarding scalabil-
ity, reactivity, and fault-tolerance aspects. The choice
of a single master node leads to several problems.
First, during the computation and the application of
a schedule, this manager does not enforce QoS prop-
erties anymore, and thus cannot react quickly to QoS
violations. Second, because the manipulation of VMs
is costly, the time needed to apply a new schedule is
particularly important: the longer the reconfiguration
process, the higher the risk that the schedule may be
outdated, due to the workload fluctuations, when it is
eventually applied. Finally, a single master node can
lead to well-known fault-tolerance issues or a node
can be overloaded; a subgroup of VMs may be tem-
porarily isolated from the master node in case of a
network disconnection; QoS properties may not be
ensured any more if the master node crashes. Some
nodes could be overloaded which increases the en-
ergy consumed. Even if a better design of the mas-
ter can help to separate each phase in order to resolve
some of these issues (a multi-threaded model, for in-
stance, can help to track workload changes so that a
scheduling process can be stopped if needed), a cen-
tralized approach will always be subject to scalabil-
ity, reactivity, and fault-tolerance issues. In this pa-
per, we investigate whether a more decentralized al-
gorithm approach can tackle the aforementioned lim-
itations. Indeed, scheduling takes less time if the work
is distributed among several nodes, and the failure
of a node does not impede scheduling strongly any
more. Several proposals have been made precisely
to distribute dynamic VM management (Yin et al.,
2016) (Yang et al., 2016) (Feller et al., 2010) (Yazir
et al., 2010). However, the resulting prototypes are
still partially centralized. Firstly, at least one node
has access to a global view of the system. Secondly,
several virtual infrastructure managers (VIMs) con-
sider all nodes for scheduling, which limits scalabil-
ity. Thirdly, several VIMs still rely on service nodes,
potential single points of failure. (Quesnel and L
`
ebre,
2011) introduces distributed VM scheduler (DVMS),
a VIM that schedules and manages VMs coopera-
tively and dynamically in distributed systems. Author
designed it to be nonpredictive and event-driven, to
work with partial views of the system, without any po-
tential single points of failure. Our VIM thus has the
same characteristics and is more reactive, more scal-
able, and more tolerant to nodes crashes or network
disconnections. Kang and Choo (Kang and Choo,
2016) introduced an Inter Cloud Manager (ICM) job
dispatching decentralized algorithm which operates
well in large scale environments. Authors in (Mehr-
sai et al., 2017) propose a hybrid algorithm which is a
coalition between both techniques (hybrid centralized
and decentralized). The proposed approach can effec-
tively adhere to strict QoS requirements, as well as
handle multi-core CPU architectures, heterogeneous
infrastructure and heterogeneous VMs.
3 A DECENTRALIZED TASK
SCHEDULING ALGORITHM
FOR CLOUD
The algorithm uses a multi-phase decentralized al-
gorithm scheduling solution. It is comprised of a
migration phase, a job submission phase responsi-
ble for job dissemination, as well as the dynamic
scheduling phase responsible for iterative scheduling
improvement. Furthermore, the decentralized algo-
rithm is a collection of implementation independent
interfaces and heuristics, which are used to facilitate
job scheduling across distributed nodes.
3.1 Algorithm Statements
There are in total N sites and in each site a set H
i
of
nH
i
nodes distributed in a cloud data center system
with the same start time U. H
i, j
is the node j in site
i. Each time when one node (initiator) attempts to
SMARTGREENS 2018 - 7th International Conference on Smart Cities and Green ICT Systems
166
(re)assign a task to another node (or the same node)
for execution, the initiator is called the requester node,
and the node receiving such a request is called the re-
sponder node. Each task V M
i, j,k
i [1,2,...,N] and
j [1,2,...,nH
i
] is sent from node H
i, j
. The decen-
tralized algorithm is comprised of two phases, namely
the job submission phase and the dynamic scheduling
phase, which work together to ensure both a quick job
distribution and an optimized rescheduling effect.
Job submission phase. This phase is the first phase
of the algorithm. Each time a node j, receives
a V M
i, j,k
submitted by its local user, node j be-
haves as a requester node H
req
i, j
and generates a
request message V M
req
i, j,k
for V M
i, j,k
. VM char-
acteristic information including estimated execu-
tion time D
i, j,k
and requested amount of Proces-
sor Elements (PEs) V M
pe
i, j,k
will be appended to
the generated request message. Afterwards, re-
quest message V M
req
i, j,k
is replicated and dissem-
inated to each of the discovered remote nodes
asking for the job delegation possibilities. All
nodes receiving the job delegation request mes-
sage V M
req
i, j,k
, including the requester node j itself,
are considered as responder nodes. Each respon-
der node H
rep
i
0
, j
0
needs to send an accept message
V M
ack
i, j,k
whether the node j’ is able and willing
to execute the received V M
i, j,k
. A V M
req
i, j,k
takes
various factors, such as the current state of the
node which allows it to execute the VM using
the most efficient amount of energy relative to
other nodes. If yes, each candidate, considered
as responder node, computes an estimated com-
pletion time according to its current scheduling,
mainly the energy consumed and resource status
and delivers the information by means of an ac-
cept message V M
ack
i, j,k
. In addition, the estimated
response time and the estimated energy consumed
if V M
i, j,k
is executed by node j’ in site i’ are also
appended to the generated accept message, which
can be utilized by the requester node for respon-
der node evaluation and selection. Each time a
request message V M
req
i, j,k
is generated by the re-
quester node and disseminated to contactable re-
mote nodes, the requester node waits and collects
all received VM
ack
i, j,k
, generates an assign message
V M
ass
i, j,k
and send it to a proper remote node H
ass
i
0
, j
0
(assignee node) to which the VM
i, j,k
is delegated.
An arbitrary node j in site i, due to the effect of
the job submission phase, has received a set of
jobs from either local users’ submissions or re-
mote nodes’ delegations. A rescheduling process
helps this approach to adapt to the changes of both
underlying resources and arriving jobs.
Dynamic scheduling phase. This phase solves
some problems related to the ever changing
data center infrastructure during VM submission
phase. It allows for example a redistribution al-
gorithm for a VM that is in a long tail and thus a
node can not be executed instantly. Suppose the
arbitrary node H
i, j
finds that many customers ap-
plications (VMs) wait to be served, such selected
customers will be sent to others nodes (reschedul-
ing) to improve their own VM makespans and the
overall resource utilization, therefore reducing the
energy consumed of the overall cloud data cen-
ter. The number of to-reschedule VMs is com-
puted by considering the status of node H
i, j
it-
self, such as the length of local waiting customers
and current node overhead. Afterwards, the al-
gorithm finds a set of contactable remote nodes
for VM rescheduling and re-allocation. H
i, j
sends
an inform message V M
in f o
i, j,k
for each to-schedule
V M
i, j,k
, and disseminates those inform messages
to all remote nodes discovered for negotiating VM
rescheduling possibilities. Each generated mes-
sage V M
in f o
i, j,k
, contains firstly the same informa-
tion as the aforementioned request message, in-
cluding estimated execution time D
i, j,k
, requested
amount of PEs V M
pe
i, j,k
, and job characteristic pro-
file. Furthermore, each inform message also in-
cludes the already made schedule for V M
i, j,k
, on
the current node H
i, j
, i.e., the estimated VM finish
time and the estimated energy consumed, which
will be used for offer comparison by the contacted
remote nodes later. It is noteworthy that the al-
gorithm can be triggered by customized events as
well depending on each node local setting. The
selection of the node that will receive the task is
the same as during the submission phase except
that the initiator is no longer a candidate node.
3.2 Scenario
Assuming that a cloud is comprised of interconnected
nodes H
i, j
, i [1,2,...,N] and j [1,2,...,nH
i
],
V M
i, j,k
is submitted to node H
i, j
. The Decentralized
algorithm then leads to the following phases and steps
for job assignment and dynamic scheduling. When a
new VM arrives there is a VM submission phase.
VM Submission Phase.
Step 1 : V M
i, j,k
is submitted to node H
req
i, j
to-
gether with its characteristic data.
Step 2 : The initiator node H
req
i, j
generates a
request message according to the retrieved ex-
ecution requirement from V M
i, j,k
, and broad-
casts such a message to the cloud by the em-
A Decentralized Algorithm to Revisit the Debate of Centralization and Decentralization Approaches for Cloud Scheduling
167
ployed lightweight decentralized algorithm in-
formation system.
Step 3 : The initiator node H
req
i, j
then waits for
some time to receive returned accept messages
from other nodes of the data center.
Step 4 : Nodes receiving the broadcast request
message check if the required VM profile can
be matched by the local resources.
Step 5 : If yes, each candidate node computes
an estimated VM response time according to its
current scheduling, their loads (load increases
while staying between the under-loaded thresh-
old and the over-loaded threshold) and resource
status, and sends the information back to the
initiator node H
req
i, j
by means of an accept mes-
sage.
Step 6 : The initiator node H
req
i, j
evaluates re-
ceived accept messages and selects the can-
didate node which fulfilled requirements and
minimize the energy consumption. The se-
lected node, referred to the assignee node, is
assigned the VM by means of an assign mes-
sage. A node H
ass
i
0
, j
0
is selected as the candidate
node for V M
i, j,k
delegation.
Regularly the system tries to schedule the waiting
VM.
Dynamic Scheduling Phase.
Step 7 : The assignee node H
ass
i
0
, j
0
takes the as-
signed V M
i, j,k
and puts it into its local list of
VMs.
Step 8 : The assignee node H
ass
i
0
, j
0
periodically
picks jobs from its local list of VMs, which
have a long enough waiting time and have not
been selected recently. Afterward, for each se-
lected VM, the assignee node H
ass
i
0
, j
0
generates an
inform message, which contains both VM es-
timated completion time and energy estimated
for VM execution. In our case, V M
i, j,k
is se-
lected with an assumed long waiting time.
Step 9 : The inform message of V M
i, j,k
is sent
over the network using a low-overhead walking
protocol (the walk starts at an initial node and at
each step selects randomly a minimum number
of neighbors).
Step 10 : Nodes receiving the aforementioned
inform message check if the local resource and
scheduling status could match the requirement
of V M
i, j,k
; furthermore, they also need to check
whether the estimated VM response time is
short enough when compared to V M
i, j,k
current
response time upon the assignee node H
ass
i
0
, j
0
.
Step 11 : If the evaluation result from above
step is positive, an accept message will be gen-
erated and delivered to the assignee node H
ass
i
0
, j
0
.
Step 12 : The assignee node H
ass
i
0
, j
0
evaluates
the received accept messages according to the
promised VM response time. As a result, node
H
reass
i
0
, j
0
is selected, and V M
i, j,k
is re-assigned
by means of an assign message.
Step 13 : To enable tracking of VMs for the
purpose of node crash tolerance, each VM re-
assignment is logged and notified to the initia-
tor node H
req
i, j
.
Step 14 : To enable node weighting for future
scheduling, VM completion status is sent back
to the original assignee node H
ass
i
0
, j
0
and initiator
node H
req
i, j
.
Regularly the scheduling restarts to optimize the
metrics.
Migration Phase. Two steps :
Step 1 : For a node H
i, j
, if c
i, j
> ε the node is
considered as being overloaded (with c
i, j
rep-
resenting the load of the node j in cluster i);
Node H
i, j
requires migration of one or more
of its VMs. The algorithm must determine
what part of the current load should be sent to
other nodes. The algorithm seeks, for all nodes
in all sites, one or more nodes, whose charge
γ < c
i
0
, j
0
< ε, which can receive the VM to mi-
grate. If such node is found, the execution of
the VM is stopped at the source node H
i, j
and
continues at the destinations node. If the decen-
tralized algorithm is to add one or more nodes,
the algorithm must determine what part of the
current load should be sent to the added nodes.
Obviously, the load to be migrated should come
from nodes undergoing excessive demand for
resources.
Step 2 : if c
i, j
< γ the node H
i, j
is considered
as being underloaded; Node H
i, j
requires mi-
gration of its VMs. The algorithm seeks, for
all nodes in all sites, one or more nodes whose
charge γ < c
i
0
, j
0
< ε which can receive the load
to migrate. If such nodes is found, the execu-
tion of all VMs is stopped at the source node
H
i, j
and continues at the destinations node.
3.3 Algorithms
Our Energy Efficient Decentralized Scheduling for
Cloud adopts the promised VM response time and the
node load as main criterions to evaluate the nodes’ ca-
pabilities. Participating nodes need to calculate their
SMARTGREENS 2018 - 7th International Conference on Smart Cities and Green ICT Systems
168
actual load and estimated response time for a con-
cerned VM and bid for the VM delegation using the
calculated and promised VM response time. Each re-
sponder node computes an estimated completion time
according to its current scheduling and resource sta-
tus, calculates the necessary energy, and delivers the
information by means of an accept message. In addi-
tion, the node load is also added to the generated mes-
sage, which can be utilized by the requester node for
responder node evaluation and selection. The selected
node is the best candidate node based on several pa-
rameters, such as the promised time to complete, en-
ergy consumed, the node load between under-load
threshold and over-load threshold, node weight due to
historical interaction records, etc. Furthermore, dur-
ing the execution of the VMs, all the time the system
checks if there are underloaded or overloaded nodes.
A self-healing is designed similar to the intelligent
feedback loop, and supports not only scheduling but
also re-scheduling activities. It enables Decentralized
algorithm with self-healing capabilities to allow VMs
that wait a long time in a node to be re-scheduled.
The dynamic scheduling phase, but also the possibil-
ity to switch off or switch on nodes, and especially
the cooperation between nodes help to maintain sys-
tem efficiency. These properties of Decentralized al-
gorithm constitute its self-healing system. Decen-
tralized algorithm provides task scheduling strategy,
which dynamically migrate VMs among computing
nodes, transferring VMs from underloaded nodes to
loaded but not overloaded nodes. It balances load of
computing nodes as far as possible in order to reduce
program running time. The Decentralized algorithm
behaves globally as follows:
If total VM load on the node j of site i > ε, node
is over-loaded. Let ε be the over-load threshold.
If total VM load on the node j of site i < γ, node is
under-loaded. Let γ be the under-load threshold.
The algorithm is described in Algorithm 4. For
the sake of simplicity, corner cases such as all nodes
over-loaded are not included. Selection policies take
into account migration cost. First the algorithm com-
putes the current load c
i, j
(line 6) of the host. Then it
calls the CheckLoad procedure (see Algorithm 3) that
will either migrate all VMs (if node is underloaded,
in order to switch H
i, j
off) or some VMs (if node
is overloaded, so that it becomes again in normal
mode). Then the algorithm checks if some VM are
still waiting for execution. If so, it selects the one
waiting for the longest period (see Algorithm 1) and
migrate it to the first host where it can enter, hosts
being sorted by their maximum power consumption
P
max
.
Algorithm 1 : Find VM with longest remaining waiting
time: FindVmWait.
Input: V M
i, j
// set of VM of node j of site i
Output: V M
i, j,k
// V M
i, j,k
in node j of site i
1: function FINDVMWAIT(x)
2: for V M
i, j,k
in V M
i, j
do
3: D = 0
4: if (D
W
i, j,k
> D) then // D
W
i, j,k
is the waiting
time of VM k in node j of site i
5: D= D
W
i, j,k
6: k’ = k
7: end if
8: end for
9: Return V M
i, j,k
0
10: end function
Algorithm 2: Find VM with longest remaining execution
time: FindVmExec.
Input: V M
i, j
//set of VM of node j of site i
Output: V M
i, j,k
// V M
i, j,k
in node j of site i
1: function FINDVMEXEC(V M
i, j
)
2: for V M
i, j,k
in V M
i, j
do
3: D = 0
4: if (D
Exec
i, j,k
> D) then // D
Exec
i, j,k
is the execu-
tion time of VM k in node j of site i
5: D= D
Exec
i, j,k
6: k’ = k
7: end if
8: end for
9: Return V M
i, j,k
0
10: end function
The procedure CheckLoad() (described in Algo-
rithm 3) is composed of two parts. In case of under-
load (line 4 to 10), it looks for potential destinations
for all present VMs. When many potential destina-
tions exist, the one with the minimum migration cost
is selected. In case of overload, the algorithm repeat-
edly looks for the VM with maximum remaining exe-
cution time (see Algorithm 2), and migrates this VM
to the first node that could host it (sorted by P
max
),
until the load is under the overload threshold ε. In
both cases, if no destination is found, the VM remains
where it is (and the node remains either underloaded
or overloaded).
3.4 Analysis of the Algorithm
The decentralized algorithm is inspired by the moti-
vation of enabling cloud scheduling for the scope of
the overall cloud, instead of each single node. In con-
trast to conventional cloud scheduling solutions, this
A Decentralized Algorithm to Revisit the Debate of Centralization and Decentralization Approaches for Cloud Scheduling
169
Algorithm 3: Migration of VM based on sorted nodes.
1: procedure CHECKLOAD(c
i, j
)
Input: H
i, j
// the host running this procedure
2: set Potential =
/
0
3: set H = {H
i
0
, j
0
/i
0
[1, 2, ..., N], j
0
[1,2,...,nH
i
],i
0
6= i, j
0
6= j}, sorted by P
max
4: if c
i, j
< γ then
5: for (H
i
0
, j
0
in H) do
6: if c
i, j
+ c
i
0
, j
0
< ε then
7: Add H
i
0
, j
0
to Potential
8: end if
9: end for
10: Migrate all VMs from H
i, j
to the node in
Potential with minimum migration cost
11: else
12: while (c
i, j
> ε) do
13: V M
i, j,k
= FindV MExec(V M
i, j
)
14: l
i, j,k
= V M
i, j,k
load
15: for (H
i
0
, j
0
in H) do
16: if c
i
0
, j
0
+ l
i, j,k
< ε then
17: Migrate V M
i, j,k
from H
i, j
to
H
i
0
, j
0
18: end if
19: end for
20: end while
21: end if
22: end procedure
Algorithm 4: Decentralized scheduling.
Input: H
i, j
// the host running this procedure
1: // P
min
, minimum power
2: // P
max
, maximum power
3: procedure DECENTRALIZEDSCHEDULING
4: for Regularly do
5: set H = {H
i
0
, j
0
/i
0
[1,2,...,N], j
0
[1,2,...,nH
i
],i
0
6= i, j
0
6= j}, sorted by P
max
6: Compute c
i, j
// it is the load of H
i, j
7: CheckLoad(c
i, j
)
8: if (notempty V M
wait
i, j
) then
9: V M
i, j,k
=FindVMWait(V M
wait
i, j
)
10: l
i, j,k
= V M
i, j,k
load
11: for H
i
0
, j
0
in H do
12: if (c
i
0
, j
0
+ l
i, j,k
) < ε then
13: Migrate V M
i, j,k
from H
i, j
to
H
i
0
, j
0
14: end if
15: end for
16: end if
17: end for
18: end procedure
algorithm is designed to deliver relevant scheduling
events, such as VM submission and scheduled in-
formation, to as many neighboring remote nodes as
possible. Moreover, the algorithm enables the pos-
sibility of dynamic rescheduling in order to adapt
to cloud data center characteristics such as instan-
taneity and volatility. Our decentralized algorithm
also uses consolidation in order to minimize energy
consumed. The algorithm is comprised of three
phases, namely the VM submission phase, dynamic
rescheduling phase and migration phase. The VM re-
sponse time and the energy are used as critical criteria
to evaluate the energy consumed, the performance of
scheduling and rescheduling. The decentralized algo-
rithm is able to work together with different kinds of
local scheduling algorithms.
4 RESULTS
We run the simulation using a Grid5000 workload and
measure the amount of energy consumed by the place-
ment and the average execution times for both algo-
rithms (i.e. centralized and Decentralized algorithm).
To derive the actual energy savings, the amount of en-
ergy spent for VM placement was estimated by the
formula defined below.
Nodes have two different power states : Switched on
and switched off. While switched on, power con-
sumption is linear in function of load between P
min
i, j
and P
max
i, j
.
We use the classical linear model of power con-
sumption in function of load :
i, j P
i, j
= P
min
i, j
+C
i, j
(P
max
i, j
-P
min
i, j
)
if node j is switched on, P
i, j
= 0 otherwise.
Therefore the total power consumption of the system
is:
P =
N
i=1
H
j=1
P
i, j
To obtain energy consumed during a time slice, in-
stantaneous power is integrated over time
R
t2
t1
P(t)dt.
Total energy is then obtained by summing all the en-
ergy of those time slices.
The final simulation results show the gain in en-
ergy and makespan does not depend on the numbers
of jobs but mostly of the distribution of jobs between
nodes. The final simulation results are depicted in ta-
ble 1. The gain in energy and makespan don’t depend
on the number of jobs but mostly of the distribution
of jobs between nodes.
Figure 1 demonstrates the number of migrations
incurred by 4500 jobs. An obvious observation is
that migrations are beneficial to save energy. The
second phase is the dynamic scheduling phase. If at
any time the tasks are finished and there are several
SMARTGREENS 2018 - 7th International Conference on Smart Cities and Green ICT Systems
170
Table 1: Simulation results (StDev= standard deviation).
Job Approach Makespan Makespan
gain
Makespan
StDev
Energy Energy
gain
energy
StDev
500
Cent 48770 6491 16358.5 10363419
Dec 48984 -0.44 5574 16252.9 0.65 10475850
1000
Cent 102089 40225 34473.4 56793603
Dec 100859 1.20 40676 31628.8 8.25 51366829
1500
Cent 117143 24348 45480.4 104549039
Dec 130734 -11.6 61778 47263.9 -3.9 118552002
2000
Cent 153386 51215 58819.5 154963019
Dec 143047 6.74 39176 63349.97 7.7 180703187
2500
Cent 143977 37093 56716.3 129407887
Dec 143541 0.3 36334 56108.85 1.07 116130251
3000
Cent 250457 237465 61635.4 167952610
Dec 211032 15.72 191168 56993.7 7.5 133578369
3500
Cent 235614 215901 63370.7 164512761
Dec 202696 13.97 162140 55093.6 13.06 130973378
4000
Cent 221526 192048 54071.2 116554623
Dec 233452 5.38 223754 60270.2 11.5 157261329
4500
Cent 241048 222470 57983.4 131320566
Dec 207189 14.05 173065 59478.3 2.57 175986327
machines under loaded, they can be consolidated.
This is not the case for algorithms which never calls
into question the allocation once the jobs are running.
The impact of migration, however, may not be large
enough to dominate the total energy gain when the
number of jobs is less than 300. We performed series
of tests, comparing Centralized and Decentralized
algorithm.
The Centralized algorithm (EACAB) (Thiam
et al., 2014) works by associating a credit value
with each node. The credit of a node depends on its
affinity to its jobs, its current workload and its com-
munication behavior. Energy savings are achieved
by continuous consolidation of VMs according to
current utilization of resources, virtual network
topologies established between VMs and thermal
state of computing nodes.
Generally, the Decentralized algorithm schedules
slightly worse in terms of makespan than the Central-
ized algorithm.
Figure 1: Centralized (Cent) vs Decentralized (Dec) algo-
rithms: Energy.
Typical results of experiments are presented in
Figures 1, 2, 3 and 4. In Figure 1 it is easy to notice
that energy consumed by the distributed algorithm is
comparable to centralized strategy for low number
of jobs. These poor results are caused by low num-
ber of migrations since majority of jobs can be exe-
Figure 2: Centralized (Cent) vs Decentralized (Dec) algo-
rithms: Migration.
Figure 3: Centralized (Cent) vs Decentralized (Dec) algo-
rithms: Maximum nodes switched on.
Figure 4: Centralized (Cent) vs Decentralized (Dec) algo-
rithms: Makespan.
cuted without exceeding their due dates. This situa-
tion changes for higher loads when number of migra-
tions is increased and the distributed algorithm out-
performs the centralized in some case. We achieved
similar results for centralized algorithm which use mi-
gration and anti load-balancing techniques. When
a cluster load is below the under-loaded threshold,
centralized and Decentralized algorithm are able to
migrate jobs to more-loaded clusters and switch off
under-loaded cluster. In this case, performance mea-
sures and energy depend strongly on the collabora-
tion of less-loaded clusters. When their cooperation is
too low the system as a whole starts to be inefficient,
although the performance of the less-loaded clusters
is not affected. Consequently, we consider that there
must be some minimal cooperation that results from
a cloud agreement. As in real systems the job stream
changes, this minimal cooperation can be also inter-
A Decentralized Algorithm to Revisit the Debate of Centralization and Decentralization Approaches for Cloud Scheduling
171
preted as an ”insurance” to imbalance the load. From
the experiments above, we can get the obvious con-
clusion that both the Centralized algorithm and De-
centralized algorithm can reduce energy consumed of
data centers. Figure 4 above shows the execution time
for all tasks and both schedulers. We can see that the
two algorithms have the same behavior.
5 CONCLUSIONS
We have compared the Decentralized algorithm to
Centralized algorithm EACAB over a range of real-
istic problem instances using simulation. The pro-
posed algorithm can compute allocations effectively
with an important energy gain. The simulation re-
sults showed that our algorithm is capable of obtain-
ing energy-efficient schedules using less optimiza-
tion time. Our experimental results have shown that:
(1) the Decentralized algorithm is capable of obtain-
ing energy-efficient schedules using less optimization
time; (2) Application performance is not impacted by
performing migration using under load and over load
thresholds; (3) The system scales well with increasing
number of resources thus making it suitable for man-
aging large-scale virtualized data centers; (4) The anti
load-balancing technique used by the two approaches
achieve substantial energy savings.
Finally we can get the obvious conclusion that both
Centralized and Decentralized algorithm algorithm
can reduce energy consumed of data centers. Com-
pared to centralized algorithms, decentralized algo-
rithms have a simplicity that makes them promising
in practice though for a verification more experiments
are required.
REFERENCES
Brant, C., Choudhary, S., Garrison, J., and McKay, M.
(2017). Distributed virtual machine image manage-
ment for cloud computing. US Patent 9,747,124.
Feller, E., Rilling, L., Morin, C., Lottiaux, R., and Lep-
rince, D. (2010). Snooze: a scalable, fault-tolerant and
distributed consolidation manager for large-scale clus-
ters. In Proceedings of the 2010 IEEE/ACM Int’l Con-
ference on Green Computing and Communications &
Int’l Conference on Cyber, Physical and Social Com-
puting, pages 125–132. IEEE Computer Society.
Hermenier, F., L
`
ebre, A., and Menaud, J.-M. (2010).
Cluster-wide context switch of virtualized jobs. In
Proceedings of the 19th ACM International Sympo-
sium on High Performance Distributed Computing,
pages 658–666. ACM.
Kang, B. and Choo, H. (2016). A cluster-based de-
centralized job dispatching for the large-scale cloud.
EURASIP Journal on Wireless Communications and
Networking, 2016(1):25.
Khosravi, A., Andrew, L. L., and Buyya, R. (2017). Dy-
namic vm placement method for minimizing energy
and carbon cost in geographically distributed cloud
data centers. IEEE Transactions on Sustainable Com-
puting, 2(2):183–196.
Mehrsai, A., Figueira, G., Santos, N., Amorim, P., and
Almada-Lobo, B. (2017). Decentralized vs. cen-
tralized sequencing in a complex job-shop schedul-
ing. In IFIP International Conference on Advances
in Production Management Systems, pages 467–474.
Springer.
Pattanaik, S. (2016). Efficient Energy Management in Cloud
Data center using VM Consolidation. PhD thesis.
Quesnel, F. and L
`
ebre, A. (2011). Cooperative dynamic
scheduling of virtual machines in distributed sys-
tems. In European Conference on Parallel Processing,
pages 457–466. Springer.
Rouzaud-Cornabas, J. (2010). A distributed and collabo-
rative dynamic load balancer for virtual machine. In
Euro-Par Workshops, pages 641–648. Springer.
Thiam, C., Da Costa, G., and Pierson, J.-M. (2014). Energy
aware clouds scheduling using anti-load balancing al-
gorithm: Eacab. In 3rd International Conference on
Smart Grids and Green IT Systems (SMARTGREENS
2014), pages pp–82.
Tseng, H.-W., Yang, T.-T., Yang, K.-C., and Chen, P.-S.
(2017). An energy efficient vm management scheme
with power-law characteristic in video streaming data
centers. IEEE Transactions on Parallel and Dis-
tributed Systems.
Yang, D., Deng, C., and Zhao, Z. (2016). Dynamic schedul-
ing method of virtual resources based on the pre-
diction model. In International Conference on Col-
laborative Computing: Networking, Applications and
Worksharing, pages 384–396. Springer.
Yazir, Y. O., Matthews, C., Farahbod, R., Neville, S., Gui-
touni, A., Ganti, S., and Coady, Y. (2010). Dynamic
resource allocation in computing clouds using dis-
tributed multiple criteria decision analysis. In Cloud
Computing (CLOUD), 2010 IEEE 3rd International
Conference on, pages 91–98. Ieee.
Yin, L., He, W., and Luo, J. (2016). Distributed virtual ma-
chine placement based on dependability in data cen-
ters. In Natural Computation, Fuzzy Systems and
Knowledge Discovery (ICNC-FSKD), 2016 12th In-
ternational Conference on, pages 2152–2158. IEEE.
SMARTGREENS 2018 - 7th International Conference on Smart Cities and Green ICT Systems
172