2013 · 82 citations · 25 references
ComputingCloud ComputingComputer ScienceDatabasesOperating SystemsVirtualizationCompute Resource ManagementMemory ManagementMemory VirtualizationVirtual Machine MigrationVirtual MemoryVirtualization ArchitectureBallooningGuest Memory ManagementMemory Allocation PoliciesMemory BallooningMemory MigrationServer ConsolidationVirtual Memory ManagementVirtual Memory Systems
Systems software like databases and language runtimes typically manage memory themselves to exploit application knowledge unavailable to the OS. Traditionally deployed on dedicated machines, they are designed to be statically configured with memory sufficient for peak load. In virtualization scenarios (cloud computing, server consolidation), however, static peak provisioning of RAM to applications dramatically reduces the efficiency and cost-saving benefits of virtualization. Unfortunately, existing memory "ballooning" techniques used to dynamically reallocate physical memory between VMs badly impact the performance of applications which manage their own memory. We address this problem by extending ballooning to applications (here, a database engine and Java runtime) so that memory can be efficiently and effectively moved between virtualized instances as the demands of each change over time. The results are significantly lower memory requirements to provide the same performance guarantees to a collocated set of VM running such applications, with minimal overhead or intrusive changes to application code.
25
Xen and the art of virtualization
Paul Barham, Boris Dragovic, Keir Fraser et al. · ACM SIGOPS Operating Systems Review · 2003 · 5.9K citations
Xen and the art of virtualization
Paul Barham, Boris Dragovic, Keir Fraser et al. · 2003 · 2.1K citations
Black-box and gray-box strategies for virtual machine migration
Timothy Wood, Prashant Shenoy, Arun Venkataramani et al. · 2007 · 829 citations
Automated control of multiple virtualized resources
Pradeep Padala, Kaiyuan Hou, Kang G. Shin et al. · 2009 · 488 citations