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