Title
Difference engine: harnessing memory redundancy in virtual machines
Abstract
Virtual machine monitors (VMMs) are a popular platform for Internet hosting centers and cloud-based compute services. By multiplexing hardware resources among virtual machines (VMs) running commodity operating systems, VMMs decrease both the capital outlay and management overhead of hosting centers. Appropriate placement and migration policies can take advantage of statistical multiplexing to effectively utilize available processors. However, main memory is not amenable to such multiplexing and is often the primary bottleneck in achieving higher degrees of consolidation. Previous efforts have shown that content-based page sharing provides modest decreases in the memory footprint of VMs running similar operating systems and applications. Our studies show that significant additional gains can be had by leveraging both subpage level sharing (through page patching) and incore memory compression. We build Difference Engine, an extension to the Xen VMM, to support each of these---in addition to standard copy-on-write full-page sharing---and demonstrate substantial savings across VMs running disparate workloads (up to 65%). In head-to-head memory-savings comparisons, Difference Engine outperforms VMware ESX server by a factor 1.6--2.5 for heterogeneous workloads. In all cases, the performance overhead of Difference Engine is less than 7%.
Year
DOI
Venue
2008
10.1145/1831407.1831429
Commun. ACM
Keywords
DocType
Volume
operating system,virtual machine monitor,statistical multiplexing,virtual machine
Conference
53
Issue
ISSN
Citations 
10
0001-0782
217
PageRank 
References 
Authors
10.60
11
8
Search Limit
100217
Name
Order
Citations
PageRank
Diwaker Gupta167541.21
Sangmin Lee221914.72
Michael Vrable367038.38
stefan savage4110171067.00
Alex C. Snoeren53228239.85
George Varghese68149727.66
Geoffrey M. Voelker76844666.37
Amin Vahdat810369842.39