1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.

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

Paging: Design Issues. Readings r Silbershatz et al: ,
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Page 15/4/2015 CSE 30341: Operating Systems Principles Allocation of Frames  How should the OS distribute the frames among the various processes?  Each.
Exploiting Data Deduplication to Accelerate Live Virtual Machine Migration Xiang Zhang 1,2, Zhigang Huo 1, Jie Ma 1, Dan Meng 1 1. National Research Center.
KMemvisor: Flexible System Wide Memory Mirroring in Virtual Environments Bin Wang Zhengwei Qi Haibing Guan Haoliang Dong Wei Sun Shanghai Key Laboratory.
Live Migration of Virtual Machines Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, Andrew Warfield.
Memory Buddies: Exploiting Page Sharing for Smart Colocation in Virtualized Data Centers Timothy Wood, Gabriel Tarasuk-Levin, Prashant Shenoy, Peter Desnoyers*,
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science CRAMM: Virtual Memory Support for Garbage-Collected Applications Ting Yang, Emery.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Server Consolidation in Virtualized Data Centers Prashant Shenoy University of Massachusetts.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
U NIVERSITY OF M ASSACHUSETTS Department of Computer Science Automatic Heap Sizing Ting Yang, Matthew Hertz Emery Berger, Eliot Moss University of Massachusetts.
1 PATH: Page Access Tracking Hardware to Improve Memory Management Reza Azimi, Livio Soares, Michael Stumm, Tom Walsh, and Angela Demke Brown University.
Fast and Correct Performance Recovery of Operating Systems Using a Virtual Machine Monitor Kenichi Kourai Kyushu Institute of Technology, Japan.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Virtualization for Cloud Computing
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
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.
Virtualization The XEN Approach. Virtualization 2 CS5204 – Operating Systems XEN: paravirtualization References and Sources Paul Barham, et.al., “Xen.
Improving Network I/O Virtualization for Cloud Computing.
1 Geiger: Monitoring the Buffer Cache in a Virtual Machine Environment Stephen T. Jones Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau Department of.
Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
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.
CS533 Concepts of Operating Systems Jonathan Walpole.
Revisiting Hardware-Assisted Page Walks for Virtualized Systems
DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings A. gupta, Y. Kim, B. Urgaonkar, Penn State ASPLOS.
Increasing Web Server Throughput with Network Interface Data Caching October 9, 2002 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
1 Lecture 13: Cache, TLB, VM Today: large caches, virtual memory, TLB (Sections 2.4, B.4, B.5)
Micro-sliced Virtual Processors to Hide the Effect of Discontinuous CPU Availability for Consolidated Systems Jeongseob Ahn, Chang Hyun Park, and Jaehyuk.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
1 Memory Management. 2 Fixed Partitions Legend Free Space 0k 4k 16k 64k 128k Internal fragmentation (cannot be reallocated) Divide memory into n (possible.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
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 김정수
Copyright © 2015 Miao Yu, Virgil D. Gligor, and Zongwei Zhou CyLab and ECE Department Carnegie Mellon University {miaoy1,
CS333 Intro to Operating Systems Jonathan Walpole.
Adaptive GPU Cache Bypassing Yingying Tian *, Sooraj Puthoor†, Joseph L. Greathouse†, Bradford M. Beckmann†, Daniel A. Jiménez * Texas A&M University *,
Full and Para Virtualization
M.Kersten MonetDB, Cracking and recycling Martin Kersten CWI Amsterdam.
Trusted Passages: Managing Trust Properties of Open Distributed Overlays Faculty: Mustaque Ahamad, Greg Eisenhauer, Wenke Lee and Karsten Schwan PhD Students:
Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.
CSE598c - Virtual Machines - Spring Diagnosing Performance Overheads in the Xen Virtual Machine EnvironmentPage 1 CSE 598c Virtual Machines “Diagnosing.
Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
1 Lecture: Large Caches, Virtual Memory Topics: cache innovations (Sections 2.4, B.4, B.5)
Virtual Machine Monitors
vCAT: Dynamic Cache Management using CAT Virtualization
Jonathan Walpole Computer Science Portland State University
Presented by Yoon-Soo Lee
Memory COMPUTER ARCHITECTURE
Exploiting Sharing for Data Center Consolidation
Lecture: Large Caches, Virtual Memory
PA an Coordinated Memory Caching for Parallel Jobs
XenFS Sharing data in a virtualised environment
Energy-Efficient Address Translation
Virtual Memory: Working Sets
CSE 542: Operating Systems
System Virtualization
Presentation transcript:

1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester

2 Motivation Virtual Machine (VM) memory allocation Lack of OS information at the hypervisor The existing approaches do not work well Static allocation  inefficient memory utilization & sub-optimized performance Working set sampling (i.e., VMware ESX server)  limited information to support flexible allocation, work poorly under workloads with little data reuse

3 Miss Ratio Curve Miss ratio curve (MRC) The miss rates at different memory allocation sizes Allows flexible allocation objectives The reuse distance distribution Y: page miss ratio X: memory size C1C2 Current allocation size

4 Related Work on MRC Estimation Geiger ( Jones et al., ASPLOS 2006 ) Append a ghost buffer in addition to VM memory Reuse distance is tracked through I/O Dynamic Tracking of MRC for Memory Management ( Zhou et al., ASPLOS 2004 ) & CRAMM ( Yang el at, OSDI 2006 ) Protecting the LRU pages Reuse distance is tracked through memory accesses Transparent Contribution of Memory ( Cipar et al., USENIX 2006 ) Periodically sampling the access bits to approximate the memory access traces

5 Estimate VM MRC with Hypervisor Cache The hypervisor cache approach Part of VM memory  cache managed by the hypervisor Memory accesses are tracked by cache references Low overhead & requires minimal VM information Virtual Machine Hypervisor Storage VM memory Hypervisor Cache Data misses

6 Outline The Hypervisor Cache Design Transparency & overhead Evaluation MRC-directed Multi-VM Memory Allocation Allocation Policy Evaluation Summary & Future Work

7 Design Track MRC with VM memory allocation Part of VM memory  Hypervisor cache Exclusive cache Caching efficiency Comparable miss rate HCache does not incur extra miss rate if LRU is employed Data admission from VM Avoid expensive storage I/O VM memory VM direct memoryHypervisor cache VM direct memory Hypervisor cache

8 Cache Correctness Cache contents need to be correct i.e., matching with the storage location Challenging because hypervisor has very limited information VM data eviction notification The VM OS notifies the hypervisor about a page eviction/release Page to storage location and the reverse two-way mapping tables Each VM I/O request  mappings are inserted in both mapping tables Each VM page eviction  data is admitted with consultation to the mapping tables

9 Design Transparency & Overhead Current design is not transparent Explicit page eviction notification from VM OS The changes are small, fit well in para-virtualization Reuse time inference techniques (Geiger) are not appropriate The page may have already been changed – too late to admit it from VM System overhead Cache and mapping table management Minor page faults Page eviction notification

System Workflow More complete page miss rate info – Smaller VM direct memory (larger hypervisor cache) The cache can be kept permanently (no step 3) – If overhead is not tolerable 10

11 Prototype Implementation Hypervisor Xen with VM OS Linux Page eviction as new type of VM I/O request Hypervisor cache populated through ballooning HCache and mapping tables maintained at Xen0 backend driver Page copying to transfer data Cache & Tables Read Write Eviction Back-end Front-end Storage Read, Write Xen0XenU Primitive operationsOver‘d Mapping table lookup Mapping table insert Mapping table delete Cache lookup Cache insert Cache delete Cache move to tail Page copying 0.28us 0.06us 0.28us 0.13us 0.06us 0.05us 7.82us

12 Hypervisor Cache Evaluation Goals Evaluate caching performance, overhead & MRC prediction accuracy VM Workloads I/O bound Specweb99 Keyword searching TPC-C like CPU bound TPC-H like

13 Throughput Results Total VM memory is 512MB Hypervisor cache sizes: 12.5%, 25%, 50%, and 75% of total VM memory

14 CPU Overhead Results Total VM memory is 512MB Hypervisor cache sizes: 12.5%, 25%, 50%, and 75% to VM memory

15 MRC Prediction Results

16 Outline The Hypervisor Cache Design Transparency and overhead Evaluation MRC-directed Multi-VM Memory Allocation Allocation Policy Evaluation Summary & Future Work

17 MRC-directed Multi-VM Memory Allocation More Complete VM MRC via Hypervisor cache Provides detailed miss rates at different memory sizes Flexible VM memory allocation policies Isolated Sharing Policy Maximize system-wide performance e.g., lower the geometric mean of all VMs’ miss rates Constrained individual VM performance degradation e.g., any of the VM does not suffer extra α % more miss rate

18 Isolated Sharing Experiments Base allocation of 512MB each; minimize geo. mean of miss ratios Isolation constraint at 5% ⇒ achieve mean miss ratio of 0.85 Isolation constraint at 25% ⇒ achieve mean miss ratio of 0.41

19 Comparison with VMware ESX Server ESX server policy and Isolated sharing with 0% tolerance Both work well when the VM working set (around 330MB) VM fits in the VM memory (512MB) Add a noise background workload that slowly scans through a large dataset VM MRC identifies that the VM does not benefit from extra memory ESX server estimates the working set size at 800MB, preventing memory reclamation

20 Summary and Future Work Summary VM MRC estimation via Hypervisor Cache Features, design and implementation MRC-directed multi-VM memory allocation Future Work Improving the transparency of HCache Reducing the overhead of HCache Generic hypervisor buffer cache