Cache contention aware Virtual Machine placement and migration in cloud datacenters

In cloud datacenters, multiple Virtual Machines (VMs) are co-located in a Physical Machine (PM) to serve different applications. Prior VM consolidation methods for cloud datacenters schedule VMs mainly based on resource (CPU and memory) constraints in PMs but neglect serious shared Last Level cache contention between VMs. This may cause severe VM performance degradation due to cache thrashing and starvation for VMs. Current cache contention aware VM consolidation strategies either estimate cache contention by coarse VM classification for each individual VM without considering co-location and (or) require the aid of hardware to monitor the online miss rate of each VM. Therefore, these strategies are insufficiently accurate and (or) difficult to adopt for VM consolidation in clouds. In this paper, we formalize the problem of cache contention aware VM placement and migration in cloud datacenters using integer linear programming. We then propose a cache contention aware VM placement and migration algorithm (CacheVM). It estimates the total cache contention degree of co-locating a given VM with a group of VMs in a PM based on the cache stack distance profiles of the VMs. Then, it places the VM to the PM with the minimum cache contention degree and chooses the VM from a PM that generates the maximum cache contention degree to migrate out. We implemented CacheVM and its comparison methods on a supercomputing cluster. Trace-driven simulation and real-testbed experiments show that CacheVM outperforms other methods in terms of the number of cache misses, execution time and throughput.

[1]  David H. Bailey,et al.  The NAS parallel benchmarks summary and preliminary results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[2]  Yu-Ju Hong,et al.  Dynamic server provisioning to minimize cost in an IaaS cloud , 2011, PERV.

[3]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[4]  Xiaohui Gu,et al.  CloudScale: elastic resource scaling for multi-tenant cloud systems , 2011, SoCC.

[5]  Feng Zhao,et al.  Energy aware consolidation for cloud computing , 2008, CLUSTER 2008.

[6]  Haiying Shen,et al.  EcoFlow: An Economical and Deadline-Driven Inter-datacenter Video Flow Scheduling System , 2015, 2015 IEEE 35th International Conference on Distributed Computing Systems.

[7]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[8]  Haiying Shen,et al.  RIAL: Resource Intensity Aware Load balancing in clouds , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[9]  Sadaf R. Alam,et al.  Characterization of Scientific Workloads on Systems with Multi-Core Processors , 2006, 2006 IEEE International Symposium on Workload Characterization.

[10]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[11]  Gabriel H. Loh,et al.  Dynamic Classification of Program Memory Behaviors in CMPs , 2008 .

[12]  Saikat Guha,et al.  Generalized resource allocation for the cloud , 2012, SoCC '12.

[13]  Jaehyuk Huh,et al.  Dynamic Virtual Machine Scheduling in Clouds for Architectural Shared Resources , 2012, HotCloud.

[14]  Georg Ch. Pflug,et al.  A branch and bound method for stochastic global optimization , 1998, Math. Program..

[15]  Haiying Shen,et al.  Distributed Autonomous Virtual Resource Management in Datacenters Using Finite-Markov Decision Process , 2014, IEEE/ACM Transactions on Networking.

[16]  Alexandra Fedorova,et al.  Addressing shared resource contention in multicore processors via scheduling , 2010, ASPLOS XV.

[17]  Haiying Shen,et al.  Profiling and Understanding Virtualization Overhead in Cloud , 2015, 2015 44th International Conference on Parallel Processing.

[18]  Michael Stumm,et al.  Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[19]  Hai Jin,et al.  CCAP: A Cache Contention-Aware Virtual Machine Placement Approach for HPC Cloud , 2013, International Journal of Parallel Programming.

[20]  Haiying Shen,et al.  Consolidating complementary VMs with spatial/temporal-awareness in cloud datacenters , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[21]  Hui Wang,et al.  A-DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters , 2015, VEE 2015.

[22]  Ishai Menache,et al.  Network-Aware Scheduling for Data-Parallel Jobs: Plan When You Can , 2015, SIGCOMM.

[23]  Shin Gyu Kim,et al.  Virtual machine consolidation based on interference modeling , 2013, The Journal of Supercomputing.

[24]  Tong Li,et al.  Using OS Observations to Improve Performance in Multicore Systems , 2008, IEEE Micro.

[25]  G. Edward Suh,et al.  Analytical cache models with applications to cache partitioning , 2001, ICS '01.