|
ABSTRACT
VMware ESX Server is a thin software layer designed to multiplex hardware resources efficiently among virtual machines running unmodified commodity operating systems. This paper introduces several novel ESX Server mechanisms and policies for managing memory. A ballooning technique reclaims the pages considered least valuable by the operating system running in a virtual machine. An idle memory tax achieves efficient memory utilization while maintaining performance isolation guarantees. Content-based page sharing and hot I/O page remapping exploit transparent page remapping to eliminate redundancy and reduce copying overheads. These techniques are combined to efficiently support virtual machine workloads that overcommit memory.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
Pei Cao, Edward W. Felten, and Kai Li. "Implementation and Performance of Application-Controlled File Caching," Proc. Symposium on Operating System Design and Implementation, November 1994.
|
 |
5
|
Jeffrey S. Chase , Darrell C. Anderson , Prachi N. Thakar , Amin M. Vahdat , Ronald P. Doyle, Managing energy and server resources in hosting centers, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
| |
6
|
R. J. Creasy. "The Origin of the VM/370 Time-Sharing System," IBM Journal of Research and Development, 25(5), September 1981.
|
 |
7
|
Bryan Ford , Mike Hibler , Jay Lepreau , Patrick Tullmann , Godmar Back , Stephen Clawson, Microkernels meet recursive virtual machines, Proceedings of the second USENIX symposium on Operating systems design and implementation, p.137-151, October 29-November 01, 1996, Seattle, Washington, United States
|
| |
8
|
Robert P. Goldberg. "Survey of Virtual Machine Research," IEEE Computer, 7(6), June 1974.
|
 |
9
|
Kinshuk Govil , Dan Teodosiu , Yongqiang Huang , Mendel Rosenblum, Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.154-169, December 12-15, 1999, Charleston, South Carolina, United States
|
| |
10
|
Peter H. Gum. "System/370 Extended Architecture: Facilities for Virtual Machines," IBM Journal of Research and Development', 27(6), November 1983.
|
| |
11
|
|
 |
12
|
|
| |
13
|
Intel Corporation. IA-32 Intel Architecture Software Developer's Manual. Volumes I, II, and III, 2001.
|
| |
14
|
Bob Jenkins. "Algorithm Alley," Dr. Dobbs Journal, September 1997. Source code available from http://burtleburtle.net/bob/hash/
|
| |
15
|
Ted Kaehler. "Virtual Memory for an Object-Oriented Language," Byte, August 1981.
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
| |
19
|
Theodore H. Romer, Dennis Lee, Brian N. Bershad and J. Bradley Chen. "Dynamic Page Mapping Policies for Cache Conflict Resolution on Standard Hardware," Proc. Symposium on Operating System Design and Implementation, November 1994.
|
| |
20
|
L. H. Seawright and R. A. McKinnon. "VM/370: A Study of Multiplicity and Usefulness," IBM Systems Journal, 18(1), 1979.
|
 |
21
|
|
| |
22
|
|
| |
23
|
|
| |
24
|
|
| |
25
|
David G. Sullivan and Margo I. Seltzer. "Isolation with Flexibility: A Resource Management Framework for Central Servers," Proc. Usenix Annual Technical Conference, June 2000.
|
| |
26
|
|
| |
27
|
R. Tremaine, P. Franaszek, J. Robinson, C. Schulz, T. Smith, M. Wazlowski, and P. Bland. "IBM Memory Expansion Technology (MXT)," IBM Journal of Research and Development', 45(2), March 2001.
|
| |
28
|
Andrew Tridgell. "dbench" benchmark. Available from ftp://samba.org/pub/tridge/dbench/, September 2001.
|
| |
29
|
VMware, Inc. VMware ESX Server User's Manual Version 1.5, Palo Alto, CA, April 2002.
|
| |
30
|
Carl A. Waldspurger and William E. Weihl. "Lottery Scheduling: Flexible Proportional-Share Resource Management," Proc. Symposium on Operating System Design and Implementation, November 1994.
|
| |
31
|
|
| |
32
|
|
CITED BY 78
|
|
|
|
|
|
|
|
Yun Fu , Jeffrey Chase , Brent Chun , Stephen Schwab , Amin Vahdat, SHARP: an architecture for secure resource peering, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
|
|
Tal Garfinkel , Ben Pfaff , Jim Chow , Mendel Rosenblum , Dan Boneh, Terra: a virtual machine-based platform for trusted computing, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rich Uhlig , Gil Neiger , Dion Rodgers , Amy L. Santoni , Fernando C. M. Martins , Andrew V. Anderson , Steven M. Bennett , Alain Kagi , Felix H. Leung , Larry Smith, Intel Virtualization Technology, Computer, v.38 n.5, p.48-56, May 2005
|
|
|
Constantine Sapuntzakis , David Brumley , Ramesh Chandra , Nickolai Zeldovich , Jim Chow , Monica S. Lam , Mendel Rosenblum, Virtual Appliances for Deploying and Maintaining Software, Proceedings of the 17th USENIX conference on System administration, October 26-31, 2003, San Diego, CA
|
|
|
Brad Calder , Andrew A. Chien , Ju Wang , Don Yang, The entropia virtual machine for desktop grids, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA
|
|
|
Aravind Menon , Jose Renato Santos , Yoshio Turner , G. (John) Janakiraman , Willy Zwaenepoel, Diagnosing performance overheads in the xen virtual machine environment, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA
|
|
|
Michael Vrable , Justin Ma , Jay Chen , David Moore , Erik Vandekieft , Alex C. Snoeren , Geoffrey M. Voelker , Stefan Savage, Scalability, fidelity, and containment in the potemkin virtual honeyfarm, ACM SIGOPS Operating Systems Review, v.39 n.5, December 2005
|
|
|
|
|
|
Constantine P. Sapuntzakis , Ramesh Chandra , Ben Pfaff , Jim Chow , Monica S. Lam , Mendel Rosenblum, Optimizing the migration of virtual computers, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tal Garfinkel , Keith Adams , Andrew Warfield , Jason Franklin, Compatibility is not transparency: VMM detection myths and realities, Proceedings of the 11th USENIX workshop on Hot topics in operating systems, p.1-6, May 07-09, 2007, San Diego, CA
|
|
|
|
|
|
Wei Huang , Jiuxing Liu , Bulent Abali , Dhabaleswar K. Panda, A case for high performance computing with virtual machines, Proceedings of the 20th annual international conference on Supercomputing, June 28-July 01, 2006, Cairns, Queensland, Australia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sriram Govindan , Arjun R. Nath , Amitayu Das , Bhuvan Urgaonkar , Anand Sivasubramaniam, Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
Jose Renato Santos , Yoshio Turner , G. Janakiraman , Ian Pratt, Bridging the gap between software and hardware techniques for I/O virtualization, USENIX 2008 Annual Technical Conference on Annual Technical Conference, p.29-42, June 22-27, 2008, Boston, Massachusetts
|
|
|
Xiaoxin Chen , Tal Garfinkel , E. Christopher Lewis , Pratap Subrahmanyam , Carl A. Waldspurger , Dan Boneh , Jeffrey Dwoskin , Dan R.K. Ports, Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems, ACM SIGARCH Computer Architecture News, v.36 n.1, March 2008
|
|
|
Lisa R. Hsu , Steven K. Reinhardt , Ravishankar Iyer , Srihari Makineni, Communist, utilitarian, and capitalist cache policies on CMPs: caches as a shared resource, Proceedings of the 15th international conference on Parallel architectures and compilation techniques, September 16-20, 2006, Seattle, Washington, USA
|
|
|
|
|
|
|
|
|
|
|
|
Wei Huang , Jiuxing Liu , Matthew Koop , Bulent Abali , Dhabaleswar Panda, Nomad: migrating OS-bypass networks in virtual machines, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Padma Apparao , Ravi Iyer , Xiaomin Zhang , Don Newell , Tom Adelmeyer, Characterization & analysis of a server consolidation benchmark, Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, March 05-07, 2008, Seattle, WA, USA
|
|
|
|
|
|
Jeannie Albrecht , Ryan Braud , Darren Dao , Nikolay Topilski , Christopher Tuttle , Alex C. Snoeren , Amin Vahdat, Remote control: distributed application configuration, management, and visualization with plush, Proceedings of the 21st conference on 21st Large Installation System Administration Conference, p.1-19, November 11-16, 2007, Dallas
|
|
|
|
|
|
|
|
|
Mark A. Smith , Jan Pieper , Daniel Gruhl , Lucas Villa Real, IZO: applications of large-window compression to virtual machine management, Proceedings of the 22nd conference on Large installation system administration conference, p.121-132, November 09-14, 2008, San Diego, California
|
|
|
|
|
|
|
|
|
Charles Reis , John Dunagan , Helen J. Wang , Opher Dubrovsky , Saher Esmeir, BrowserShield: vulnerability-driven filtering of dynamic HTML, Proceedings of the 7th symposium on Operating systems design and implementation, November 06-08, 2006, Seattle, Washington
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kevin Lim , Parthasarathy Ranganathan , Jichuan Chang , Chandrakant Patel , Trevor Mudge , Steven Reinhardt, Understanding and Designing New Server Architectures for Emerging Warehouse-Computing Environments, ACM SIGARCH Computer Architecture News, v.36 n.3, p.315-326, June 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gokul Soundararajan , Daniel Lupei , Saeed Ghanbari , Adrian Daniel Popescu , Jin Chen , Cristiana Amza, Dynamic resource allocation for database servers running on virtual storage, Proccedings of the 7th conference on File and stroage technologies, p.71-84, February 24-27, 2009, San Francisco, California
|
|
|
|
|
|
|
|
|
Horacio Andrés Lagar-Cavilla , Joseph Andrew Whitney , Adin Matthew Scannell , Philip Patchin , Stephen M. Rumble , Eyal de Lara , Michael Brudno , Mahadev Satyanarayanan, SnowFlock: rapid virtual machine cloning for cloud computing, Proceedings of the fourth ACM european conference on Computer systems, April 01-03, 2009, Nuremberg, Germany
|
|
|
|
|
|
|
|
|
|
|
|
Timothy Wood , Gabriel Tarasuk-Levin , Prashant Shenoy , Peter Desnoyers , Emmanuel Cecchet , Mark D. Corner, Memory buddies: exploiting page sharing for smart colocation in virtualized data centers, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, March 11-13, 2009, Washington, DC, USA
|
|
|
Chuliang Weng , Zhigang Wang , Minglu Li , Xinda Lu, The hybrid scheduling framework for virtual machine systems, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, March 11-13, 2009, Washington, DC, USA
|
|
|
|
|
|
|
|
|
|
|
|
Pradeep Padala , Kai-Yuan Hou , Kang G. Shin , Xiaoyun Zhu , Mustafa Uysal , Zhikui Wang , Sharad Singhal , Arif Merchant, Automated control of multiple virtualized resources, Proceedings of the fourth ACM european conference on Computer systems, April 01-03, 2009, Nuremberg, Germany
|
|
|
Sriram Govindan , Jeonghwan Choi , Bhuvan Urgaonkar , Anand Sivasubramaniam , Andrea Baldini, Statistical profiling-based techniques for effective power provisioning in data centers, Proceedings of the fourth ACM european conference on Computer systems, April 01-03, 2009, Nuremberg, Germany
|
|
|
Hideki Eiraku , Yasushi Shinjo , Calton Pu , Younggyun Koh , Kazuhiko Kato, Fast networking with socket-outsourcing in hosted virtual machine environments, Proceedings of the 2009 ACM symposium on Applied Computing, March 08-12, 2009, Honolulu, Hawaii
|
|
|
|
|
|
|
|