Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –

Slides:



Advertisements
Similar presentations
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Appears in SOSDI.
Advertisements

Virtual Memory (II) CSCI 444/544 Operating Systems Fall 2008.
Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
VMWare ESX Memory Management Dr. Sanjay P. Ahuja, Ph.D FIS Distinguished Professor of Computer Science School of Computing, UNF.
Memory Resource Management in Vmware ESX Server Author: Carl A. Waldspurger Vmware, Inc. Present: Jun Tao.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Resource Management for Virtualized Systems Carl Waldspurger VMware R&D.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
CSE 598B: Self-* Systems Memory Resource Management in VMware ESX Server by Carl A. Waldspurger Presented by: Arjun R. Nath (slide material adapted from.
Page 15/4/2015 CSE 30341: Operating Systems Principles Allocation of Frames  How should the OS distribute the frames among the various processes?  Each.
VSphere vs. Hyper-V Metron Performance Showdown. Objectives Architecture Available metrics Challenges in virtual environments Test environment and methods.
Xen , Linux Vserver , Planet Lab
Memory Buddies: Exploiting Page Sharing for Smart Colocation in Virtualized Data Centers Timothy Wood, Gabriel Tarasuk-Levin, Prashant Shenoy, Peter Desnoyers*,
G Robert Grimm New York University Disco.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Virtualization for Cloud Computing
Virtualization 101.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Virtualization 101.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Virtualization Lab 3 – Virtualization Fall 2012 CSCI 6303 Principles of I.T.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Page 19/17/2015 CSE 30341: Operating Systems Principles Optimal Algorithm  Replace page that will not be used for longest period of time  Used for measuring.
Improving Network I/O Virtualization for Cloud Computing.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Virtual Machine and its Role in Distributed Systems.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
Embedded System Lab. 오명훈 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Palo Alto, CA USA
Virtualization Part 2 – VMware. Virtualization 2 CS5204 – Operating Systems VMware: binary translation Hypervisor VMM Base Functionality (e.g. scheduling)
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
Virtualization Infrastructure Administration
Virtualization Part 2 – VMware Hardware Support. Virtualization 2 CS 5204 – Fall, 2008 VMware: binary translation Hypervisor VMM Base Functionality (e.g.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.
Project Name Program Name Project Scope Title Project Code and Name Insert Project Branding Image Here.
CS 3204 Operating Systems Godmar Back Lecture 27.
VMWare MMU Ranjit Kolkar. Designed for efficient use of resources. ESX uses high-level resource management policies to compute a target memory allocation.
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
Full and Para Virtualization
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Virtualization Fundamentals for DBAs Joey D’Antoni February 3, 2015 DBA Fundamentals VC.
Virtualization.
Memory Resource Management in VMware ESX Server
L2- Virtualization Technology
Presented by Yoon-Soo Lee
Virtual Machines Calum Aldridge.
Virtual Servers.
XenFS Sharing data in a virtualised environment
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
OS Virtualization.
Virtualization 101.
VSWAPPER: A Memory Swapper for Virtualized Environments
Introduction to Virtual Machines
Virtual Memory: Working Sets
Introduction to Virtual Machines
Virtualization Dr. S. R. Ahmed.
System Virtualization
Presentation transcript:

Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 – W161

Overview Background Memory Reclamation Page Sharing Memory Allocation Policies Related Work Conclusion EECS 582 – W162

Background Server consolidation needed Many physical servers underutilized Consolidate multiple workloads per machine Using Virtual Machines VMware ESX Server: a thin software layer designed to multiplex hardware resources efficiently among virtual machines Virtualizes the Intel IA-32 architecture Runs existing operating systems without modification EECS 582 – W163

ESX Server EECS 582 – W164

Memory Abstractions in ESX Terminology Machine address: actual hardware memory “Physical” address: a software abstraction used to provide the illusion of hard ware memory to a virtual machine Pmap: for each VM to translate “physical” page numbers (PPN) to machine page numbers (MPN) Shadow page tables: contain virtual-to-machine page mappings EECS 582 – W165

Memory Abstractions in ESX (cont.) EECS 582 – W166

Memory Reclamation Traditional approach Introduce another level of paging, moving some VM “physical” pages to a swap area on disk Disadvantages: Requires a meta-level page replacement policy Introduces performance Double paging problem EECS 582 – W167

Memory Reclamation (cont.) The hip approach: Implicit cooperation Coax guest into doing the page replacement Avoid meta-level policy decisions EECS 582 – W168

Ballooning EECS 582 – W169

Ballooning (cont.) EECS 582 – W1610 The black bars plot the performance when the VM is configured with main memory sizes ranging from 128 MB to 256 MB The gray bars plot the performance of the same VM configured with 256 MB, ballooned down to the specified size Throughput of a Linux VM running dbench with 40 clients

Ballooning (cont.) Ballooning is not available all the time: OS boot time, driver explicitly disabled Ballooning does not respond fast enough for certain situations Guest OS might have limitations to upper bound on balloon size EECS 582 – W1611

Page Sharing ESX Server exploits redundancy of data across VMs Multiple instances of the same guest OS can and do share some of the same data and applications Sharing across VMs can reduce total memory usage The system allows tries to share a page before swapping out pages EECS 582 – W1612

Page Sharing (cont.) Content-Based Page Sharing Identify page copies by their contents. Pages with identical contents can be shared regardless of when, where or how those contents were generated Background activity saves memory over time Advantages: Eliminates the need to modify, hook or even understanding guest OS code Able to identify more opportunities for sharing EECS 582 – W1613

Page Sharing (cont.) EECS 582 – W1614 Scan Candidate PPN

Page Sharing (cont.) EECS 582 – W1615 Successful Match

Page Sharing (cont.) EECS 582 – W1616

Memory Allocation policies ESX allows proportional memory allocation for VMs With maintained memory performance With VM isolation Admin configurable { min, max, shares } EECS 582 – W1617

Proportional allocation Resource rights are distributed to clients through TICKETS Clients with more tickets get more resources relative to the total resources in the system In overloaded situations client allocation degrades gracefully Proportional-share can be unfair, ESX uses an “idle memory tax” to be more reasonable EECS 582 – W1618

Idle Memory Tax Tax on idle memory Charge more for idle page than active page Idle-adjusted shares-per-page ratio Tax rate Explicit administrative parameter 0% is too unfair, 100% is too aggressive, 75% is the default High default rate Reclaim most idle memory Some buffer against rapid working-set increases EECS 582 – W1619

Idle Memory Tax (cont.) The tax rate specifies the max number of idle pages that can be reallocated to active clients When an idle paging client starts increasing its activity the pages can be reallocated back to full share ESX statistically samples pages in each VM to estimate active memory usage ESX by default samples 100 pages every 30 seconds EECS 582 – W1620

Idle Memory Tax (cont.) EECS 582 – W1621 Experiment: 2 VMs, 256 MB, same shares. VM1: Windows boot+idle. VM2:Linux boot+dbench. Solid: usage, Dotted:active. Change tax rate 0%  75% After: high tax. Redistribute VM1→VM2. VM1 reduced to min size. VM2 throughput improves 30%

Dynamic Reallocation ESX uses thresholds to dynamically allocate memory to VMs ESX has 4 levels from high, soft, hard and low The default levels are 6%, 4%, 2% and 1% ESX can block a VM above target allocations when levels are at low Rapid state fluctuations are prevented by changing back to higher level only after higher threshold is significantly exceeded EECS 582 – W1622

Dynamic Reallocation EECS 582 – W1623

I/O Page Remapping IA-32 supports PAE to address up to 64GB of memory over a 36bit address space ESX can remap “hot” pages in high “physical” memory addresses to lower machine addresses EECS 582 – W1624

Related Work Disco and Cellular Disco Virtualized servers to run multiple instances of IRIX Vmware Workstation Type 2 hypervisor; ESX is type 1 Self-paging of the Nemesis system Similar to Ballooning Requires applications to handle their own virtual memory operations Transparent page sharing work in Disco IBM’s MXT memory compression technology Hardware approach; but can be achieved through page sharing EECS 582 – W1625

Conclusion Key features Flexible dynamic partitioning Efficient support for overcommitted workloads Novel mechanisms Ballooning leverages guest OS algorithms Content-based page sharing Integrated policies Proportional-sharing with idle memory tax Dynamic reallocation EECS 582 – W1626