skip to main content
research-article
Free Access

Difference engine: harnessing memory redundancy in virtual machines

Published:01 October 2010Publication History
Skip Abstract Section

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%.

References

  1. }}http://sysbench.sourceforge.net/.Google ScholarGoogle Scholar
  2. }}http://samba.org/ftp/tridge/dbench/.Google ScholarGoogle Scholar
  3. }}http://www.iozone.org/.Google ScholarGoogle Scholar
  4. }}http://www.azillionmonkeys.com/qed/hash.html.Google ScholarGoogle Scholar
  5. }}Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A. Xen and the art of virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}Broder, A.Z. Identifying and filtering near-duplicate documents. In Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching (2000). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}Bugnion, E., Devine, S., Rosenblum, M. Disco: Running commodity operating systems on scalable multiprocessors. In Proceedings of the 16th ACM Symposium on Operating System Principles (1997). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}Cecchet, E., Marguerite, J., Zwaenepoel, W. Performance and scalability of EJB applications. In Proceedings of the 17th ACM Conference on Object-oriented Programming, Systems, Languages, and Applications (2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}Douglis, F. The compression cache: Using on-line compression to extend physical memory. In Proceedings of the USENIX Winter Technical Conference (1993).Google ScholarGoogle Scholar
  10. }}Douglis, F., Iyengar, A. Application-specific delta-encoding via resemblance detection. In Proceedings of the USENIX Annual Technical Conference (2003).Google ScholarGoogle Scholar
  11. }}Kloster, J.F., Kristensen, J., Mejlholm, A. On the feasibility of memory sharing. Master's thesis, Aalborg University (2006).Google ScholarGoogle Scholar
  12. }}Kulkarni, P., Douglis, F., Lavoie, J., Tracey, J.M. Redundancy elimination within large collections of files. In Proceedings of the USENIX Annual Technical Conference (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}MacDonald, J. xdelta. http://www.xdelta.org/.Google ScholarGoogle Scholar
  14. }}Manber, U., Wu, S. GLIMPSE: A tool to search through entire file systems. In Proceedings of the USENIX Winter Technical Conference (1994). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. }}McVoy, L., Staelin, C. lmbench: Portable tools for performance analysis. In Proceedings of the USENIX Annual Technical Conference (1996). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. }}Tanenbaum, A.S. Modern Operating Systems. Prentice Hall (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}Tuduce, I.C., Gross, T. Adaptive main memory compression. In Proceedings of the USENIX Annual Technical Conference (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}Vrable, M., Ma, J., Chen, J., Moore, D., VandeKieft, E., Snoeren, A.C., Voelker, G.M., Savage, S. Scalability, fidelity and containment in the Potemkin virtual honeyfarm. In Proceedings of the 20th ACM Symposium on Operating System Principles (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}Waldspurger, C.A. Memory resource management in VMware ESX server. In Proceedings of the 5th ACM/USENIX Symposium on Operating System Design and Implementation (2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}Wilson, P.R., Kaplan, S.F., Smaragdakis, Y. The case for compressed caching in virtual memory systems. In Proceedings of the USENIX Annual Technical Conference (1999). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Difference engine: harnessing memory redundancy in virtual machines

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Communications of the ACM
            Communications of the ACM  Volume 53, Issue 10
            October 2010
            96 pages
            ISSN:0001-0782
            EISSN:1557-7317
            DOI:10.1145/1831407
            Issue’s Table of Contents

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 October 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Popular
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format