Our paper “Ginkgo, Automated, Application-Driven Memory Overcommitment for Cloud Computing” has been accepted to the ASPLOS RESoLVE workshop. Here is the abstract:
Continuous advances in multicore and I/O technologies have caused memory to become a very valuable sharable resource that limits the number of virtual machines (VMs) that can be hosted in a single physical server. While today’s hypervisors implement a wide range of mechanisms to overcommit memory, they lack memory allocation policies and frameworks capable of guaranteeing levels of quality of service to their applications.
In this short paper we introduce Ginkgo, a memory overcommit framework that takes an application-aware approach to the problem. Ginkgo dynamically estimates VM memory requirements for applications without user involvement or application changes. Ginkgo regularly monitors application progress and incoming load for each VM, using this data to predict application performance under different VM memory sizes. It automates the distribution of memory across VMs during runtime to satisfy performance and capacity constraints while optimizing towards one of several possible goals, such as maximizing overall system performance, minimizing application quality-of-service violations, minimizing memory consumption, or maximizing profit for the cloud provider.
Using this framework to run the benchmarks DayTrader 2.0 and SPECweb2009, our initial experimental results indicate that overcommit ratios of at least 2x can be achieved while maintaining application performance, independently of additional memory savings that can be enabled by techniques such as page coalescing.
I will post the final version of the paper on the publications page when it will be ready.