Adaptability Driven by Quality of Execution in High Level Virtual Machines for Shared Cloud Environments

Cloud infrastructures execute workloads from different tenants supported by a non-trivial virtualization stack, which includes high language virtual machines, operating system services and system-level virtual machines. As more and more applications target high level virtual machines (such as the Java VM), they are a relevant abstraction layer not properly explored to enhance resource usage, control, and effectiveness. We propose an economics-inspired model to balance relative resource savings (e.g., to prioritize tenants) and perceived performance degradation, resulting in a yield of applying a given management strategy. The model can be used to drive a resource scheduling algorithm aiming to determine where the reduction will be more economically effective, i.e., will contribute in lesser extent to performance degradation. We discuss how critical resources (heap size and CPU) can be allocated and transferred among high level virtual machines. Experimental evaluation shows that the application of our model, when choosing to take the appropriate resource allocation, results in a significant yield to the cloud provider while, in most cases, execution degradation is small.

[1]  Vivek Sarkar,et al.  The Jikes Research Virtual Machine project: Building an open-source research community , 2005, IBM Syst. J..

[2]  Krzysztof Palacz,et al.  Resource management for clusters of virtual machines , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[3]  Henry Hoffmann,et al.  Dynamic knobs for responsive power-aware computing , 2011, ASPLOS XVI.

[4]  Serge E. Hallyn,et al.  Virtual servers and checkpoint/restart in mainstream Linux , 2008, OPSR.

[5]  Gordon S. Blair,et al.  Using lightweight virtual machines to achieve resource adaptation in middleware , 2011, IET Softw..

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

[7]  Luís Veiga,et al.  A2HA—automatic and adaptive host allocation in utility computing for bag-of-tasks , 2011, Journal of Internet Services and Applications.

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

[9]  Amer Diwan,et al.  The DaCapo benchmarks: java benchmarking development and analysis , 2006, OOPSLA '06.

[10]  Krzysztof Zielinski,et al.  AAOP-based dynamically reconfigurable monitoring system , 2010, Inf. Softw. Technol..

[11]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[12]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[13]  Matthew Arnold,et al.  A Survey of Adaptive Optimization in Virtual Machines , 2005, Proceedings of the IEEE.

[14]  Grzegorz Czajkowski,et al.  A resource management interface for the Java™ platform , 2005, Softw. Pract. Exp..

[15]  Carl A. Waldspurger,et al.  Memory resource management in VMware ESX server , 2002, OSDI '02.

[16]  José Simão,et al.  A 2 -VM : A Cooperative Java VM with Support for Resource-Awareness and Cluster-Wide Thread Scheduling , 2011, OTM Conferences.

[17]  Larry L. Peterson,et al.  Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors , 2007, EuroSys '07.

[18]  Grzegorz Czajkowski,et al.  A resource management interface for the Java™ platform , 2005 .

[19]  Anees Shaikh,et al.  A Cost-Aware Elasticity Provisioning System for the Cloud , 2011, 2011 31st International Conference on Distributed Computing Systems.

[20]  Walter Binder,et al.  Platform-independent profiling in a virtual execution environment , 2009 .

[21]  P. Douglas,et al.  A theory of production , 1928 .

[22]  Gavin Brown,et al.  Garbage collection auto-tuning for Java mapreduce on multi-cores , 2011, ISMM '11.

[23]  Luís Veiga,et al.  nuBOINC: BOINC Extensions for Community Cycle Sharing , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[24]  Hai Jin,et al.  Virtual Machine Resource Management for High Performance Computing Applications , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

[25]  Renato Cerqueira,et al.  Controlling processing usage at user level: a way to make resource sharing more flexible , 2010, Concurr. Comput. Pract. Exp..

[26]  Luís Veiga,et al.  Transparent adaptation of e-science applications for parallel and cycle-sharing infrastructures , 2011, DAIS'11.

[27]  José Simão,et al.  A checkpointing‐enabled and resource‐aware Java Virtual Machine for efficient and robust e‐Science applications in grid environments , 2012, Concurr. Comput. Pract. Exp..

[28]  José Simão,et al.  A progress and profile-driven cloud-VM for resource-efficiency and fairness in e-science environments , 2013, SAC '13.

[29]  Nicolas Georay I-JVM: a Java Virtual Machine for Component Isolation in OSGi , 2009 .

[30]  C. Waldspurger Memory resource management in VMware ESX server , 2002, OSDI '02.