Dynamic Memory and Core Scaling in Virtual Machines

The memory and core requirements of a virtual machine depend on the performance requirements of the applications hosted on it. In this paper, we propose algorithms for dynamic memory and core scaling using a combination of machine learning and feedback control techniques. These algorithms work for sequential and parallel applications such as scientific computations where speedup is the primary performance metric. Then we use these algorithms to address the simultaneous memory and core allocation problem, which is more complex due to possible correlation between these resource requirements. All these algorithms can be applied in a black box fashion without instrumenting the source code of applications.

[1]  Xiaoyun Zhu,et al.  Memory overbooking and dynamic control of Xen virtual machines in consolidated environments , 2009, 2009 IFIP/IEEE International Symposium on Integrated Network Management.

[2]  John L. Henning SPEC CPU2006 benchmark descriptions , 2006, CARN.

[3]  Muli Ben-Yehuda,et al.  Applications Know Best: Performance-Driven Memory Overcommit with Ginkgo , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[4]  Kang G. Shin,et al.  Adaptive control of virtualized resources in utility computing environments , 2007, EuroSys '07.

[5]  Muli Ben-Yehuda,et al.  The Resource-as-a-Service (RaaS) Cloud , 2012, HotCloud.

[6]  Larry Peterson,et al.  Proceedings of the nineteenth ACM symposium on Operating systems principles , 2003, SOSP 2003.

[7]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[8]  Laxmi N. Bhuyan,et al.  Thread reinforcer: Dynamically determining number of threads via OS level monitoring , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).

[9]  T. A. Lasinski,et al.  THE NAS PARALLELBENCHMARKS , 1991 .

[10]  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).

[11]  Martin Schulz,et al.  A regression-based approach to scalability prediction , 2008, ICS '08.

[12]  Michael F. P. O'Boyle,et al.  Mapping parallelism to multi-cores: a machine learning based approach , 2009, PPoPP '09.

[13]  Tzi-cker Chiueh,et al.  Working Set-based Physical Memory Ballooning , 2013, ICAC.

[14]  Zhenhuan Gong,et al.  PRESS: PRedictive Elastic ReSource Scaling for cloud systems , 2010, 2010 International Conference on Network and Service Management.

[15]  Muli Ben-Yehuda,et al.  Ginseng: market-driven memory allocation , 2014, VEE '14.

[16]  Sally A. McKee,et al.  Identifying energy-efficient concurrency levels using machine learning , 2007, 2007 IEEE International Conference on Cluster Computing.

[17]  Yingwei Luo,et al.  Dynamic memory balancing for virtual machines , 2009, ACM SIGOPS Oper. Syst. Rev..

[18]  Simon Haykin,et al.  Neural Networks: A Comprehensive Foundation , 1998 .

[19]  Laxmi N. Bhuyan,et al.  Thread Tranquilizer: Dynamically reducing performance variation , 2012, TACO.

[20]  刘锋,et al.  Kernel-based virtual machine事件跟踪机制的设计与实现 , 2008 .