Performance analysis and models for collocated VMs running on multi-core physical machines

Next generation high performance computers will massively use virtualization as a way to share hardware resources between multiple applications and to provide flexible mechanisms for fault tolerance and energy optimisation. In this context, understanding the performance behavior of virtual machines and the interference between them is a major scientific challenge that will allow a more efficient usage of resources. The first step is to characterize CPU usage sharing and to propose a performance model for virtual machines. Nonetheless, focusing on the sharing of a single CPU core is no more possible as next generation high performance machines will contain a large number of cores. Moreover, as these cores share micro-architectural resources e.g. caches, using a single core performance model is not sufficient as inter-core interference can happen. Finally, to be able to use such a model in large scale infrastructures as Clouds or high performance computers, the model must be lightweight to simulate the behavior of tens of thousands physical machines hosting hundreds of thousands virtual machines (VMs). In this paper, we present an in-depth analysis of the performance of collocated VMs. By running our experiments on the Grid'5000 testbed, we were able to evaluate 2 processor families for a total of 6 different processor models. We have systematically explored the effect of collocation by testing all the different VCPU to CPU mapping while taking into account micro-architectural components (shared caches and NUMA nodes). We also explored the effect of multi-core virtual machines. Based on these experiments, we evaluate 8 lightweight performance models and observe that the virtual machine performance can be accurately predicted using a model that takes into account the number of VMs on the core and on the related NUMA node (with less than 8% error). Finally, we validate our models on several processors and on both single and multi-(virtual)-cores VM. Using this model, we can increase the accuracy of the virtualization layer of the general purpose distributed system simulator SimGrid and improve it's usability to simulate (HPC) Clouds. These results may also be used to improve VM placement algorithms.

[1]  Jaehyuk Huh,et al.  The Effect of Multi-core on HPC Applications in Virtualized Systems , 2010, Euro-Par Workshops.

[2]  Dzmitry Kliazovich,et al.  GreenCloud: A Packet-Level Simulator of Energy-Aware Cloud Computing Data Centers , 2010, GLOBECOM.

[3]  Benjamin Farley,et al.  Resource-freeing attacks: improve your cloud performance (at your neighbor's expense) , 2012, CCS.

[4]  Patrick P. C. Lee,et al.  An experimental study of cascading performance interference in a virtualized environment , 2013, PERV.

[5]  Bharadwaj S. Amrutur,et al.  Accelerating multi-core simulators , 2010, SAC '10.

[6]  Shunfei Chen,et al.  MARSS: A full system simulator for multicore x86 CPUs , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[7]  Takahiro Hirofuchi,et al.  Adding a Live Migration Model into SimGrid: One More Step Toward the Simulation of Infrastructure-as-a-Service Concerns , 2013, 2013 IEEE 5th International Conference on Cloud Computing Technology and Science.

[8]  Richard McDougall,et al.  Virtualization performance: perspectives and challenges ahead , 2010, OPSR.

[9]  Amy W. Apon,et al.  Cache Effects of Virtual Machine Placement on Multi-Core Processors , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[10]  F. Leymann,et al.  Comparison of Cloud Middleware Protocols and Subscription Network Topologies using CReST, the Cloud Research Simulation Toolkit , 2013 .

[11]  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..

[12]  Jonathan Rouzaud-Cornabas,et al.  Using the EXECO Toolkit to Perform Automatic and Reproducible Cloud Experiments , 2013, 2013 IEEE 5th International Conference on Cloud Computing Technology and Science.

[13]  F. Desprez,et al.  SimGrid Cloud Broker: Simulating the Amazon AWS Cloud , 2013 .

[14]  Jesús Carretero,et al.  iCanCloud: A Flexible and Scalable Cloud Infrastructure Simulator , 2012, Journal of Grid Computing.

[15]  Ravi Iyer,et al.  Towards modeling & analysis of consolidated CMP servers , 2008, CARN.

[16]  Gero Dittmann,et al.  Performance modeling for early analysis of multi-core systems , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).