{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,22]],"date-time":"2026-03-22T06:35:38Z","timestamp":1774161338077,"version":"3.50.1"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"10","license":[{"start":{"date-parts":[[2010,10,1]],"date-time":"2010-10-01T00:00:00Z","timestamp":1285891200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-0615392"],"award-info":[{"award-number":["CNS-0615392"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100005595","name":"University of California","doi-asserted-by":"publisher","award":["07-10237"],"award-info":[{"award-number":["07-10237"]}],"id":[{"id":"10.13039\/100005595","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2010,10]]},"abstract":"<jats:p>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.<\/jats:p>\n          <jats:p>\n            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\n            <jats:italic>Difference Engine<\/jats:italic>\n            , 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%.\n          <\/jats:p>","DOI":"10.1145\/1831407.1831429","type":"journal-article","created":{"date-parts":[[2010,10,1]],"date-time":"2010-10-01T12:29:13Z","timestamp":1285936153000},"page":"85-93","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":171,"title":["Difference engine"],"prefix":"10.1145","volume":"53","author":[{"given":"Diwaker","family":"Gupta","sequence":"first","affiliation":[{"name":"Aster Data"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sangmin","family":"Lee","sequence":"additional","affiliation":[{"name":"UT Austin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael","family":"Vrable","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stefan","family":"Savage","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alex C.","family":"Snoeren","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"George","family":"Varghese","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Geoffrey M.","family":"Voelker","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Amin","family":"Vahdat","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2010,10]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"}}http:\/\/sysbench.sourceforge.net\/.  }}http:\/\/sysbench.sourceforge.net\/."},{"key":"e_1_2_1_2_1","unstructured":"}}http:\/\/samba.org\/ftp\/tridge\/dbench\/.  }}http:\/\/samba.org\/ftp\/tridge\/dbench\/."},{"key":"e_1_2_1_3_1","unstructured":"}}http:\/\/www.iozone.org\/.  }}http:\/\/www.iozone.org\/."},{"key":"e_1_2_1_4_1","unstructured":"}}http:\/\/www.azillionmonkeys.com\/qed\/hash.html.  }}http:\/\/www.azillionmonkeys.com\/qed\/hash.html."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/647819.736184"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266672"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582443"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the USENIX Winter Technical Conference","author":"Douglis F.","year":"1993","unstructured":"}} Douglis , F. The compression cache: Using on-line compression to extend physical memory . In Proceedings of the USENIX Winter Technical Conference ( 1993 ). }}Douglis, F. The compression cache: Using on-line compression to extend physical memory. In Proceedings of the USENIX Winter Technical Conference (1993)."},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the USENIX Annual Technical Conference","author":"Douglis F.","year":"2003","unstructured":"}} Douglis , F. , Iyengar , A. Application-specific delta-encoding via resemblance detection . In Proceedings of the USENIX Annual Technical Conference ( 2003 ). }}Douglis, F., Iyengar, A. Application-specific delta-encoding via resemblance detection. In Proceedings of the USENIX Annual Technical Conference (2003)."},{"key":"e_1_2_1_11_1","volume-title":"On the feasibility of memory sharing. Master's thesis","author":"Kloster J.F.","year":"2006","unstructured":"}} Kloster , J.F. , Kristensen , J. , Mejlholm , A. On the feasibility of memory sharing. Master's thesis , Aalborg University ( 2006 ). }}Kloster, J.F., Kristensen, J., Mejlholm, A. On the feasibility of memory sharing. Master's thesis, Aalborg University (2006)."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247415.1247420"},{"key":"e_1_2_1_13_1","unstructured":"}}MacDonald J. xdelta. http:\/\/www.xdelta.org\/.  }}MacDonald J. xdelta. http:\/\/www.xdelta.org\/."},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the USENIX Winter Technical Conference","author":"Manber U.","year":"1994","unstructured":"}} Manber , U. , Wu , S. GLIMPSE : A tool to search through entire file systems . In Proceedings of the USENIX Winter Technical Conference ( 1994 ). }}Manber, U., Wu, S. GLIMPSE: A tool to search through entire file systems. In Proceedings of the USENIX Winter Technical Conference (1994)."},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the USENIX Annual Technical Conference","author":"McVoy L.","year":"1996","unstructured":"}} McVoy , L. , Staelin , C. lmbench : Portable tools for performance analysis . In Proceedings of the USENIX Annual Technical Conference ( 1996 ). }}McVoy, L., Staelin, C. lmbench: Portable tools for performance analysis. In Proceedings of the USENIX Annual Technical Conference (1996)."},{"key":"e_1_2_1_16_1","volume-title":"Modern Operating Systems","author":"Tanenbaum A.S.","year":"2007","unstructured":"}} Tanenbaum , A.S. Modern Operating Systems . Prentice Hall ( 2007 ). }}Tanenbaum, A.S. Modern Operating Systems. Prentice Hall (2007)."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247389"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095825"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1060289.1060307"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/1268708.1268716"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1831407.1831429","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1831407.1831429","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T11:22:35Z","timestamp":1750245755000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1831407.1831429"}},"subtitle":["harnessing memory redundancy in virtual machines"],"short-title":[],"issued":{"date-parts":[[2010,10]]},"references-count":20,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2010,10]]}},"alternative-id":["10.1145\/1831407.1831429"],"URL":"https:\/\/doi.org\/10.1145\/1831407.1831429","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,10]]},"assertion":[{"value":"2010-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}