Policy-based Agents for Virtual Machine Migration
in Cloud Data Centers
J. Octavio Gutierrez-Garcia
∗
, Adrian Ramirez-Nafarrate
†
∗
Department of Computer Science
†
Department of Industrial & Operations Engineering
Instituto Tecnol´ ogico Aut´ onomo de M´ exico
Mexico, DF 01080
∗
Email: octavio.gutierrez@itam.mx
†
Email: adrian.ramirez@itam.mx
Abstract—Cloud data centers are networked server farms
commonly composed of heterogeneous servers with a wide
variety of computing capacities. Virtualization technology, in
Cloud data centers, has improved server utilization and server
consolidation. However, virtual machines may require unbalanced
levels of computing resources (e.g., a virtual machine running a
compute-intensive application with low memory requirements)
causing resource usage imbalances within physical servers. In
this paper, an agent-based distributed approach capable of
balancing different types of workloads (e.g., memory workload)
by using virtual machine live migration is proposed. Agents
acting as server managers are equipped with 1) a collaborative
workload balancing protocol, and 2) a set of workload balancing
policies (e.g., resource usage migration thresholds and virtual
machine migration heuristics) to simultaneously consider both
server heterogeneity and virtual machine heterogeneity. The
experimental results show that policy-based workload balancing
is effectively achieved despite dealing with server heterogeneity
and heterogeneous workloads.
I. I NTRODUCTION
Cloud data centers are networked server farms commonly
composed of heterogeneous servers [1], i.e., servers with a
wide variety of computing capacities regarding processing
power and memory access performance. Virtualization technol-
ogy in data centers has improved server utilization and server
consolidation while reducing resource management complexity
and costs [1], [2]. Virtualization enables physical servers to
host multiple virtual machines (VMs) to serve numerous users
with different sets of functional requirements (e.g., applica-
tions) and non-functional requirements (e.g., number of cores,
memory size, etc.).
Heterogeneous VMs resulting from heterogeneous user
requirements may need unbalanced computing resources, e.g.,
a VM may run a compute-intensive application with low
memory requirements similar to the parallel thread execution
applications for image texture sampling presented in [3].
Accumulated VM resource usage imbalance within a physical
server may cause 1) service level agreement violations, and 2)
low server resource utilization, e.g., a physical server can run
out of a specific computing resource, but having a significant
slack of other computing resources. In addition, the computing
resource usage of VMs may vary greatly during their life
time. Furthermore, since physical servers in Cloud data centers
commonly have different computing capacities, some servers
may be better suited (or unsuited) for hosting certain types
of VMs. However, previous workload balancing approaches
[4]–[8] disregard 1) server heterogeneity and 2) VM resource
usage heterogeneity that may vary dynamically. By using
live migration, VMs can be migrated on the fly without any
disruption to users, i.e., near zero service downtime [9]. As
a result, VM live migration allows dynamically balancing
workloads across physical servers to improve server utilization
for each computing resource (e.g., CPU and memory), and to
prevent service level agreement violations.
In this paper, an agent-based approach for workload bal-
ancing in Cloud data centers is proposed. This approach uses
live migration and administrator-defined workload balancing
policies that simultaneously take into account both 1) server
heterogeneity and 2) VM resource usage heterogeneity that
may vary dynamically. The agent paradigm has proved to
be effective for bolstering dynamic Cloud data center envi-
ronments and managing Cloud resources [8], [10], [11]. In
this work, Cloud resources (VMs and physical servers) as
well as Cloud participants (front-end service providers and
data center users) are represented by agents, which interact
and collaborate among each other in a distributed manner
to balance workloads across multiple heterogeneous physical
servers hosting potentially heterogeneous VMs. Agents man-
aging physical servers are provided with administrator-defined
workload balancing policies, e.g., CPU and memory usage,
VM migration thresholds, and VM migration heuristics.
The novelty and relevance of this work is that, to the best
of the authors’ knowledge, it is the earliest effort in providing
an agent-based approach capable of balancing different types
of workloads (e.g., memory workload) in a distributed manner
through agent collaboration while simultaneously considering
both server heterogeneity and VM heterogeneity whose re-
source usage vary dynamically.
The contributions of this work are as follows: 1) devising
and implementing an agent-based platform for workload bal-
ancing using VM live migration (Section II), and 2) defining
and implementing a distributed problem solving technique to
balance physical servers as dictated by workload balancing
policies (Section III). In addition, Section IV provides empir-
ical evidence to demonstrate the effectiveness of the agent-
based approach in balancing and managing the workload,
taking into account server and VM heterogeneity in a dynamic
manner. Section V includes a related work comparison, and
2013 IEEE 10th International Conference on Services Computing
978-0-7695-5026-8/13 $26.00 © 2013 IEEE
DOI 10.1109/SCC.2013.55
603