Memory Resource Management in VMware ESX Server



Similar documents
Memory Resource Management in VMware ESX Server

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Dr. Yingwu Zhu

Understanding Memory Resource Management in VMware vsphere 5.0

Virtualization. Explain how today s virtualization movement is actually a reinvention

Understanding Memory Resource Management in VMware ESX 4.1

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Microsoft Office SharePoint Server 2007 Performance on VMware vsphere 4.1

Introduction to Virtual Machines

Comparison of Memory Balloon Controllers

Active Continuous Optimization (ACO) for Server Infrastructure Performance Improvement

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Performance Management in the Virtual Data Center, Part II Memory Management

Data Centers and Cloud Computing

Chapter 14 Virtual Machines

BridgeWays Management Pack for VMware ESX

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

ESX Server Performance and Resource Management for CPU-Intensive Workloads

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Virtualization Overview

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

WHITE PAPER Optimizing Virtual Platform Disk Performance

Virtualization. Jukka K. Nurminen

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

Virtualization Technology. Zhiming Shen

Effects of Memory Randomization, Sanitization and Page Cache on Memory Deduplication

Analysis of Memory Ballooning Technique for Dynamic Memory Management of Virtual Machines (VMs)

Database Virtualization

Capacity Analysis Techniques Applied to VMware VMs (aka When is a Server not really a Server?)

Cloud Computing CS

Benchmarking Hadoop & HBase on Violin

VI Performance Monitoring

Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

An Oracle Technical White Paper June Oracle VM Windows Paravirtual (PV) Drivers 2.0: New Features

Managing Capacity Using VMware vcenter CapacityIQ TECHNICAL WHITE PAPER

Oracle Database Scalability in VMware ESX VMware ESX 3.5

Server and Storage Sizing Guide for Windows 7 TECHNICAL NOTES

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

x86 ISA Modifications to support Virtual Machines

Architecting for the next generation of Big Data Hortonworks HDP 2.0 on Red Hat Enterprise Linux 6 with OpenJDK 7

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

Virtualization. Types of Interfaces

Xen and the Art of. Virtualization. Ian Pratt

KVM & Memory Management Updates

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

VMware Virtual Infrastucture From the Virtualized to the Automated Data Center

An Introduction to Virtual Machines Implementation and Applications

Red Hat enterprise virtualization 3.0 feature comparison

<Insert Picture Here> Introducing Oracle VM: Oracle s Virtualization Product Strategy

The Truth Behind IBM AIX LPAR Performance

Introduction to Virtual Machines

IOS110. Virtualization 5/27/2014 1

Cloud Scale Resource Management: Challenges and Techniques

nanohub.org An Overview of Virtualization Techniques

Solution Guide Parallels Virtualization for Linux

Virtual Machines. COMP 3361: Operating Systems I Winter

COM 444 Cloud Computing

Rackspace Cloud Databases and Container-based Virtualization

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Avoiding Performance Bottlenecks in Hyper-V

Migration of Virtual Machines for Better Performance in Cloud Computing Environment

Virtualization Performance on SGI UV 2000 using Red Hat Enterprise Linux 6.3 KVM

Proactive and Reactive Monitoring

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November ISSN

MED 0115 Optimizing Citrix Presentation Server with VMware ESX Server

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Best Practices for Virtualised SharePoint

Best Practices for Monitoring a Vmware Environment. Gary Powell Senior Consultant IBM SWG Tivoli

Virtualization. Pradipta De

Server and Storage Virtualization

Building an Internal Cloud that is ready for the external Cloud

RED HAT ENTERPRISE VIRTUALIZATION & CLOUD COMPUTING

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Clouds Under the Covers. Elgazzar - CISC Fall

Multi-core Programming System Overview

Balancing CPU, Storage

Computing in High- Energy-Physics: How Virtualization meets the Grid

Hyper-V vs ESX at the datacenter

Effective Resource Allocation For Dynamic Workload In Virtual Machines Using Cloud Computing

Redefining Backup for VMware Environment. Copyright 2009 EMC Corporation. All rights reserved.

Effects of Memory Randomization, Sanitization and Page Cache on Memory Deduplication

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

Enabling Technologies for Distributed Computing

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009

Transcription:

Memory Resource Management in VMware ESX Server Carl Waldspurger OSDI 02 Presentation December 10, 2002

Overview Context Memory virtualization Reclamation Sharing Allocation policies Conclusions 2 2

Motivation Server consolidation Many physical servers underutilized Consolidate multiple workloads per machine Virtual machines Illusion of dedicated physical machine Encapsulate workload (OS + apps) IBM VM/370 [Creasy 81], Disco [Bugnion 97], VMware [Sugerman 01] Resource management Fairness, performance isolation Efficient utilization 3 3

ESX Server Commercially-available product Thin kernel designed to run VMs Multiplex hardware resources High-performance I/O 4 4

Memory Virtualization Traditional VMM approach: extra level of indirection virtual physical guest maps VPN to PPN physical machine pmap maps PPN to MPN Ordinary memory refs: hardware maps VPN to MPN guest pmap VPN PPN MPN hardware page table hardware TLB 5 5

Reclaiming Memory Traditional: add transparent swap layer Requires meta-level page replacement decisions Best data to guide decisions known only by guest OS Guest and meta-level policies may clash Example: double paging anomaly Alternative: implicit cooperation Coax guest into doing page replacement Avoid meta-level policy decisions 6 6

Ballooning inflate balloon (+ pressure) Guest OS balloon may page out to virtual disk Guest OS balloon guest OS manages memory implicit cooperation deflate balloon ( pressure) Guest OS may page in from virtual disk 7 7

Ballooning Details Guest drivers Inflate: allocate pinned PPNs; backing MPNs reclaimed Use standard Windows/Linux/BSD kernel APIs Related: Nemesis self-paging [Hand 99], Collective [Sapuntzakis 02] Performance benchmark Linux VM, memory-intensive dbench workload Compare 256 MB with balloon sizes 32 128 MB vs. static VMs Overhead 1.4% 4.4% Some limitations 8 8

Sharing Memory Motivation Multiple VMs running same OS, apps Collapse redundant copies of code, data, zeros Transparent page sharing Map multiple PPNs to single MPN copy-on-write Pioneered by Disco [Bugnion 97], but required guest OS hooks New twist: content-based sharing General-purpose, no guest OS changes Background activity saves memory over time 9 9

Page Sharing: Scan Candidate PPN 011010 110101 010111 101100 VM 1 VM 2 VM 3 hash page contents 2bd806af Machine Memory hint frame Hash: VM: PPN: MPN: 06af 3 43f8 123b hash table 10 10

Page Sharing: Successful Match VM 1 VM 2 VM 3 Machine Memory shared frame Hash: Refs: MPN: 06af 2 123b hash table 11 11

Page Sharing Performance Memory (MB) 400 300 200 100 0 1 2 3 4 5 6 7 8 9 10 Number of VMs Best-case workload Identical Linux VMs SPEC95 benchmarks Lots of potential sharing Metrics Total guest PPNs Shared PPNs 67% Saved MPNs 60% Effective sharing Negligible overhead 12 12

Real-World Page Sharing Total Saved Workload Guest Types MB MB % Corporate IT 10 Windows 2048 673 32.9 Nonprofit Org 9 Linux 1846 345 18.7 VMware 5 Linux 1658 120 7.2 Corporate IT database, web, development servers (Oracle, Websphere, IIS, Java, etc.) Nonprofit Org web, mail, anti-virus, other servers (Apache, Majordomo, MailArmor, etc.) VMware web proxy, mail, remote access (Squid, Postfix, RAV, ssh, etc.) 13 13

Allocation Parameters Min size Guaranteed, even when overcommitted Enforced by admission control Max size Amount of physical memory seen by guest OS Allocation when undercommitted Shares Specify relative importance Proportional-share fairness 14 14

Allocation Policy Traditional approach Optimize aggregate system-wide metric Problem: no QoS guarantees, VM importance varies Pure share-based approach Revoke from VM with min shares-per-page ratio [Waldspurger 95] Problem: ignores usage, unproductive hoarding [Sullivan 00] Desired behavior VM gets full share when actively using memory VM may lose pages when working set shrinks 15 15

Reclaiming Idle Memory Tax on idle memory Charge more for idle page than active page Idle-adjusted shares-per-page ratio Tax rate Explicit administrative parameter 0% plutocracy 100% socialism High default rate Reclaim most idle memory Some buffer against rapid working-set increases 16 16

Measuring Active Memory Experiment 300 Single Windows VM Memory (MB) 250 200 150 100 ZPT Memory toucher app Active memory estimate Statistical sampling Small random subset of pages Software access bits [Joy 81] 50 Moving averages [Kim 01] 0 0 10 20 30 40 Time (min) Behavior Rapid response to usage Gradual response to usage Windows zero page thread 17 17

Idle Memory Tax: 0% 300 250 Experiment 2 VMs, 256 MB, same shares VM1: Windows boot+idle Memory (MB) 200 150 100 50 0 0 10 20 30 40 50 60 VM2: Linux boot+dbench Solid: usage, Dotted: active Change tax rate Before: no tax VM1 idle, VM2 active get same allocation Time (min) 18 18

Idle Memory Tax: 75% 300 250 Experiment 2 VMs, 256 MB, same shares VM1: Windows boot+idle Memory (MB) 200 150 100 50 0 0 10 20 30 40 50 60 Time (min) VM2: Linux boot+dbench Solid: usage, Dotted: active Change tax rate After: high tax Redistribute VM1 VM2 VM1 reduced to min size VM2 throughput improves 30% 19 19

Dynamic Reallocation Reallocation events Enforcing target allocations Ballooning: common-case optimization Swapping: dependable fallback, try sharing first Reclamation states High background sharing Soft mostly balloon Hard mostly swap Low swap and block VMs above target 20 20

Conclusions Key features Flexible dynamic partitioning Efficient support for overcommitted workloads Novel mechanisms Ballooning leverages guest OS algorithms Content-based page sharing Statistical working-set estimation Integrated policies Proportional-sharing with idle memory tax Dynamic reallocation 21 21

Questions? Carl Waldspurger OSDI 02 Presentation December 10, 2002 22

Extra Slides Carl Waldspurger OSDI 02 Presentation December 10, 2002 23

I/O Page Remapping DMA from high memory IA-32 PAE mode supports 36-bit addressing (up to 64 GB) Many 32-bit I/O devices (low 4 GB only) VM memory may be located anywhere Copy when necessary Conventional approach Use temporary DMA bounce buffer Dynamic page remapping Keep copy statistics to identify hot pages Transparently remap from high to low memory 24 24