Вы находитесь на странице: 1из 22

Cluster Comput

DOI 10.1007/s10586-015-0460-x

Agent-based load balancing in Cloud data centers


J. Octavio Gutierrez-Garcia1 · Adrian Ramirez-Nafarrate2

Received: 5 March 2014 / Revised: 31 January 2015 / Accepted: 14 May 2015


© Springer Science+Business Media New York 2015

Abstract Cloud data centers are generally composed of 1 Introduction


heterogeneous commodity servers hosting multiple virtual
machines (VMs) with potentially different specifications and A Cloud data center is a networked server farm generally
fluctuating resource usages. This may cause a resource usage composed of heterogeneous commodity hosts endowed with
imbalance within servers that may result in performance a wide variety of computing resources [26]. In Cloud data
degradation and violations to service level agreements. This centers, virtualization technology hides server heterogeneity,
work proposes a collaborative agent-based problem solving enables server consolidation, and increases server utiliza-
technique capable of balancing workloads across commodity, tion [14,39,41]. A virtualized host is capable of hosting
heterogeneous servers by making use of VM live migra- multiple virtual machines (VMs) with potentially different
tion. The agents are endowed with (i) migration heuristics resource specifications and different, time-varying workload
to determine which VMs should be migrated and their des- types [8]. Servers hosting heterogeneous VMs (each requir-
tination hosts, (ii) migration policies to decide when VMs ing different computing resources) whose workload may
should be migrated, (iii) VM acceptance policies to deter- vary unpredictably may cause a resource usage imbalance
mine which VMs should be hosted, and (iv) front-end load within hosts. This results in performance deterioration, and
balancing heuristics. The results show that agents, through as a consequence, violations to service level agreements.
autonomous and dynamic collaboration, can efficiently bal- Accumulated resource usage imbalance within hosts can be
ance loads in a distributed manner outperforming centralized caused by hosting VMs with unbalanced computing require-
approaches with a performance comparable to commercial ments and/or unbalanced workloads. For instance, a VM
solutions, namely Red Hat, while migrating fewer VMs. running a compute-intensive application with low memory
requirements (see [21]) may cause a CPU usage imbalance
Keywords Load balancing · Virtual machine live with respect to memory usage. Then, the mapping between
migration · Data centers · Cloud computing · VMs and hosts should take into account both (i) computing
Intelligent agents · Multiagent systems resource specifications, e.g., number of cores and memory
size, and (ii) time-varying workload. Live migration of VMs
[12] has emerged as a means to dynamically balance time-
B J. Octavio Gutierrez-Garcia varying workloads in virtualized Cloud data centers because
joseogg@gmail.com; octavio.gutierrez@itam.mx it enables VMs to be migrated from an (overloaded) host to
Adrian Ramirez-Nafarrate another host with near zero service downtime [45]. Neverthe-
adrian.ramirez@itam.mx less, whereas the mapping of VMs to hosts based on (static)
1
computing resource specifications can be performed when
Department of Computer Science, Instituto Tecnológico
a VM allocation request is received, the mapping based on
Autónomo de México, 1 Rio Hondo St., Progreso Tizapan,
01080 Mexico City, DF, Mexico the time-varying workload of VMs is a challenging task and
2 should be conducted dynamically. In fact, balancing work-
Department of Industrial & Operations Engineering,
Instituto Tecnológico Autónomo de México, 1 Rio Hondo St., loads across heterogeneous hosts by dynamically mapping
Progreso Tizapan, 01080 Mexico City, DF, Mexico VMs to a set of hosts is an NP-hard problem [19].

123
Cluster Comput

Previous load balancing mechanisms [1,6,32,46] have server manager agent, on the other hand, decisions about
disregarded that Cloud data centers are commonly composed selecting destination hosts are made collaboratively between
of highly heterogeneous hardware and that VM resource server manager agents that need to migrate VMs and server
usages may be highly volatile. In addition, load balancing manager agents willing to host VMs (based on a set of VM
mechanisms in Cloud data centers are commonly supported acceptance policies).
by centralized front-end entities that route requests to allo- The contributions of this work are as follows.
cate VMs to a set of hosts based on their current load, e.g.,
the Red Hat Enterprise Virtualization Suite [32]. However, (1) An agent-based load balancing architecture for Cloud
centralized load balancing mechanisms [32,43] rely on a sin- data centers capable of monitoring and balancing differ-
gle entity to monitor and balance loads across the entire data ent workload types in a distributed manner.
center, becoming a system bottleneck. Moreover, to take into (2) A cooperative agent-based protocol capable of dynam-
account different resource usage patterns within the Cloud ically balancing loads to cope with (i) continuously
data center, load balancing mechanisms supported by fore- evolving workloads, (ii) volatile resource usages of VMs,
casting models have been developed to distribute VMs across and (iii) irregular resource usage patterns of consumers.
a set of hosts [3,9,20,34,46,47]. However, Cloud data cen- (3) An agent-based load balancing mechanism composed of
ters are highly dynamic and unpredictable due to (i) irregular (i) migration heuristics to determine which VM should
resource usage patterns of consumers constantly requesting be migrated and its destination host, (ii) migration poli-
VM (de)allocations [19], (ii) fluctuating resource usages of cies to enable agents to establish preferences over when
VMs, and (iii) unstable rates of arrivals and departures of data VMs should be migrated, and (iii) VM acceptance poli-
center consumers. Furthermore, the performance of hosts cies to determine whether to participate in the bid for
when handling different load levels may vary greatly. hosting a given VM from a host facing either an over-
The inherent dynamicity of Cloud data centers accentu- load or a resource usage imbalance.
ates the need for the agent-based Cloud computing paradigm
[36] to automate Cloud resource management. As shown in The remaining sections of the paper are organized as fol-
[36], the agent-based Cloud computing paradigm has proved lows. Section 2 formalizes the load-balancing problem from
to be efficient and effective in managing Cloud resources a perspective of VM live migration. Section 3 describes
(see [17,18] for examples of agent-based Cloud comput- the agent-based Cloud architecture. Section 4 presents the
ing approaches). Agent-based Cloud computing consists of proposed agent-based load balancing mechanism. Section 5
designing, implementing, and exploiting agent-based prob- provides experimentation and analysis of results. Section 6
lem solving techniques to achieve complex objectives (e.g., presents a related work comparison, and Sect. 7 includes
load balancing) in continuously evolving Cloud-computing some concluding remarks and future research directions.
environments.
This paper proposes an agent-based Cloud load balancing 2 Problem statement
mechanism to cope with (i) continuously evolving work-
loads of Cloud data centers, (ii) fluctuating resource usages Consider a Cloud data center whose state is evaluated at
of VMs, and (iii) irregular resource usage patterns of con- discrete times t = 1, 2, . . . , T . These times can be evenly
sumers. The agent-based load balancing approach makes use distributed through the policy evaluation horizon T or based
of (i) live migration of VMs and (ii) the capabilities of agents on events (e.g., VM (de)allocations). The problem consists
to interact and cooperate among themselves to achieve a of finding a policy that balances workload across the hosts
design objective, e.g., load balancing, in a distributed manner. in a Cloud data center while minimizing the number of VM
In this work, agents are endowed with a novel agent-based migrations. The policy determines (i) when to migrate a VM
problem solving technique, the multi-agent protocol for load and (ii) where to migrate the VM to. Therefore, the problem
balancing, capable of balancing workloads across a set of can be represented using the following mathematical model:
commodity, heterogeneous hosts. In the multi-agent proto-
Indices
col for load balancing, roles are defined for three types of
agents: (i) front-end agents, (ii) server manager agents, and
i: index of VMs in the Cloud data center (i = 1, 2, . . . , n)
(iii) virtual machine agents, which dynamically cooperate
j: index of hosts in the Cloud data center ( j = 1, 2, . . . , m)
among themselves to balance different workload types (e.g.,
t: index of migration decision time points (t = 1, 2, . . . , T )
CPU and memory loads) by using migration policies, migra-
tion heuristics, and a set of load balancing heuristics. The Parameters
load balancing heuristics are distributed, i.e., on the one
hand, decisions about (i) when a VM should be migrated αi : Number of cores required by VMi
and (ii) which VM should be migrated are made by each αit% : Percentage of CPU usage of VMi at time t

123
Cluster Comput

βi : Number of gigabytes of memory required by VMi of VMs change dynamically over time, which increases the
βit% : Percentage of memory usage of VMi at time t complexity of the problem.
C jt : Available number of cores of host j at time t
M jt : Available memory (expressed in gigabytes) of host j
at time t 3 Agent-based load balancing architecture

Decision variable The agent-based architecture for load balancing (Fig. 1) is


 composed of virtual machine agents, server manager agents,
1 if VMi migrates to host j at time t and a front-end agent.
xi jt =
0 otherwise Virtual machine agents (VMAs) are in charge of (i) mon-
itoring VM resource usages, and (ii) sending monitoring
Objective functions reports containing the percentages of CPU usage and mem-
   ory usage to server manager agents (which manage hosts).
Min f T, αi , αit% , βi , βit% , xi jt , C jt , M jt (1) VMAs are designed to be deployed on VMs.
Server manager agents (SMAs) manage hosts and collab-
orate among themselves to evenly distribute loads across a

n 
m 
T
set of potentially heterogeneous hosts by using a distributed
Min xi jt (2)
problem solving technique, namely the multi-agent proto-
i=1 j=1 t=1
col for load balancing (see Sect. 4.5), which is supported by
Subject to VM live migration. SMAs trigger VM migrations based on
a set of server-centric migration policies (see Sect. 4.1), e.g.,

m
workload thresholds. In doing so, an SMA, deployed on a
xi jt ≤ 1 ∀i ∀t (3)
commodity host, can be configured by a data center adminis-
j=1
trator to trigger VM migrations whenever the performance of
the host deteriorates. SMAs are endowed with a set of migra-

n
tion heuristics to determine both (i) the destination host to
αi xi jt ≤ C jt ∀ j∀t (4)
i=1
which the VM can be migrated (Sect. 4.5) and (ii) the VM
to be migrated (Sect. 4.3). In addition, SMAs are provided

n
with VM acceptance policies (Sect. 4.2) to determine which
βi xi jt ≤ M jt ∀ j∀t (5) VMs (in the process of being migrated by other SMA) can
i=1
be hosted, e.g., an SMA with a current heavy CPU workload
cannot host a CPU-intensive VM, but it may host a memory-
xi jt ∈ {0, 1} (6)
intensive VM. Whenever an SMA is unable to migrate a VM
Equation (1) represents the objective of minimizing a mea- by collaborating with other SMAs (due to their VM accep-
sure related to the imbalance of resource usage calculated as tance policies), the SMA sends a call for assistance to the
the standard deviation of resource usages across hosts in a front-end agent to ask for a suggestion regarding where to
Cloud data center, which depends on the resource require- migrate a given VM, see Sect. 4.5 for details. SMAs are also
ments and resources usages of all the VMs and their current in charge of (i) allocating VMs in response to VM allocations
locations. Eq. (2) represents the objective of minimizing the received from the front-end agent, (ii) instantiating VMAs
total number of migrations during the policy evaluation hori- that monitor resource usages of VMs on hosts, (iii) monitor-
zon. ing resource usages of hosts by summarizing the monitoring
Constraint set in Eq. (3) implies that a VM can be migrated reports received from the VMAs, and (iv) replying to requests
only to one host or not being migrated at all. Constraint sets from the front-end agent about the overall resource usages of
in Eqs. (4) and (5) implies that a VM can be migrated only to hosts. SMAs are designed to be deployed on hosts in Cloud
a server with sufficient cores and memory to host it, respec- data centers, one SMA per host.
tively. Finally, constraint set in Eq. (6) represents the binary The front-end agent (FA) is in charge of routing VM allo-
nature of the decision variable. cation requests (from Cloud data center consumers) to SMAs
Even in a small Cloud data center, this problem may based on a set of load balancing heuristics (Sect. 4.4). When-
become intractable because of the large number of decision ever a VM allocation request arrives, the FA samples current
variables, constraints, and non-linearity of the first objec- resource usages of hosts by broadcasting a resource informa-
tive function (Eq. 1). The mathematical model is similar to tion request to SMAs to determine the best server (according
the two-dimensional bin-packing problem [4], an NP-hard to a load balancing heuristic) to host the VM. In addition,
problem [13], with the difference that the resource usages whenever overloaded SMAs are unable to find a destination

123
Cluster Comput

Fig. 1 Agent-based load balancing architecture

host (due to their VM acceptance policies), by request of the (4) A set of load balancing heuristics of the FA to select the
overloaded SMAs, the FA suggests an SMA that can host the initial hosts of VMs (Sect. 4.4).
VM. If no host has sufficient computing resources, the FA (5) A distributed problem solving technique to evenly dis-
suggests keeping the VM (see Sect. 4.5). The FA is designed tribute loads across a set of hosts in a collaborative
to be deployed on front-end servers of Cloud data centers. manner (Sect. 4.5).

4 Agent-based load balancing 4.1 VM migration policies

The agent-based load balancing mechanism is supported by: A VM migration policy indicates when to trigger a VM
migration from one SMA to another SMA. A VM migration
(1) VM migration policies to enable SMAs to establish pref- policy consists of a migration threshold and an activation
erences over when VMs should be migrated to other threshold.
SMAs (Sect. 4.1). A migration threshold indicates the resource usage level
(2) VM acceptance policies to enable SMAs to establish at which a host degrades its performance. Then, VM migra-
preferences over which VMs should be hosted/accepted tion thresholds are used by SMAs to trigger VM migrations
from other (overloaded) SMAs (Sect. 4.2). whenever a certain level of resource usage is reached by
(3) VM migration heuristics to enable SMAs to select VMs their corresponding hosts on which SMAs are deployed on.
to be migrated when the SMAs are overloaded (Sect. SMAs are provided with both CPU-based and memory-based
4.3). migration thresholds. SMAs can enable either migration

123
Cluster Comput

threshold or both of them simultaneously. In addition, if load. For instance, an SMA managing a CPU-intensive host
both migration thresholds are enabled, SMAs can be con- may consolidate VMs running compute-intensive applica-
figured to trigger VM migrations when either any migration tions with low memory requirements (e.g., applications for
threshold is violated or when both migration thresholds texture sampling [21]) by setting the VM acceptance poli-
are violated simultaneously. If only one migration thresh- cies with a memory resource level below a certain level, e.g.,
old, either the CPU-based or the memory-based migration 30 %, and a CPU usage level above a certain level, e.g., 60 %,
threshold, is enabled, a VM migration will be triggered when- i.e., the SMA would only accept VMs with a low memory
ever either the CPU-based or the memory-based migration usage and a high CPU usage.
threshold is violated, respectively. Configuring SMAs to trig- The resource usage level of a VM acceptance policy indi-
ger VM migrations according to either a single migration cates the resource usage profile of the VMs that should be
threshold or both migration thresholds should be based on accepted by a given SMA according to the profile of its host,
the specific characteristics of the hosts where SMAs are e.g., a CPU-intensive server may be better suited to host
deployed on. For instance, the performance of a commod- VMs running compute-intensive applications. In this work,
ity host may considerably deteriorate only when the CPU a data center administrator should determine the resource
usage is relatively high; as a consequence, its SMA may be usage levels of the VM acceptance policies of hosts. How-
configured to migrate VMs using the CPU-based migration ever, dynamic profiling of hosts (like in [33]) can be used
threshold. to automatically determine the resource usage level of VM
An activation threshold prevents SMAs from migrating acceptance policies, i.e., what type of VMs with respect to
VMs unnecessarily in the presence of abrupt but short-lived resource usage should be hosted in a given physical server.
resource usage peaks. The activation threshold indicates the Nevertheless, profiling hardware infrastructure of a Cloud
maximum number of accumulated times (based on the mon- data center is out of the scope of this paper.
itoring rate of hosts) that resource usages can be above the
migration thresholds before attempting to migrate VMs as in 4.3 VM migration heuristics
[32].
Both the migration threshold and the activation thresh- A VM migration heuristic guides (overloaded) SMAs to
old are decided by a data center administrator based on the select VMs to be migrated to other (underloaded) SMAs by
computing capabilities of each host as in Red Hat [31]. For ranking VMs based on their resource usages. An SMA makes
instance, a CPU-intensive host may be configured with a rel- use of its migration heuristics whenever VM migration poli-
atively high threshold on CPU usage, while a commodity cies (Sect. 4.1) are violated, i.e., when both the migration
host may be configured with a relatively low threshold on threshold and the activation threshold are violated.
CPU usage. SMAs are provided with a set of nine migration heuristics
that make use of information from CPU and memory usages
4.2 VM acceptance policies to rank VMs. The VM with the highest rank (according to
the migration heuristic) is selected for migration. The set of
A VM acceptance policy indicates which VMs (based on nine VM migration heuristics are as follows:
their resource usages) should be accepted from other over-
loaded SMAs in the process of conducting collaborative load {κ:CPU-μ:MEM} ∪ {κ:CPU} ∪ {μ:MEM} ∪ {R}
balancing among SMAs by using VM live migration.
A VM acceptance policy consists of (i) a resource usage where CPU indicates that the migration heuristic takes into
level, (ii) an associated resource usage type either CPU or account the ranking of CPU usage, MEM indicates that the
memory, and (iii) a category either above or below a certain migration heuristic takes into account the ranking of memory
resource usage level. The resource usage level indicates the usage, R indicates that VMs are randomly selected, κ and
maximum (when the category of the VM acceptance pol- μ ∈ {H, L} and define whether the VM with the highest
icy is below) or the minimum (when the category of the (H) or the lowest (L) CPU usage and memory usage receives
VM acceptance policy is above) resource usage level that the highest weight for migration, respectively. For instance,
a VM may have in order be hosted in a host managed by an SMA adopting an L:CPU-H:MEM migration heuristic
an SMA. Then, VM acceptance policies are used by SMAs selects the VM with a combination of the lowest ranking of
(during the execution of the multi-agent protocol for load CPU usage and the highest ranking of memory usage.
balancing) to determine whether to bid for hosting a given An SMA adopting a κ:C PU -μ:MEM migration heuristic
VM, see Sect. 4.5 for details. SMAs are provided with both selects the VM to be migrated based on the algorithm shown
CPU-based and memory-based VM acceptance thresholds. in Fig. 2. In this algorithm, the SMA sorts VMs based on CPU
By using independent VM acceptance thresholds, SMAs can usage in ascending or descending order (line 1), as indicated
be configured to consolidate or avoid either CPU or memory by parameter κ, and assigns them a weight according to their

123
Cluster Comput

Fig. 2 Selection of VMs for migration

CPU rank order (line 2). Then, the SMA sorts VMs again, but 4.4 Load balancing heuristics of FAs
this time based on memory usage in ascending or descend-
ing order (line 3), as indicated by parameter μ, and assigns A total of four commonly used load balancing heuristics [7,
them a weight according to their memory rank order (line 24,40,49] were implement into FAs to determine the initial
4). Afterwards, the SMA sums both CPU and memory rank destination hosts of newly arrived VMs:
orders (line 5) and selects the VM with the highest overall
rank order (line 6). (1) Round-robin heuristic consisting of allocating newly
An SMA adopting a VM migration heuristic based on the arrived VMs evenly across a pool of hosts by assigning
usage of a single resource either κ:CPU or μ:MEM uses a each VM to the next available host of the pool. See [49]
reduced version of the algorithm shown in Fig. 2. In order for an example of a round-robin load balancing heuristic.
to select a VM based on κ:CPU, the SMA sorts VMs based (2) Greedy heuristic consisting of allocating newly arrived
on CPU usage in ascending or descending order (line 1), as VMs to the host with the smallest sum of percentage of
indicated by parameter κ, and assigns them a weight accord- CPU usage and percentage of memory usage. See [7] for
ing to their CPU rank order (line 2). Then, the SMA selects an example of a greedy load balancing heuristic.
the VM with the highest value of CPU Rank Or der . In a similar (3) First-fit heuristic consisting of allocating a newly arrived
manner, in order to select a VM based on μ:MEM, the SMA VM to the first host of the pool with sufficient available
sorts VMs based on memory usage in ascending or descend- resources to meet the VM’s requirements. See [24] for
ing order (line 3), as indicated by parameter μ, and assigns an example of a first-fit load balancing heuristic.
them a weight according to their memory rank order (line (4) Best-fit heuristic consisting of allocating a newly arrived
4). Then, the SMA selects the VM with the highest value of VM to the host with the fewest number of available cores.
MEM Rank Or der . The number of available cores was selected over the
An SMA using VM migration heuristics that assign high amount of free memory because virtualized hosts may
overall rank orders to VMs with either low CPU usage assign considerably more (virtual) memory than their
(L:CPU) and/or low memory usage (L:MEM) aims to find available physical memory to VMs [35]. See [40] for an
more potential SMAs that could accept a given VM (based on example of a best-fit load balancing heuristic.
their VM acceptance policies) when conducting collabora-
tive load balancing. An SMA using VM migration heuristics 4.5 Multi-agent protocol for load balancing (MapLoad)
that assign high overall rank orders to VMs with either high
CPU usage (H:CPU) and/or high memory usage (H:MEM) The Multi-Agent Protocol for Load balancing (MapLoad)
aims to quickly reduce its workload while reducing the num- adopted by agents has three roles: initiator, participant, and
ber of VM migrations (at least from its perspective). facilitator (see Figs. 3, 4). Whenever an overloaded SMA, i.e.,

123
Cluster Comput

Fig. 3 Multi-agent protocol for


load balancing (MapLoad)

an SMA whose resource usage violates a migration threshold, the initiator SMA makes use of only the CPU-based migra-
triggers a VM migration, the overloaded SMA playing the tion threshold, then the participant SMA of the proposal with
initiator role broadcasts a call for proposals containing the the lowest CPU usage is selected. In a similar manner, if the
description of the VM (that the initiator SMA is trying to initiator SMA makes use of only the memory-based migra-
migrate) to n participant SMAs (Fig. 3), i.e., SMAs within tion threshold, then the participant SMA of the proposal with
the same Cloud data center, in order to look for potential the lowest memory usage is selected. In addition, if the initia-
SMAs able to host the VM. The participant SMAs may reply tor SMA simultaneously makes use of both, the CPU-based
with (i) a propose message containing their current resource and the memory-based migration thresholds, then the par-
usage information, meaning they can host the VM or (ii) a ticipant SMA of the proposal with the smallest sum of both
refuse message (Fig. 3) meaning they cannot host the VM at CPU and memory usage is selected. By adopting the greedy
least without compromising their migration thresholds. proposal selection mechanism, whenever an overloaded, ini-
In order to evaluate the received k propose messages from tiator SMA attempts to migrate a VM, the initiator SMA
the participant SMAs, the initiator SMA is endowed with a selects the participant SMA that may be less likely to migrate
greedy proposal selection mechanism. The proposals con- a VM based on the current resource usage information.
taining CPU and memory usage information are evaluated Once the initiator SMA has selected the best participant
according to the migration thresholds enabled (Sect. 4.1). If SMA to migrate the VM based on its proposal evaluation

123
Cluster Comput

Fig. 4 Agent interaction


protocol for getting suggestions
from the facilitator

mechanism, the initiator SMA sends (i) an accept-proposal 4.4), selects the best participant SMA to migrate the VM and
message to the best participant SMA and (ii) k-1 reject- sends a request message to the selected SMA to reserve the
proposal messages to the remaining participant SMAs (Fig. computing resources to host the VM (Fig. 4), to which the
3). Then, the selected participant SMA may reply with (i) a selected participant SMA may reply with (i) a confirm mes-
confirm message that automatically reserves the computing sage reserving the computing resources or with (ii) a failure
resources to host the VM or with (ii) a cancel message (Fig. message (Fig. 4) when the participant SMA no longer has
3) if the participant SMA no longer has sufficient comput- sufficient computing resources due to the concurrent nature
ing resources due to either a sudden resource usage increase of MapLoad. On the one hand, if the facilitator FA receives a
or because the participant SMA has accepted to host other confirm message from the participant SMA, the FA sends an
VM as a result of a concurrent execution of MapLoad with inform message to the initiator SMA indicating the selected
other initiator SMA. Once the initiator SMA receives a con- participant SMA able to host the VM (Fig. 4). On the other
firm message from the selected participant SMA, the initiator hand, if the facilitator FA receives either a failure message
SMA migrates the VM to the selected participant SMA and from the selected participant SMA or the facilitator FA is
sends an inform-done message if successful, or a failure mes- unable to find a participant SMA able to host the VM, the FA
sage otherwise (Fig. 3). sends an inform message containing a suggestion to keep the
If after sending a call for proposals to k participant SMAs, VM to the initiator SMA (Fig. 4).
the initiator SMA receives k refuse messages from the par- It should be noted that when the FA is contacted by an
ticipant SMAs, i.e., if no participant SMA proposes itself overloaded SMA (looking for a recommendation for a poten-
to host the VM, the initiator SMA sends a request message tial target host of a VM), the overloaded (initiator) SMA
containing the description of the VM to the FA (playing the already have tried to migrate the VM to other (participant)
facilitator role of MapLoad) in order to get a suggestion about SMAs, which sent refuse messages (to the initiator SMA)
a participant SMA able to host the VM (Fig. 3). The facilita- meaning (i) they are unable to host the VM due to insuffi-
tor FA broadcasts a request message to the participant SMAs cient resources or (ii) their migration thresholds would be
asking for their resource usage information (Fig. 4). Then, compromised by hosting the VM. If no participant SMA
the participant SMAs reply with an inform message contain- has sufficient resources to host the VM, the FA instructs the
ing their resource usage information (Fig. 4). Subsequently, initiator SMA to keep the VM. However, if some partici-
the facilitator FA, based on its load balancing heuristic (Sect. pant SMAs sent refuse messages because hosting the VM

123
Cluster Comput

would have compromised their migration thresholds, the FA (4) Next, the FA sends n − 1 request messages, one for each
(based on its load balancing heuristics) may determine that it participant SMA, to sample their resource usages. Num-
is better to migrate the VM to a given participant SMA even ber of messages exchanged: n − 1.
compromising its migration thresholds than keeping the VM (5) In response, all the participant SMAs reply with an
in the initiator SMA. In such a case, the FA instructs the inform message containing their resource usages. Num-
selected participant SMA (which is assumed to be collab- ber of messages exchanged: n − 1.
orative) to allocate resources to host the VM and sends an (6) Afterwards, the FA sends a request message to the
inform message to the initiator SMA indicating the selected selected participant SMA with the lowest resource usage,
participant SMA. It is worth mentioning that by hosting the which replies with a confirm message meaning it has
VM, the selected participant SMA may suddenly violate their allocated sufficient resources to host the VM. Number
migration thresholds. Nevertheless, this does not result in an of messages exchanged: 2.
immediate VM migration due to the activation threshold that (7) Finally, the FA sends an inform message (indicating the
prevents the SMA from migrating VMs unnecessarily in the selected participant SMA) to the initiator SMA, which,
presence of abrupt but short-lived resource usage peaks as in response, migrates the VM and sends an inform-done
stated in Sect. 4.1. Moreover, if the resource usage of the message to the selected participant SMA. Number of
selected participant SMA decreases, the SMA may not have messages exchanged: 2.
to migrate the newly arrived VM or other VM. Finally, it
should be noted that overloaded SMAs contact the FA only Thus, in the worst case scenario, the number of mes-
when the Cloud data center is completely overloaded, i.e., sages exchanged by the underlying distributed algorithm of
when the resource usages of all the SMAs are above or near MapLoad is bounded by Eq. (7).
their migration thresholds.
It is noteworthy that agents, namely SMAs and the FA, (n − 1) + (n − 1) + 1 + (n − 1) + (n − 1) + 2 + 2
are capable of concurrently handling multiple instances of
MapLoad. = 4(n − 1) + 5 = 4n + 1 messages (7)

As n tends to infinity, the worst-case message complexity of


4.6 Message complexity: MapLoad versus Red Hat MapLoad is O(n). In contrast, in a centralized load balanc-
ing mechanism such as the Red Hat Enterprise Virtualization
A performance measure of distributed problem solving Suite [32], a central manager has to monitor resource usages
techniques is the number of messages exchanged by the of hosts (see [30]) either to (i) initially allocate VMs based
underlying distributed algorithm in the worst case scenario on the current load of the hosts or to (ii) balance the load of
[15]. the Cloud data center based on VM live migration. Then, the
The number of messages exchanged by MapLoad to central manager of Red Hat is periodically receiving mes-
migrate a VM depends on the number of participant SMAs sages from the hosts according to a monitoring frequency.
whose resource usages are sampled. In the worst case sce- Thus, the overall number of messages exchanged among the
nario (assuming that the resource usages of all the participant central manager and the hosts is (at least) bounded by mn
SMAs in a Cloud data center are sampled), the number of messages where m and n stand for monitoring frequency and
messages exchanged by agents adopting MapLoad can be number of hosts, respectively. As m and n tend to infinity, the
calculated as follows. worst-case message complexity of Red Hat is O(n 2 ). More-
over, it is noteworthy that Red Hat periodically exchanges
messages regardless whether it needs to migrate VMs or not,
(1) Firstly, the initiator SMA sends a call for proposals (to while agents adopting MapLoad exchange messages only
host a VM) to n − 1 participant SMAs, i.e., all the SMAs when (i) an overloaded SMA needs to migrate a VM or (ii)
in a Cloud data center except the initiator SMA. Number the FA needs to initially allocate a VM.
of messages exchanged: n − 1.
(2) Assuming that this is the worst case scenario, the partic-
ipant SMAs reply with refuse messages meaning their 5 Evaluation and empirical results
migration thresholds would be compromised by hosting
the VM. Number of messages exchanged: n − 1. Three series of experiments were conducted for evaluat-
(3) In response, the initiator SMA sends a request message ing the performance of agents adopting MapLoad using the
(asking for a recommendation) to a FA playing the facili- agent-based testbed described in Sects. 3 and 4. The testbed
tator role of MapLoad. Number of messages exchanged: was implemented in java and the JADE agent platform [5].
1. In the agent-based testbed, each SMA controls a JADE agent

123
Cluster Comput

container, i.e., an instance of a JADE runtime environment Table 1 Load-related input data for Experiments 5.1, 5.2, and 5.3
using a unique network port. VM migration was simulated Input parameter Possible values
by means of live agent migration between JADE agent con-
tainers. The experiments were conducted using a computer Number of VMs 300
with the following specifications: Intel Core 2 Duo E8400, Specifications of No. of cores {1, 2, 4, 6, 8}
VMs Memory sizes {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
3.00 GHz, 4 GB RAM, with a 32-bit Windows 7 Enterprise
11, 12, 13, 14, 15, 16,
OS, SP1. 17, 18, 19, 20} GBs
CPU usage profiles {LowC PU (50 %),
MediumC PU (75 %),
5.1 Agent-based load balancing versus centralized load HighC PU (100 %)}
balancing Memory usage profiles {Low M E M (50 %),
Medium M E M (75 %),
High M E M (100 %)}
Objective The experiment was designed to evaluate and com-
Mean inter-arrival time of VMs 500 ms
pare the efficiency of SMAs adopting MapLoad (with and
without initial allocation assistance from FAs) and a set of Mean inter-departure time of VMs 35,000 ms
commonly used benchmark heuristics [7,24,40,49] in bal-
ancing loads in heterogeneous Cloud data centers.
Benchmark With the objective of comparing and vali- A centralized load balancing approach was selected for
dating the empirical results, a centralized load balancing comparison because, firstly, centralized approaches are com-
approach (where a single central entity decides and selects monly used [7,24,40,49], and secondly, because comparing
hosts for allocating VMs) was implemented. The central a centralized load balancing approach with agents adopting
entity was endowed with the same four commonly used load MapLoad is a challenge. For instance, whereas centralized
balancing heuristics implemented in FAs, namely, round- approaches (i) have full knowledge of the Cloud data center,
robin, greedy, first-fit, and best-fit heuristics (see Sect. 4.4). e.g., a central manager knows the number of hosts and their
It should be noted that the set of commonly used benchmark latest resource usages [32], and (ii) all the hosts in the Cloud
heuristics [7,24,40,49] does not make use of live migration data center are fully controlled by a central manager such as
of VMs, and thus, once the central manager has allocated a in [32], agents adopting MapLoad (i) have a partial view of
VM to a host, the VM is not migrated. The architecture of the Cloud data center, e.g., an SMA may not be aware of the
the centralized approach consists of a pool of hosts (within a number of hosts and/or other SMAs’ resource usages, and (ii)
Cloud data center), and a central manager that selects the host agents (in this work) should dynamically coordinate among
to which VM allocation requests should be routed based on themselves to balance a load across a set of hosts.
a commonly used load balancing heuristic. The central man- Experimental settings The testbed has three different sets
ager was programmed to continuously monitoring resource of input parameters: (i) Cloud data center’s input data, (ii)
usages of every host, and thus, the manager had complete load-related input data (Table 1), and (iii) agent-based testbed
knowledge of CPU and memory usages of every host within parameters (Table 2).
its Cloud data center. The simulated Cloud data center consisted of 6 hosts with
To focus the experiment on evaluating the effectiveness of 20 cores and 48 GBs, 8 hosts with 40 cores and 96 GBs, and
MapLoad with respect to the centralized approach in balanc- 6 hosts with 60 cores and 144 GBs. In doing so, the hetero-
ing Cloud data centers, a FA was programmed to route newly geneous Cloud data center was composed of an arbitrarily
arrived VMs to a randomly determined host with sufficient distributed number of relatively weak hosts, regular hosts,
available resources to meet VMs’ requirements, e.g., number and relatively powerful hosts. The host specifications were
of cores, so as to SMAs had to balance the load without initial based on [11]. The number of hosts (simulated by SMAs)
allocation assistance from a FA. However, whenever SMAs was set to 20 to have sufficient hosts to handle the amount of
adopted MapLoad and received no proposals for hosting a load described in Table 1.
VM, as indicated by MapLoad (see Sect. 4.5), SMAs con- Load-related input data (Table 1) consists of number of
tacted the FA for a host suggestion to which migrate the VM VMs (simulated by VMAs), specifications of VMs, CPU and
to, and if there was a set of SMAs with sufficient resources, memory usage profiles of VMs, and mean inter-arrival and
the FA randomly selected an SMA to host the VM, and sent mean inter-departure time of VMs. The number of VMs was
the suggestion to the SMA adopting the initiator role. In addi- set to 300 based on [44] to explore the efficiency of MapLoad
tion, to explore the efficiency of SMAs adopting MapLoad using a larger number of VMs than the maximum number of
fully assisted by FAs, FAs and the central manager were pro- VMs that can be successfully instantiated (at the same time)
vided with the same four commonly used load balancing using existing open source frameworks for Cloud data cen-
heuristics. ters, e.g., OpenNebula can successfully instantiate (at the

123
Cluster Comput

Table 2 Agent-based testbed’s input data for Experiments 5.1, 5.2, and 5.3
Input parameter Possible values

Experiment 5.1 Experiment 5.2 Experiment 5.3

FA’s load balancing heuristics {Round-robin, greedy, Greedy heuristic None


first-fit, best-fit} heuristics
SMAs’ proposal selection Greedy selection
mechanism
SMAs’ CPU-based acceptance Above
policy
SMAs’ memory-based acceptance Above
policy
SMAs’ CPU acceptance threshold 0%
SMAs’ memory acceptance 0%
threshold
SMAs’ VM migration heuristics H:CPU-H:MEM heuristic {H:CPU-H:MEM, H:CPU-L:MEM,
L:CPU-H:MEM, L:CPU-L:MEM,
H:CPU, L:CPU, H:MEM, L:MEM, R}
heuristics
SMAs’ CPU-based migration 50 %
threshold
SMAs’ memory-based migration 50 %
threshold
SMAs’ activation threshold 300 threshold violations
SMAs’ monitoring frequency 100 ms

same time) up to 148 VMs (see [44, p. 740]). In order to parameters: VM acceptance policies, VM migration heuris-
create a load consisting of heterogeneous VMs, the number tics, VM migration thresholds, an activation threshold, and a
of logical cores and memory size were randomly assigned monitoring frequency.
from the possible values reported in Table 1. In addition, to SMAs’ VM acceptance policies were set to above for both
create asymmetrical, heterogeneous resource usage profiles the CPU-based and the memory-based acceptance policies.
among the VMs, the resource usage profiles of VMs were The CPU and the memory acceptance thresholds were set to
randomly assigned from nine predefined resource usage pro- 0 %. In doing so, SMAs were configured to respond to all
files resulting from {LowC PU (50 %), MediumC PU (75 %), the calls for proposals (while SMAs have sufficient comput-
HighC PU (100 %)} x {Low M E M (50 %), Medium M E M ing resources to host VMs) from other SMAs attempting to
(75 %), High M E M (100 %)} uniformly distributed. CPU and migrate VMs.
memory usage of VMs were modeled using first-order Some of the benchmarking load balancing heuristics take
autoregressive random processes [27] to correlate resource into account both CPU and memory usage, e.g., greedy and
usage over time, similarly as in [46]. The first-order autore- first-fit heuristics. Then, to establish a comparison, SMAs
gressive process has a long-term mean that was used to were provided with a combined migration heuristic, i.e., a
simulate random resource usage levels that, in the long-term, migration heuristic that takes into account both CPU and
tended to 50 %, 75 %, and 100 %, for low, medium, and high memory usage, namely, an H:CPU-H:MEM heuristic, which
resource usage, respectively. The mean inter-arrival time and was selected because it keeps a relatively small number of
the mean inter-departure time of VMs were set to 500 and VM migrations while achieving a relatively good perfor-
35,000 ms, respectively. Both the mean inter-arrival time and mance balancing loads (see Sect. 5.3, for an evaluation of
the mean inter-departure time of VMs were determined based the VM migration heuristics adopted by SMAs to balance
on an experimental tuning to increasingly overload the Cloud loads).
data center to its maximum capacity to host VMs, and thus, The CPU-based and memory-based migration thresh-
(i) forcing SMAs to migrate VMs, and (ii) having VMs with olds were set to 50 % to (i) equally trigger VM migrations
a relatively long lifetime such that they may migrate several based on either CPU and memory usage, and to (ii) activate
times. MapLoad in the presence of a relatively heavy load (greater
The input parameters of the agent-based testbed (Table than a 50 % of SMAs’ computing resources). In addition,
2) consist of the FA’s load balancing heuristics and SMAs’ the activation threshold of SMAs (i.e., the amount of time

123
Cluster Comput

SMAs are allowed to have computing resource usages above


their migration thresholds) was set to 300 threshold viola-
tions. Since the SMAs’ monitoring frequency of computing
resources was set to 100 ms, SMAs attempted to migrate
VMs after having computing resource usages above their
migration thresholds for 30 s. SMAs were able to determine
300 consecutive threshold violations after 30 s by monitoring
their computing resources every 100 ms. In doing so, SMAs
disregarded abrupt but short-lived resource usage peaks. Pro-
vided that (i) the activation threshold of SMAs corresponds
to 3 % of the overall average length of the experiment runs
(1019.1 s), and (ii) SMAs were increasingly overloaded, but
subsequently followed by a gradual load decline, SMAs were
not constantly migrating VMs from the beginning to the end
of experiment runs, i.e., SMAs migrated VMs only when
their migration thresholds were continuously exceeded for
an amount of time determined by the VM activation thresh-
old. Hence, the value of the activation threshold was set to
300 based on an experimental tuning in order to disregard
abrupt but short-lived resource usage peaks, but at the same
time, forcing SMAs to migrate VMs.
For each configuration of the testbed, 10 independent
experiment runs were conducted for a total of 90 simula-
tions, which involved instantiating 27,000 VMAs.
Performance measure The performance measure used to
compare the efficiency of the centralized load balancing
approach and agents adopting MapLoad is average sample
standard deviation of percentage of resource usage, which
Fig. 5 Load balancing comparison of only SMAs, FAs & SMAs, and
is calculated as the arithmetic mean of the standard devia- central managers
tions of nresource usage samples expressed as percentages. A
resource usage sample is the sum of CPU usage and memory
usage. The sum of CPU usage and memory usage was used Analysis As shown in Fig. 5, SMAs endowed with
because both SMAs and the central manager had to balance MapLoad attained a lower average sample standard devia-
a heterogeneous load composed of VMs with asymmetri- tion of percentage of resource usage (Fig. 5, 1st column)
cal resource usage profiles. The lower the average sample than central managers adopting commonly used load bal-
standard deviation of percentage of resource usage, the bet- ancing heuristics (Fig. 5, 2nd, 4th, 6th, and 8th columns),
ter balanced a Cloud data center is, i.e., the percentage of namely, best-fit, first-fit, greedy, and round-robin load bal-
computing resource usages is uniform across (potentially ancing heuristics. SMAs distributed the load across hetero-
heterogeneous) hosts. Provided that the central manager can- geneous hosts more evenly than central managers because
not migrate VMs, the performance of both agents adopting whereas central managers routed newly arrived VM allo-
MapLoad and the central manager cannot be compared using cation requests to hosts based on (i) the resource usages
the number of VM migrations. See Sect. 5.2 for a comparison of hosts at that particular time and on (ii) the VMs’ initial
between SMAs adopting MapLoad and the Red Hat Enter- resource requirements, SMAs, through distributed collabo-
prise Virtualization Suite (that balances loads based on live ration, dynamically migrated VMs based on their continu-
migration of VMs) with respect to the number of VM migra- ously changing resource usages to the most suitable hosts
tions. (according to the SMAs’ migration heuristic). In addition,
Results Experimental results are shown in Fig. 5. From overloaded SMAs (adopting the initiator role of MapLoad)
these results, three observations are drawn. autonomously migrated VMs to other SMAs (adopting the
Observation 1 SMAs endowed with MapLoad (without participant role of MapLoad) that replied to the call for pro-
initial allocation assistance from FAs) were capable of dis- posals to host a given VM. The participant SMAs replied
tributing loads across heterogeneous hosts more evenly than to call for proposals only if hosting the VM did not violate
central managers endowed with commonly used load balanc- their migration thresholds. In doing so, participant SMAs
ing heuristics. autonomously proposed themselves as potential hosts. More-

123
Cluster Comput

over, given that participant SMAs’ proposals consisted of across the hosts. Thus, due to the characteristics of the
their resource usages, the initiator SMA was able to select randomly generated workload consisting of uniformly dis-
the participant SMA with the lowest resource usage. tributed resource usage profiles and computing requirements,
Equipped with partial knowledge of a Cloud data center, FAs (by themselves) by uniformly allocating VMs attained
through collaboration, SMAs can autonomously and dynam- a relatively evenly balanced Cloud data center. This state-
ically balance loads across a set of heterogeneous hosts ment is confirmed by the overall fifth best balanced Cloud
outperforming central managers endowed with commonly data center achieved by central managers using a round-robin
used load balancing heuristics with full knowledge of the heuristic (Fig. 5, 8th column). In addition, as explained in
Cloud data center. Observation 2 (Sect. 5.1), SMAs may benefit from the initial
Observation 2 For each load balancing heuristic: round- allocation of VMs by FAs, and as explained in Observation
robin, greedy, first-fit, and best-fit load balancing heuristics, 1 (Sect. 5.1), by dynamically taking into account dynamic
SMAs with initial allocation assistance from FAs and using fluctuations of VMs’ resource usages, SMAs are capable of
MapLoad were capable of distributing loads across hetero- balancing loads more evenly than front-end balancers.
geneous hosts more evenly than central managers using the Combining SMAs (endowed with MapLoad) with FAs
same load balancing heuristics as FAs. using a suitable load balancing heuristic according to the
Analysis SMAs receiving assistance from FAs by ini- characteristics of the workload results in the most evenly
tially allocating VMs (Fig. 5, 3rd, 5th, 7th, and 9th columns) balanced Cloud data center.
outperformed central managers (Fig. 5, 2nd, 4th, 6th, and
8th columns) in uniformly balancing loads across a pool 5.2 MapLoad versus Red Hat
of heterogeneous hosts. Since both FAs and central man-
agers were provided with the same load balancing heuristics: Objective The experiment was designed to evaluate the
best-fit, first-fit, greedy, and round-robin, SMAs assisted by performance of SMAs adopting MapLoad (with initial allo-
FAs attained lower average sample standard deviation of per- cation assistance from FAs) regarding the number of VM
centage of resource usage than central managers because (i) migrations.
SMAs benefited from the initial allocation of VMs (as central Benchmark The load balancing mechanism adopted by
managers did), and (ii) SMAs also balanced loads by migrat- the Red Hat Enterprise Virtualization Suite [32] was imple-
ing VMs taking into account dynamic fluctuations of VMs’ mented and selected for comparison because (i) it balances
resource usages. loads based on VM live migration (as in this work), and (ii)
Whereas front-end load balancers, either FAs or central whenever a VM allocation request arrives, Red Hat selects
managers, may help to balance loads based on (i) static VMs’ the host to allocate the VM based on the current load of the
computing requirements and (ii) hosts’ resource usages at hosts (as in this work). In addition, the load balancing mech-
the moment of VM arrivals, balancing loads also taking anism adopted by the Red Hat Enterprise Virtualization Suite
into account continuously changing resource usages of VMs achieved record-setting benchmark results [38].
(as done by SMAs) can achieve a more uniformly balanced Experimental settings The testbed has four different sets
Cloud data center. of input parameters: (i) Cloud data center’s input data, (ii)
Observation 3 Through collaboration, SMAs and FAs load-related input data (Table 1), (iii) agent-based testbed
(using the round-robin load balancing heuristic) achieved the parameters (Table 2), and (iv) the Red Hat Enterprise Virtu-
most balanced Cloud data centers. alization Manager’s input data (Table 3).
Analysis As observed in Fig. 5, the best (i.e., the lowest) The input parameters of the load balancing mechanism
average sample standard deviation of percentage of resource adopted by the Red Hat Manager (Table 3) consist of a front-
usage was achieved by SMAs adopting MapLoad assisted end load balancing heuristic, a VM migration heuristic, a
by FAs using the round-robin heuristic (Fig. 5, 9th column) maximum service level, an activation threshold, and a mon-
while the second best balanced load was achieved by SMAs itoring frequency of resource usage.
assisted by FAs using the greedy heuristic (Fig. 5, 7th col- The Red Hat Enterprise Virtualization Suite is equipped
umn). In addition, the third lowest average sample standard with a manager (a central entity) that selects the host for allo-
deviation of percentage of resource usage was achieved by cating new VMs. In addition, whenever workload balancing
SMAs without assistance from FAs (Fig. 5, 1st column). is required, the Red Hat Manager decides and selects both
SMAs adopting MapLoad assisted by FAs using the the VM to be migrated and the host for allocating the VM.
round-robin heuristic outperformed central managers and The front-end load balancing heuristic adopted by the Red
other SMAs and FAs because (i) both the computing require- Hat Manager [32] to determine the host for allocating a new
ments and the resource usage profiles of VMs were assigned VM is even distribution [29], which selects the host with
randomly using a uniform distribution, and (ii) FAs allo- the lowest CPU usage to allocate the VM. The migration
cated newly arrived VMs uniformly (in a round-robin basis) heuristic adopted by the Red Hat Manager [29] consists of

123
Cluster Comput

Table 3 Input data of the Red


Input parameter Possible values
Hat Enterprise Virtualization
Manager’s load balancing Load balancing heuristic Even distribution. The manager selects the host with
mechanism the lowest CPU usage for allocating both newly
arrived VMs and VMs migrated from overloaded
hosts.
VM migration heuristic Lowest CPU usage heuristic
Maximum service level per host 50 % of CPU usage
Activation threshold 300 threshold violations
Monitoring frequency of resource usage 100 ms

migrating VMs with the lowest CPU usage to the host with
the lowest CPU usage. The Red Hat Manager’s activation
threshold is the length of time that a host is allowed to con-
tinue above its maximum service level. Then, to establish
a comparison, the activation threshold and the monitoring
frequency of resource usage were set equally for both the
Red Hat Manager (Table 3) and the agent-based testbed. In
addition, the maximum service level (i.e., the CPU-based
migration threshold) per host of the Red Hat Manager and
SMAs were set both to 50 % to establish a comparison.
For each configuration of the testbed, 10 independent
experiment runs were conducted for a total of 20 simula-
tions, which involved instantiating 6000 VMAs.
Performance measures The performance measures used
to compare the efficiency of the load balancing mechanism
adopted by the Red Hat Enterprise Virtualization Suite [32]
and agents adopting MapLoad were (i) average number of
VM migrations per host, and (ii) average sample standard
deviation of percentage of CPU usage.
The average number of VM migrations per host is calcu-
lated as follows.

n
mi
i=1
m̄ =
n
where m i stands for total number of migrations from host i
during a simulation run, and n stands for number of hosts
in the Cloud data center. The smaller the average number of
VM migrations per host, the lower the overhead of the load
balancing mechanism, and the better the performance. Fig. 6 Load balancing results: MapLoad versus Red Hat
The average sample standard deviation of percentage of
CPU usage was used as a performance measure because the
load balancing mechanism adopted by the Red Hat Enterprise of the Red Hat Enterprise Virtualization Suite dominated the
Virtualization Suite [32] balances loads based only on CPU other when taking into account both (i) the average number of
usage. The lower the average sample standard deviation of VM migrations per host and (ii) the average sample standard
percentage of CPU usage, the better balanced a Cloud data deviation of percentage of CPU usage.
center is (regarding CPU usage). Analysis As shown in Fig. 6, whereas agents adopting
Results Experimental results are shown in Fig. 6. From MapLoad achieved a lower average number of VM migra-
these results, one observation is drawn. tions per host than the Red Hat manager, the Red Hat manager
Observation 1 Neither the load balancing mechanism of attained a lower average sample standard deviation of CPU
agents adopting MapLoad nor the load balancing mechanism usage than agents adopting MapLoad. Both SMAs and FAs

123
Cluster Comput

adopting MapLoad were capable of balancing the Cloud Consequently, the CPU usages of the asleep VMs were not
data center with a relatively small difference of 1.74 % (in taken into account to compute the average sample standard
comparison to Red Hat) for the average sample standard devi- deviation of CPU usage attained by the Red Hat Manager.
ation of CPU usage while migrating (9.45 %) fewer VMs The asleep VMs may have improved both (i) the average
than the load balancing mechanism of the Red Hat Enter- number of VM migrations per host and (ii) the average sam-
prise Virtualization Suite. This is because whenever SMAs ple standard deviation of percentage of CPU usage attained
detected threshold violations, the initiator SMAs adopted by the Red Hat Manager. It should be noted that when SMAs
MapLoad with underloaded SMAs (playing the participant migrated VMs, the VMs were immediately started when they
role of MapLoad), i.e., SMAs with computing resource arrived to their destination hosts.
usages below their migration thresholds. In addition, when- It is noteworthy that the results shown in Fig. 6 suggest
ever no SMA replied to call-for-proposals messages to host that there is a trade-off between workload balance across
a VM, the initiator SMA sent a request to the FA to ask for hosts and the number of VM migrations. This trade-off arises
a suggestion for a specific host where to migrate the VM because balancing workload across hosts over time requires
to. If no host had sufficient computing resources to host the frequent VM migrations. Then, the sooner an SMA migrates
VM, the FA replied with a suggestion to retain the VM. In a VM (causing a resource usage imbalance), the more VM
addition, whereas the Red Hat Manager’s migration heuris- migrations are done and the more balanced the Cloud data
tic was based only on CPU usage, the migration heuristic of center is.
SMAs was based on both CPU and memory usage simulta- In conclusion, through collaboration, agents adopting
neously. Then, agents adopting MapLoad required that both MapLoad achieved better performance (regarding average
the CPU-based and the memory-based migration thresholds number of VM migrations) than the Red Hat Manager while
were violated in order to trigger the migration of a VM. This achieving a load balancing comparable to Red Hat Manager
suggests that the SMAs’ migration thresholds were violated with a relatively small difference of 1.74 % in the average
fewer times than the Red Hat Manager’s migration thresh- sample standard deviation of CPU usage. It should be noted
olds, and as a consequence, the Red Hat Manager migrated that SMAs adopting MapLoad balanced the Cloud data center
more VMs. By migrating more VMs and at the expense in a distributed and collaborative manner by interacting with
of overhead, the load balancing mechanism of the Red Hat the FA only when all the SMAs were overloaded. Moreover,
manager attained a slightly more balanced Cloud data center in contrast to the load balancing mechanism adopted by the
with a relatively small difference of 1.74 % (in comparison Red Hat Enterprise Virtualization Suite [32], agents adopting
to agents adopting MapLoad) for the average sample stan- MapLoad do not require continuously monitoring computing
dard deviation of CPU usage. This empirical evidence also resource usages because agents autonomously trigger VM
suggests that for both, agents adopting MapLoad and the migrations whenever their individual migration thresholds
Red Hat Manager, there is a tradeoff between the number of are violated.
VM migrations and the effectiveness in balancing Cloud data
centers.
The load balancing mechanism of the Red Hat Manager 5.3 Evaluating the agent-based VM migration heuristics
achieved lower average sample standard deviation of CPU
usage (than agents adopting MapLoad) because (i) the Red Objective The experiment was designed to evaluate the effi-
Hat Manager continuously monitored the performance of ciency of the different VM migration heuristics adopted by
all the hosts and had full knowledge of the hosts’ resource SMAs.
usages, and (ii) the even distribution load balancing heuris- Experimental settings Experiment runs were conducted
tic outperformed the H:CPU-H:MEM heuristic adopted by using SMAs provided with each one of the VM migration
SMAs. In addition, as indicated in [31], when the Red Hat heuristics described in Sect. 4.3 (namely H:CPU-H:MEM,
Manager migrates VMs from a host to another (destination) H:CPU-L:MEM, L:CPU-H:MEM, L:CPU-L:MEM, R,
host, if the destination host’s CPU usage suddenly crossed H:CPU, L:CPU, H:MEM and L:MEM) to explore and com-
its CPU usage threshold, the VMs (recently attached to the pare their efficiency.
host) did not start until the host’s CPU usage decreased below The parameters of (i) the Cloud data center’s input data,
its threshold. Every monitoring interval, the Red Hat Man- e.g., specification of hosts, (ii) load-related input data (Table
ager verified whether the host was able to start the asleep 1), e.g., resource usage profiles of VMs, and (iii) agent-based
VMs, and if it was the case, the Red Hat manager started the testbed parameters (Table 2), e.g., SMAs’ monitoring fre-
VMs. Since, in the experiment runs, the Cloud data center quency, have the same justification presented in Sect. 5.1.
was overloaded to its maximum capacity to host VMs, the For each configuration of the testbed, 10 independent
Red Hat manager migrated some VMs that were not imme- experiment runs were conducted for a total of 90 simula-
diately started when they arrived to their destination hosts. tions, which involved instantiating 27,000 VMAs.

123
Cluster Comput

Fig. 7 Load balancing results


of the VM migration heuristics
implemented into MapLoad

Fig. 8 Average number of VM


migrations per host for each VM
migration heuristic

Performance measures The performance measures are (i) selecting VMs to be migrated based on the sum of the
average sample standard deviation of percentage of resource percentage of CPU and memory usage, namely, L:CPU-
usage and (ii) average number of VM migrations per host. L:MEM, H:CPU-H:MEM, H:CPU-L:MEM, and L:CPU-
The lower the average sample standard deviation of percent- H:MEM. The best load balance was achieved by SMAs
age of resource usage, the better balanced a Cloud data center using the L:CPU-L:MEM heuristic (Fig. 7, 1st column),
is. The lower the average number of VM migrations per host, in which the VM with the lowest resource usage was
the lesser overhead derived from migrating VMs. selected to be migrated. Then, as in the knapsack prob-
Results Empirical results are shown in Figs. 7, 8, and 9. lem, small items are easier to fit (in a host), and as a
From these results, four observations are drawn. consequence, the load can be uniformly distributed across
Observation 1 SMAs using VM migration heuristics that hosts.
take into account information from both CPU and mem- SMAs using VM migration heuristics based only on either
ory usage achieved better load balance than SMAs using CPU or memory usage were outperformed by SMAs using
either only CPU-based or only memory-based VM migra- VM migration heuristics based on combined information
tion heuristics. from CPU and memory usage (Fig. 7) because by migrat-
Analysis As shown in Fig. 7, columns 1–4, the smallest ing VMs taking into account only one resource usage type,
average sample standard deviation was achieved by SMAs e.g., CPU usage, may have caused a load imbalance in the

123
Cluster Comput

Fig. 9 Average number of FA’s


suggestions to keep VMs.

resource usage type that was not taken into account, e.g., By using VM migration heuristics focused on a given
memory usage. resource usage type, SMAs can autonomously balance
In conclusion, providing SMAs with VM migration resource-specific (either CPU or memory) loads, which com-
heuristics that take into account both CPU and memory usage bined with the resource-specific (either CPU or memory)
results in a better overall load balance for both CPU and mem- migration thresholds (see Sect. 4.1) endow SMAs with capa-
ory workloads on each host. bilities to consolidate resource-specific loads, e.g., SMAs
Observation 2 SMAs using an L:CPU migration heuris- with a CPU migration threshold set to 90 % may consolidate
tic achieved better CPU load balance than SMAs using an and balance CPU loads in CPU-intensive hosts.
H:CPU or MEM-based VM migration heuristics. In addi- Observation 3 In general, SMAs using VM migration
tion, SMAs using either L:MEM o R VM migration heuristics heuristics taking into account both CPU and memory usage
achieved better memory load balance than SMAs using an balanced the loads involving a smaller number of VM migra-
H:MEM or CPU-based VM migration heuristics. tions than SMAs using VM migration heuristics taking into
Analysis As observed in Fig. 7, whereas the best (i.e., account either memory or CPU usage.
the lowest) average sample standard deviation of percent- Analysis As shown in Fig. 8, the SMAs using H:CPU-
age of CPU usage was achieved by SMAs using an L:CPU H:MEM, L:CPU-H:MEM, and H:CPU-L:MEM heuristics
heuristic, the worst (i.e., the highest) average sample stan- balanced the loads migrating fewer VMs than SMAs balanc-
dard deviation of percentage of CPU usage was achieved by ing loads based on only one resource usage type either CPU
SMAs using memory-based VM migration heuristics. This or memory usage. This is because SMAs using VM migra-
is because whereas SMAs using CPU-based VM migration tion heuristics that take into account information from both
heuristics, namely, L:CPU and H:CPU, focused on balanc- CPU and memory usage continuously kept an evenly balance
ing CPU load, SMAs using memory-based VM migration load across the hosts (as shown in Observation 1 of Sect.
heuristics focused on balancing memory load. In addition, 5.3). Then, SMAs using combined VM migration heuristics
SMAs using an H:CPU migration heuristic were outper- needed to migrate fewer VMs than SMAs using VM migra-
formed (regarding CPU load balance) by SMAs using an tion heuristics based on either CPU or memory usage, which
L:CPU migration heuristic. This is because SMAs using needed to migrate more VMs to keep a balanced load across
an H:CPU heuristic migrated VMs with a high CPU usage hosts.
causing large variations in CPU usage in both the host that Endowing SMAs with VM migration heuristics that take
migrated the VM and the host that received the VM. In a into account both CPU and memory usage results in (i) bal-
similar manner, SMAs using an L:MEM heuristic are better ancing loads more efficiently by migrating a relative small
balancing memory loads (Fig. 7) than SMAs using CPU- number of VM migrations (comparable to commercial sys-
based VM migration heuristics. In addition, SMAs using tems, see Observation 1 of Sect. 5.2) and (ii) a better overall
either L:MEM or R achieved better memory load balance load balance (see Observation 1 of Sect. 5.3).
than SMAs using an H:MEM heuristic because migrating Observation 4 SMAs using either an L:CPU or an L:MEM
VMs with either a low memory usage (as in L:MEM) or a migration heuristic, received the fewest suggestions from the
(long-run) average memory usage (as in R) prevented the FA to keep VMs and the largest number of suggestions from
Cloud data center from large variations in memory usage. the FA to migrate VMs.

123
Cluster Comput

Analysis As shown in Fig. 9, the FA (when requested the decisions about VM migrations are taken by a single
by SMAs) sent the smallest number of suggestions to keep entity, agents, in this work, autonomously coordinate among
VMs to SMAs that balanced loads based on an L:CPU or themselves to select the best (e.g., the least overloaded) host
an L:MEM migration heuristic. This is because both L:CPU to receive a given VM.
and L:MEM migration heuristics selected the VM with the Placing VMs on a set of heterogeneous hosts can be
lowest resource usage, which are easier to accommodate as related to multi-dimensional bin packing problems [10] to
in the knapsack problem, where it is easier to accommodate which mathematical approximations have been developed
small items in a finite-capacity host, than large items. Sim- [37]. Nevertheless, adopting such mathematical solutions to
ilarly, as shown in Fig. 8, when the SMAs used either an balance data centers based on VM live migration is unfeasi-
L:CPU or an L:MEM migration heuristic, they received the ble [19] because (i) the solutions for bin packing problems
largest number of suggestions from the FA. This is because assume empty containers (i.e., hosts without any VMs), and
the FA was able to find a server with sufficient resources to (ii) they are not concerned with the number of movements
host a VM with low resource usages. (i.e., VM migrations) required to balance the load.
Through interaction and collaboration SMAs and FAs Hyser et al. [19] proposes a virtual machine placement
are capable of efficiently balancing loads without requir- service that monitors and predicts (based on a simulated
ing centralized, continuous monitoring by means of adopting annealing algorithm) resource usages of hosts to determine
MapLoad where SMAs (when required) ask for suggestions the source and destination hosts of VMs according to a given
to the FA, which samples resource usages of the other SMAs. heuristic. Hyser et al. [19] acknowledge that the centralized
In summary, by using autonomous and dynamic collabo- architecture of their system limits the scalability of the load
ration, agents adopting MapLoad are capable of efficiently balancing mechanism, unlike the agents in this work that
balancing loads in a fully distributed manner across a balance the Cloud data center in a distributed manner. In
set of heterogeneous hosts outperforming central managers addition, the virtual machine placement service [19] aims to
endowed with commonly used load balancing heuristics with keep resource usages of hosts as close to the overall aver-
full knowledge of the Cloud data center. In addition, SMAs age resource usage as possible. However, given that Cloud
are capable of balancing data centers with a performance data centers are commonly composed of heterogeneous com-
comparable (with a relatively small difference of 1.74 %) modity hosts, maintaining all the hosts with similar resource
to the mechanism adopted by the Red Hat manager while usages disregarding their computer specifications may lead
migrating fewer VMs. Moreover, SMAs are capable of using to situations where compute-intensive hosts may have the
their different VM migration policies to balance resource- same CPU load than memory-intensive hosts. In contrast, in
specific loads accordingly. this present work, SMAs can balance loads (in a distributed
manner) taking into account server heterogeneity by speci-
fying migration thresholds for different computing resource
6 Related work types.
Load balancing mechanisms supported by VM live migra-
Cloud load balancing has been approached from differ- tion commonly make use of policies to control the tradeoff
ent perspectives ranging from energy-aware load balancing between load balance and the number of VM migrations.
[23] and network traffic load balancing [28] to balanc- The Red Hat Enterprise Virtualization Manager [32] imple-
ing mechanisms focused on stream processing [22]. This ments load balancing based on VM live migration. Red Hat’s
present load balancing mechanism is focused on balanc- load balancing mechanism is endowed with a VM migration
ing CPU and memory resources taking into account both threshold based merely on CPU to specify the maximum ser-
server heterogeneity and VM resource usage heterogeneity vice level at (i) which the host may start migrating VMs and
simultaneously by making use of live migration of VMs. (ii) no more VMs are assigned to the host. Red Hat adopts
In this regard, previous works [1,6,32,46] have disregarded an even distribution load balancing heuristic consisting of
that Cloud data centers are commonly composed of highly migrating VMs with the lowest CPU usage to the host with
heterogeneous commodity hardware and that VM resource the lowest CPU usage. Whereas in Red Hat a single central
usages may be highly volatile. entity selects both the VM and its target host, in this present
Centralized load balancing mechanisms [32,43] rely on work, an overloaded SMA (i) decides which VM should be
a single entity to monitor and balance loads across a set of migrated based on its migration heuristic that can be config-
hosts, becoming a bottleneck and a single point of failure. ured to its specific needs, and (ii) selects a target host among
In contrast, in this work, agents endowed with MapLoad are a set of self-nominated, underloaded SMAs. Agents, in this
capable of dynamically sampling resource usages to monitor work, collaborate among each other to balance both CPU and
hosts only when an (overloaded) host needs to migrate a VM. memory loads in a distributed manner as opposed to Red Hat
Moreover, unlike VMware [43] and Red Hat [32] where all that is a centralized system that only balances CPU loads. In

123
Cluster Comput

addition, agents, in this work, can adopt migration heuristics acknowledged that the proposed agent-based load balancing
focused on their specific commodity hardware, for instance, mechanism can be complemented by adding a resource usage
an SMA managing a commodity host with limited memory prediction mechanism.
resources may opt to migrate VMs with high memory usage. With respect to agent-based load balancing approaches, in
Moreover, upon receiving a proposal to host a VM, agents the work presented in [48], agents deployed on VMs are capa-
are capable of nominating themselves to host the VM based ble of monitoring the location of consumer requests. Then,
on their VM acceptance policies that aim to make a better whenever a number of consumer requests coming from a
use of the hosts managed by SMAs, for instance, an SMA foreign network overpasses (based on a threshold) the num-
managing a host with limited memory resources may opt to ber of local requests, the VM (that receives the requests) is
propose itself to host VMs with high CPU usage, but very migrated to the foreign network. In [48], there is no agent
low memory usage. interaction to guarantee whether migrating the VM based
VMware provides a resource scheduler [43] for balanc- merely on the location of its consumers will be better to the
ing loads. The load balancing mechanism is supported by overall load balance of the Cloud. The agent-based load bal-
affinity rules. An affinity rule indicates that (i) two VMs ancing mechanism proposed by Anderson et al. [2] makes use
should be allocated either in the same host or in different of VM live migration endowed with agent interaction proto-
hosts or that (ii) a given VM should be assigned to a specific cols enhanced with balancing heuristics, which are specified
group of hosts. Whereas in the resource scheduler of VMware using lightweight coordination calculus. In [2], the agents
[43] affinity rules are defined based on (i) the assumption managing hosts are classified as idle, overloaded, and under-
of prior knowledge about the resource usage of the VMs loaded. Whereas idle agents are assumed to be balanced and
and (ii) the matching of VMs and hosts is conducted in a take no part in load balancing, underloaded and overloaded
static manner, agents, in this work, assume no prior knowl- agents interact with each other to migrate VMs from over-
edge of VMs’ resource usages and the matching between loaded to underloaded agents. Given that Cloud data centers
VMs and hosts is performed dynamically based on the cur- are commonly composed of heterogeneous commodity hard-
rent resource usages of both VMs and hosts. The resource ware, classifying hosts in three levels may result in situations
scheduler [43] also provides a recommendation system [42] where underloaded agents managing a host with limited com-
to migrate VMs to balance either CPU or memory loads. puting resources can pass from underloaded to overloaded
Unfortunately, VMware [42,43] does not disclose informa- by accepting a VM with high resource usage. This is because,
tion about how destination hosts and candidate VMs are in [2], no prior sampling of the resource usage of hosts is con-
selected. However, patents filed by VMware (see [9,20]) sug- ducted for selecting the best destination host according to a
gest that the selection of VMs and destination hosts are based criterion. In this regard, agents, in the present work, sam-
on resource usage prediction. ple hosts’ resource usages to select the best destination host
Load balancing mechanisms based on resource usage pre- according to a set of heuristics and policies. In addition, in
diction [3,9,20,34,46,47] suffer from the highly dynamic this work, a FA conducts an initial load balancing by distrib-
performance variability of Cloud environments composed uting VM allocations across a set of hosts.
of heterogeneous commodity hardware. The overall perfor- It is acknowledged that this paper is a significantly and
mance of a Cloud depends on network conditions, workload considerably extended version of the work reported in [16].
types, current number of VMs, VM resource usage patterns, Whereas in [16], the idea of using policy-based agents to bal-
VM allocation request rates, actual matching of VMs and ance loads in Cloud data centers was introduced, this present
hosts, etc. Then, estimating the performance of a Cloud work extends [16] by:
data center is, by itself, an extremely challenging prob-
lem. Moreover, load balancing mechanisms supported by (1) Devising a multi-agent protocol for load balancing
resource prediction [47] require a representative sample of (MapLoad) where both FAs and SMAs collaborate
(i) the Cloud data center’s workload, (ii) of VM resource among themselves to evenly distribute loads (Sect. 4.5)
usages, and (iii) of the performance profiles of hosts. As with a worst-case message complexity of O(n) (Sect.
a consequence, load balancing approaches supported by 4.6).
resource prediction make use of behavioral trends [3], his- (2) Providing FAs with a set of load balancing heuristics
torical data of workload [20], and VM resource usage traces (Sect. 4.4).
[9]. In contrast, this present work requires profiles of neither (3) Designing a mechanism to provide overloaded SMAs
workload nor VM resource usage patterns. Agents, in this with suggestions from FAs (Sect. 4.5).
work, react to the performance variability of Cloud environ- (4) Including a new VM migration policy that allows SMAs
ments and can be configured to deal with the heterogeneous to migrate VMs when either the CPU-based or memory-
commodity hardware that composes Clouds by using migra- based migration threshold is violated (Sect. 4.1).
tion thresholds and VM acceptance policies. However, it is (5) Defining VM acceptance policies (Sect. 4.2).

123
Cluster Comput

(6) Implementing an activation threshold into SMAs to larger number of hosts should be conducted to empirically
reduce the number of VM migrations (Sect. 4.1). evaluate the scalability of the proposed agent-based Cloud
(7) Conducting extensive experiments to compare the effi- load balancing approach. However, it should be noted that, in
ciency of MapLoad in balancing loads with respect to a Sect. 4.6, it is formally demonstrated that the worst-case mes-
set of commonly used benchmark heuristics (Sect. 5.1), sage complexity of MapLoad is in the order of O(n) where
to compare MapLoad with respect to the Red Hat Enter- n stands for number of hosts.
prise Virtualization Suite (Sect. 5.2), and to evaluate the
efficiency of the VM migration heuristics (Sect. 5.3). Acknowledgments The authors would like to thank the Editor-in-
Chief and the anonymous referees for their comments and suggestions.
This work has been supported by Asociación Mexicana de Cultura A.C.

7 Conclusion and future work

The novelty of this work lies in devising and implementing


a novel agent-based problem solving technique (MapLoad)
References
enhanced with VM migration policies, VM acceptance poli-
1. Amazon EC2: Elastic load balancing. http://aws.amazon.com/
cies, VM migration heuristics, and a set of load balancing elasticloadbalancing/ (2015). Accessed 1 Feb 2015
heuristics to dynamically balance loads while taking into 2. Anderson, P., Bijani, S., Vichos, A.: Multi-agent negotiation of
account both server heterogeneity and VM resource usage virtual machine migration using the lightweight coordination cal-
culus. In: Jezic, G., Kusek, M., Nguyen, N.-T., Howlett, R.J., Jain,
heterogeneity simultaneously.
L.C. (eds.) 6th KES International Conference on Agent and Multi-
The significance of this work lies in the fact that agents agent Systems: Technologies and Applications. Lecture Notes in
adopting MapLoad are capable of balancing loads in a dis- Computer Science, vol. 7327, pp. 124–133. Springer, Berlin (2012)
tributed and scalable manner while coping with continuously 3. Andreolini, M., Casolari, S., Colajanni, M., Messori, M.: Dynamic
load management of virtual machines in cloud architectures. In:
evolving workloads and volatile resource usages of VMs by Avresky, D.R., Diaz, M., Bode, A., Ciciani, B., Dekel, E. (eds.)
making use of VM live migration. In addition, as shown in the Cloud Computing. Lecture Notes of the Institute for Computer
empirical evaluation (Sect. 5), through collaboration, agents Sciences, Social-Informatics and Telecommunications Engineer-
equipped with partial knowledge of the Cloud data center can ing, vol. 34, pp. 201–214. Springer, Berlin (2010)
4. Bansal, N., Lodi, A., Sviridenko, M.: A tale of two dimensional
autonomously and dynamically balance loads outperform- bin packing. In: Proceedings of the 46th Annual IEEE Symposium
ing central managers endowed with commonly used load on Foundations of Computer Science, pp. 657–666 (2005)
balancing heuristics with full knowledge of the Cloud data 5. Bellifemine, F., Caire, G., Poggi, A., Rimassa, G.: JADE—a white
center. Moreover, agents adopting MapLoad achieved better paper. EXP Search Innov. 3(3), 6–19 (2003)
6. Bobroff, N., Kochut, A., Beaty K.: Dynamic placement of virtual
performance (regarding average number of VM migrations) machines for managing sla violations. In: Proceedings of the 10th
than the Red Hat Manager while achieving a load balancing IFIP/IEEE International Symposium on Integrated Network Man-
comparable to the Red Hat manager (a suite that achieved agement, pp. 119–128 (2007)
record-setting benchmark results [38]). 7. Breitgand, D., Marashini, A., Tordsson, J.: Policy-driven service
placement optimization in federated clouds. Technical Report, IBM
This work contributes with (i) an agent-based load balanc- Research Division (2011)
ing architecture for Cloud data centers capable of monitoring 8. Buyya, R., Beloglazov, A., Abawajy, J.: Energy-efficient man-
and balancing different workload types in a distributed agement of data center resources for cloud computing: a vision,
manner and (ii) with a novel agent-based problem solving architectural elements, and open challenges. In: Proceedings of the
2010 International Conference on Parallel and Distributed Process-
technique (MapLoad) capable of balancing workloads across ing Techniques and Application, pp. 12–15 (2010)
a set of commodity, heterogeneous hosts in a cooperative 9. Canturk, I., Chengwei, W., Bhatt, C., Shanmuganathan, G., Holler,
manner. Moreover, this work also contributes with: (i) VM A.M.: Process demand prediction for distributed power and
migration policies to establish preferences over when VMs resource management. U.S. Patent Application 13/281,234, 2011
10. Chekuri, C., Khanna, S.: On multi-dimensional packing problems.
should be migrated, (ii) VM acceptance policies to establish SIAM J. Comput. 33(4), 837–851 (2014)
preferences over which VMs should be hosted/accepted from 11. Cisco systems: Cisco USB B440 M2 high-performance blade
other hosts, and (iii) a set of VM migration heuristics to guide server data sheet. http://www.cisco.com/en/US/prod/collateral/
the selection of VMs to be migrated. ps10265/ps10280/ps11584/data_sheet_c78-646960.html (2015).
Accessed 1 Feb 2015
Future work will focus on estimating VM migration 12. Clark, C., Fraser, K., Hand, S., Hansen, J.G., Jul, E., Limpach,
overhead [25] and developing a resource usage prediction C., Pratt, I., Warfield, A.: Live migration of virtual machines. In:
mechanism to complement the decision making process of Proceedings of the 2nd Conference on Symposium on Networked
agents. In addition, whereas this work has focused on show- Systems Design & Implementation, USENIX Association, vol. 2,
pp. 273–286 (2005)
ing the desirables properties of an agent-based Cloud load 13. Coffman, E.G., Garey, M.R., Johnson, D.S., Tarjan, R.E.: Perfor-
balancing approach (e.g., efficient, distributed load balanc- mance bounds for level-oriented two-dimensional packing algo-
ing through agent collaboration), experiments using a much rithms. SIAM J. Comput. 9(4), 808–826 (1980)

123
Cluster Comput

14. Daniels, J.: Server virtualization architecture and implementation. 32. Red Hat: Red Hat Enterprise Virtualization 3.2—technical
Crossroads 16(1), 8–12 (2009) reference guide. https://access.redhat.com/site/documentation/
15. Das, B., Bharghavan, V.: Routing in ad-hoc networks using min- en-US/Red_Hat_Enterprise_Virtualization/3.2/html/Technical_
imum connected dominating sets. In: Proceedings of the IEEE Reference_Guide/index.html (2015). Accessed 1 Feb 2015
International Conference on Communications, pp. 376–380 (1997) 33. Ren, G., Tune, E., Moseley, T., Shi, Y., Rus, S., Hundt, R.:
16. Gutierrez-Garcia, J.O., Ramirez-Nafarrate, A.: Policy-based agents Google-wide profiling: a continuous profiling infrastructure for
for virtual machine migration in cloud data centers. In: Proceedings data centers. IEEE Micro 30(4), 65–79 (2010)
of the IEEE International Conference on Services Computing, pp. 34. Ren, X., Lin, R., Zou, H.: A dynamic load balancing strategy for
603–610 (2013) cloud computing platform based on exponential smoothing fore-
17. Gutierrez-Garcia, J.O., Sim, K.M.: A family of heuristics for agent- cast. In: Proceedings of the 2011 IEEE International Conference on
based elastic cloud bag-of-tasks concurrent scheduling. Future Cloud Computing and Intelligence Systems, pp. 220–224 (2011)
Gener. Comput. Sys. 29(7), 1682–1699 (2013) 35. Siebert, E.: Understanding VMware ESX virtual machine physical
18. Gutierrez-Garcia, J.O., Sim, K.M.: Agent-based Cloud Service and virtual hardware. http://searchvmware.techtarget.com/tip/Und
Composition. Appl. Intell. 38(3), 436–464 (2013) erstanding-VMware-ESX-virtual-machine-physical-and-virtual-
19. Hyser, C., Mckee, B., Gardner, R., Watson, B.J.: Autonomic virtual hardware (2015). Accessed 1 Feb 2015
machine placement in the data center. Hewlett Packard Laborato- 36. Sim, K.M.: Agent-based cloud computing. IEEE T. Serv. Comput.
ries, Technical Report HPL-2007-189, 2007–189 (2007) 5(4), 564–577 (2012)
20. Ji, M., Waldspurger, C.A., Zedlewski, J.: Method and system for 37. Skiena, S.: The Algorithm Design Manual: Text, vol. 1. Springer,
determining a cost-benefit metric for potential virtual machine Berlin (1998)
migrations. U.S. Patent No. 8,095,929, 2012. Washington, DC: 38. SPEC: All published SPECvirt_sc2010 performance results
U.S. Patent and Trademark Office SPEC. http://www.spec.org/virt_sc2010/results/specvirt_sc2010_
21. Kerr, A., Diamos, G., Yalamanchili, S.: A characterization and perf.html (2015). Accessed 1 Feb 2015
analysis of GPGPU kernels. Technical Report GIT-CERCS-09-06, 39. Speitkamp, B., Bichler, M.: A mathematical programming
Georgia Institute of Technology (2009) approach for server consolidation problems in virtualized data cen-
22. Kleiminger, W., Kalyvianaki, E., Pietzuch, P.: Balancing load in ters. IEEE T. Serv. Comput. 3(4), 266–278 (2010)
stream processing with the cloud. In: Proceedings of the 2011 IEEE 40. Tsai, Y.L., Huang, K.C., Chang, H.Y., Ko, J., Wang, E.T., Hsu,
27th International Conference on Data Engineering Workshops, pp. C.H.: Scheduling multiple scientific and engineering workflows
16–21 (2011) through task clustering and best-fit allocation. In: Proceedings of
23. Lang, W., Patel, J.M., Naughton, J.F.: On energy management, the 2012 IEEE Eighth World Congress on Services, pp. 1–8 (2012)
load balancing and replication. ACM SIGMOD Rec. 38(4), 35–42 41. Vaquero, L.M., Rodero-Merino, L., Caceres, J., Lindner, M.: A
(2010) break in the clouds: towards a cloud definition. ACM SIGCOMM
24. Lin, C.C., Liu, P., Wu, J.J.: Energy-efficient virtual machine pro- Computer Communication Review 39(1), 50–55 (2008)
vision algorithms for cloud systems. In: Proceedings of the 2011 42. VMware: Distributed resource scheduler—recommendation
Fourth IEEE International Conference on Utility and Cloud Com- page. http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp#
puting, pp. 81–88 (2011) viewing_drs_cluster_information/c_the_drs_recommendations_
25. Liu, H., Xu, C.Z., Jin, H., Gong, J., Liao, X.: Performance page.html (2015). Accessed 1 Feb 2015
and energy modeling for live migration of virtual machines. In: 43. VMware: VMware Infrastructure—Resource management with
Proceedings of the 20th International Symposium on High Perfor- VMware distributed resource scheduler. http://www.vmware.com/
mance Distributed Computing, pp. 171–182 (2011) pdf/vmware_drs_wp.pdf (2015). Accessed 1 Feb 2015
26. Metri, G., Srinivasaraghavan, S., Shi, W., Brockmeyer, M.: Exper- 44. Von Laszewski, G., Diaz, J., Wang, F., Fox, G.C.: Comparison
imental analysis of application specific energy efficiency of data of multiple cloud frameworks. In: Proceedings of the 2012 IEEE
centers with heterogeneous servers. In: Proceedings of IEEE 5th International Conference on Cloud Computing, pp. 734–741
5th International Conference on Cloud Computing, pp. 786–793 (2012)
(2012) 45. Voorsluys, W., Broberg, J., Venugopal, S., Buyya, R.: Cost of vir-
27. Montgomery, D.C., Jennings, C.L., Kulahci, M.: Introduction to tual machine live migration in clouds: a performance evaluation.
Time Series Analysis and Forecasting. Wiley, Hoboken (2011) Cloud Computing, pp. 254–265. Springer, Berlin (2009)
28. Patel, P., Bansal, D., Yuan, L., Murthy, A., Greenberg, A., Maltz, 46. Wood, T., Shenoy, P., Venkataramani, A., Yousif, M.: Black-box
D. A., Kern, R., Kumar, H., Zikos, M., Wu, H., Kim, C., Karri, N.: and gray-box strategies for virtual machine migration. In: Proceed-
Ananta: Cloud scale load balancing. In: Proceedings of the ACM ings of the Fourth USENIX Symposium on Networked Systems
Conference on SIGCOMM, pp. 207–218 (2013) Design & Implementation, pp. 701–708 (2007)
29. Red Hat: Cluster general properties—administration guide. 47. Wu, Y., Yuan, Y., Yang, G., Zheng, W.: Load prediction using
https://access.redhat.com/site/documentation/en-US/Red_ hybrid model for computational grid. In: Proceedings of the 8th
Hat_Enterprise_Virtualization/3.1/html/Administration_Guide/ IEEE/ACM International Conference on Grid Computing, pp. 235–
Cluster_general_entities.html (2015). Accessed 1 Feb 2015 242 (2007)
30. Red Hat: Monitoring—administration guide. https://access.redhat. 48. Xing, L.: A self-management approach to service optimization
com/documentation/en-US/Red_Hat_Enterprise_Virtualization_ and system integrity through multi-agent systems. Master’s Thesis,
for_Servers/2.2/html/Administration_Guide/Administration_ University of Oslo (2008)
Guide-Monitoring.html (2015). Accessed 1 Feb 2015 49. Zhang, H., Jiang, F., Yoshihira, K., Chen, H., Saxena, A.: Intelligent
31. Red Hat: Red Hat Enterprise Virtualization 3.2—explanation of set- workload factoring for a hybrid cloud computing model. In: Pro-
tings and controls in the Edit cluster policy window. https://access. ceedings of the 2009 World Conference on Services-I, pp. 701–708
redhat.com/site/documentation/en-US/Red_Hat_Enterprise_ (2009)
Virtualization/3.1/html/Administration_Guide/Cluster_general_
entities.html (2015). Accessed 1 Feb 2015

123
Cluster Comput

J. Octavio Gutierrez-Garcia Adrian Ramirez-Nafarrate is


received his Ph.D. in Electri- an Associate Professor in the
cal Engineering and Computer Department of Industrial & Oper-
Science from CINVESTAV and ations Engineering at the Insti-
Grenoble Institute of Technol- tuto Tecnológico Autónomo de
ogy, respectively. Dr. Gutierrez- México. His research interests
Garcia is an Associate Profes- include modeling, simulation
sor in the Department of Com- and analysis of service systems.
puter Science at Instituto Tec- He received a Ph.D. degree in
nológico Autónomo de México. Industrial Engineering from Ari-
He has served as a reviewer for zona State University, an MS
numerous international confer- in Manufacturing Systems from
ences and journals. His current ITESM and a BS in Industrial
research interests include Cloud Engineering from Universidad
computing, distributed artificial de Sonora.
intelligence, service-oriented computing, and agent-based modeling.

123

Вам также может понравиться