Reducing Memory Virtualization Overheads in Virtualized Datacenters. Jayneel Gandhi, Arkaprava Basu, Michael M. Swift, Mark D.

Size: px
Start display at page:

Download "Reducing Memory Virtualization Overheads in Virtualized Datacenters. Jayneel Gandhi, Arkaprava Basu, Michael M. Swift, Mark D."

Transcription

1 Reducing Memory Virtualization Overheads in Virtualized Datacenters Jayneel Gandhi, Arkaprava Basu, Michael M. Swift, Mark D. Hill

2 Executive Summary Problem: TLB misses in virtual machines Hardware-virtualized MMU has high overheads Up to 280% overhead Prior Work: Direct Segments unvirtualized case Solution: segmentation to bypass paging Extend Direct Segments for virtualization Three configurations with different tradeoffs Results Near- or better-than-native performance 2

3 Outline Motivation Review: Direct Segments Virtualized Direct Segments Optimizations Evaluation Methodology Results Summary 3

4 Overheads of Virtualizing Memory We show that that the increase in translation lookaside buffer (TLB) miss-handling costs due to hard-ware-assisted memory management unit (MMU) is the largest contributor to the performance gap between native and virtual servers. Buell, et al. VMware Technical Journal

5 Unvirtualized x86 translation Virtual Address VA Page Table CR3 Physical Address PA Up to mem accesses = 4 5

6 Two-levels of translation Guest Virtual Address Guest Physical 1 2 Address Host Physical Address cr3 cr3 gva gpa hpa Guest Page Table Nested Page Table Base Virtualized 6

7 Support for Virtualizing Memory gva CR3 hpa Up to Mem accesses gpa 5 ncr3 gpa ncr3 + 5 gpa ncr3 + 5 gpa ncr3 + 5 gpa ncr3 + 4 = 24 7

8 Applications Database Graph-analytics Key-value store HPC Apps Big-memory applications Standard Workloads (in-memory apps) 8

9 EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD Cost of Virtualization 60% 50% 40% Native Virtual Overheads of virtual memory can be high 800% 700% 600% 500% 30% 400% 20% 10% 300% 200% 100% 0% 0% graph500 memcached NPB: CG GUPS 9

10 EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% Cost of Virtualization Native Virtual 60% 50% Overheads of virtualizing virtual memory are even higher 800% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 10

11 EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Cost of Virtualization Native Virtual 60% 50% Larger pages at VMM are not sufficient to achieve native performance 800% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 11

12 EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Cost of Virtualization Native Virtual 60% 50% Large Pages (B) are not sufficient to achieve negligible overheads 800% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 12

13 EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Cost of Virtualization Native Virtual 60% 50% Huge Pages (B) can adversely affect performance 800% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 13

14 THP THP+ THP+ THP THP+ THP+ THP THP+ THP+ THP THP+ THP+ THP THP+ THP+ THP THP+ THP+ 0.59% 0.81% 1.14% EXECUTION TIME OVERHEAD 83% 88% 103% 70% 280% 149% 160% Cost of Virtualization 60% 50% Native Virtual Similar trends for standard workloads 40% 30% 20% 10% 0% cactusadm canneal GemsFDTD mcf omnetpp streamcluster 14

15 Outline Motivation Review: Direct Segments Virtualized Direct Segments Optimizations Evaluation Methodology Results Summary 15

16 Unvirtualized Direct Segments 1 Conventional Paging 2 Direct Segment VA BASE OFFSET LIMIT PA Why Direct Segment? Matches big memory workload needs NO TLB lookups => NO TLB Misses Basu et al. [ISCA 2013] 16

17 Translation with Direct Segments [V 47 V 46 V 13 V 12 ] [V 11 V 0 ] OFFSET BASE? LIMIT<? Direct Segment Ignored N HIT HIT/MISS DTLB Lookup MISS Page-Table Walker [P 40 P 39.P 13 P 12 ] Basu et al. [ISCA 2013] [P 11 P 0 ] 17

18 Translation with Direct Segments [V 47 V 46 V 13 V 12 ] [V 11 V 0 ] OFFSET BASE? Y LIMIT<? DTLB Lookup Paging Ignored HIT/MISS MISS Page-Table Walker [P 40 P 39.P 13 P 12 ] Basu et al. [ISCA 2013] [P 11 P 0 ] 18

19 Direct Segments VA VA cr3 cr3 PA Base Native PA Direct Segments 19

20 Outline Motivation Review: Direct Segments Virtualized Direct Segments Evaluation Methodology Results Summary 20

21 Guest Page Table Modes Nested Page Table 1 2 gva cr3 gpa cr3 hpa Base Guest VMM Dual Virtualized Direct 21

22 Base Virtualized: Translation gva cr3 1 gpt gpa cr3 2 npt hpa Base Virtualized 22

23 Dual Direct: Translation gva cr3 1 gpt Guest Direct Segment gpa cr3 2 npt Host Direct Segment hpa Dual Direct 23

24 VMM Direct: Translation gva cr3 1 gpt gpa cr3 2 npt Host Direct Segment hpa VMM Direct 24

25 Guest Direct: Translation gva cr3 1 Guest Direct Segment gpa cr3 2 npt hpa 25

26 Tradeoffs: Efficiency Properties Dimension of page walk # of mem. accesses for most page walks # of base-bound computation for page walks Base Virtualized Dual Direct VMM Direct Guest Direct 2D 0D 1D 1D

27 Tradeoffs: Compatibility Properties Guest OS modifications VMM modifications Application Category Base Dual VMM Guest Virtualized Direct Direct Direct X X X minimal Any Any Bigmemory Bigmemory 27

28 Tradeoffs: Memory Overcommit Properties Base Virtualized Dual Direct VMM Direct Guest Direct Page Sharing limited limited Ballooning limited limited Guest OS Swapping limited limited VMM Swapping limited limited 28

29 Outline Motivation Review: Direct Segments Virtualized Direct Segments Optimizations Evaluation Methodology Results Summary 29

30 Optimizations Issue 1: Guest/Host memory fragmentation Guest physical memory: Self-ballooning Host physical memory: Compaction Issue 2: Permanent hard memory faults Escape filter to provide alternate translation Bloom filter stores small number of faulty pages Filter checked in parallel with segment registers For more details: Come to the poster 30

31 Outline Motivation Review: Direct Segments Virtualized Direct Segments Optimizations Evaluation Methodology Results Summary 31

32 Methodology Estimate performance of future hardware Measure fraction of TLB misses to segmented memory Measure TLB miss cost with performance counters Estimate performance gain with linear model Prototype Linux v host/guest Qemu-KVM hypervisor Intel 12-core Sandy-bridge with 96GB memory 32

33 +VD GD+ DD +VD GD+ DD +DS GD+ DD +VD GD+ DD EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Results Native Virtual Modeled 60% 800% 50% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 33

34 +VD GD+ DD +VD GD+ DD +DS GD+ DD +VD GD+ DD EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Results Native Virtual Modeled 60% 50% VMM Direct and Guest Direct achieves near-native performance 800% 700% 600% 40% 500% 30% 400% 20% 300% 200% 10% 100% 0% 0% graph500 memcached NPB: CG GUPS 34

35 +VD GD+ DD +VD GD+ DD +DS GD+ DD +VD GD+ DD 0.01% 0.00% 0.01% 0.17% EXECUTION TIME OVERHEAD EXECUTION TIME OVERHEAD 113% 1556% 880% 908% Results Native Virtual Modeled 60% 50% Dual Direct eliminates most of the TLB misses achieving better-than native performance 800% 700% 600% 40% 500% 30% 400% 20% 300% 10% 200% 100% 0% 0% graph500 memcached NPB: CG GUPS 35

36 +VD +VD +VD +VD +VD +VD EXECUTION CYCLE OVERHEAD 83% 88% 103% 60% 70% 280% 149% 160% 82% Results 60% 50% Native Virtual Modeled VMM Direct achieves near-native performance for standard workloads 40% 30% 20% 10% 0% cactusadm canneal GemsFDTD mcf omnetpp streamcluster 36

37 Summary Problem: TLB misses in virtual machines Hardware-virtualized MMU has high overheads Up to 280% overhead Prior Work: Direct Segments unvirtualized case Solution: segmentation to bypass paging Extend Direct Segments for virtualization Three configurations with different tradeoffs Results Near- or better-than-native performance 37

38 Questions? For more details: Come to the poster 38

Virtual Virtual Memory

Virtual Virtual Memory Virtual Virtual Memory Jason Power 3/20/2015 With contributions from Jayneel Gandhi and Lena Olson 4/17/2015 UNIVERSITY OF WISCONSIN 1 Virtual Machine History 1970 s: VMMs 1997: Disco 1999: VMWare (binary

More information

Redundant Memory Mappings for Fast Access to Large Memories

Redundant Memory Mappings for Fast Access to Large Memories Redundant Memory Mappings for Fast Access to Large Memories Vasileios Karakostas* 1,2 Jayneel Gandhi* 6 Furkan Ayar 3 Adrián Cristal 1,2,7 Mark D. Hill 6 Kathryn S. McKinley 4 Mario Nemirovsky 5 Michael

More information

AGILE PAGING FOR EFFICIENT MEMORY VIRTUALIZATION

AGILE PAGING FOR EFFICIENT MEMORY VIRTUALIZATION ... AGILE PAGING FOR EFFICIENT MEMORY VIRTUALIZATION... VIRTUALIZATION PROVIDES BENEFITS FOR MANY WORKLOADS, BUT THE ASSOCIATED OVERHEAD IS STILL HIGH.THE COST COMES FROM MANAGING TWO LEVELS OF ADDRESS

More information

ADDRESS TRANSLATION AND TLB

ADDRESS TRANSLATION AND TLB ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 3 submission deadline: Nov.

More information

System Virtual Machines

System Virtual Machines System Virtual Machines Outline Need and genesis of system Virtual Machines Basic concepts User Interface and Appearance State Management Resource Control Bare Metal and Hosted Virtual Machines Co-designed

More information

ADDRESS TRANSLATION AND TLB

ADDRESS TRANSLATION AND TLB ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 4 submission deadline: Mar.

More information

System Virtual Machines

System Virtual Machines System Virtual Machines Outline Need and genesis of system Virtual Machines Basic concepts User Interface and Appearance State Management Resource Control Bare Metal and Hosted Virtual Machines Co-designed

More information

SmartMD: A High Performance Deduplication Engine with Mixed Pages

SmartMD: A High Performance Deduplication Engine with Mixed Pages SmartMD: A High Performance Deduplication Engine with Mixed Pages Fan Guo 1, Yongkun Li 1, Yinlong Xu 1, Song Jiang 2, John C. S. Lui 3 1 University of Science and Technology of China 2 University of Texas,

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

Increase KVM Performance/Density

Increase KVM Performance/Density Increase KVM Performance/Density with Hyper-V Memory Enlightenments Interface Chao Peng (chao.p.peng@intel.com) Contributors: Chao Gao, Yi Sun Expectations in Memory Virtualization Space Time High Performance

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

1. Creates the illusion of an address space much larger than the physical memory

1. Creates the illusion of an address space much larger than the physical memory Virtual memory Main Memory Disk I P D L1 L2 M Goals Physical address space Virtual address space 1. Creates the illusion of an address space much larger than the physical memory 2. Make provisions for

More information

Progress & Challenges for Virtual Memory Management Kathryn S. McKinley

Progress & Challenges for Virtual Memory Management Kathryn S. McKinley Progress & Challenges for Virtual Memory Management Kathryn S. McKinley Microsoft Research 1! The Storage Gap Petabytes 50,000,000! 40,000,000! 30,000,000! 20,000,000! 10,000,000! 0! Digital Universe

More information

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate

More information

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems Lecture 7 Xen and the Art of Virtualization Paul Braham, Boris Dragovic, Keir Fraser et al. Advanced Operating Systems 16 November, 2011 SOA/OS Lecture 7, Xen 1/38 Contents Virtualization Xen Memory CPU

More information

Transparent Hugepage Support

Transparent Hugepage Support Transparent Hugepage Support Red Hat Inc. Andrea Arcangeli aarcange at redhat.com KVM Forum 2010 Boston Copyright 2010 Red Hat Inc. 9 Aug 2010 Benefit of hugepages Enlarge TLB size TLB is separate for

More information

Knut Omang Ifi/Oracle 6 Nov, 2017

Knut Omang Ifi/Oracle 6 Nov, 2017 Software and hardware support for Network Virtualization part 1 Knut Omang Ifi/Oracle 6 Nov, 2017 1 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites:

More information

CS 537 Lecture 6 Fast Translation - TLBs

CS 537 Lecture 6 Fast Translation - TLBs CS 537 Lecture 6 Fast Translation - TLBs Michael Swift 9/26/7 2004-2007 Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift Faster with TLBS Questions answered in this lecture: Review

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Spring 2018 Lecture 16: Virtual Machine Monitors Geoffrey M. Voelker Virtual Machine Monitors 2 Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot

More information

CS 5523 Operating Systems: Memory Management (SGG-8)

CS 5523 Operating Systems: Memory Management (SGG-8) CS 5523 Operating Systems: Memory Management (SGG-8) Instructor: Dr Tongping Liu Thank Dr Dakai Zhu, Dr Palden Lama, and Dr Tim Richards (UMASS) for providing their slides Outline Simple memory management:

More information

Efficient Synonym Filtering and Scalable Delayed Translation for Hybrid Virtual Caching

Efficient Synonym Filtering and Scalable Delayed Translation for Hybrid Virtual Caching Efficient Synonym Filtering and Scalable Delayed Translation for Hybrid Virtual Caching Chang Hyun Park, Taekyung Heo, Jaehyuk Huh School of Computing, KAIST {changhyunpark, tkheo}@calab.kaist.ac.kr, and

More information

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization. Virtualization Basics Motivation OS Virtualization CSC 456 Final Presentation Brandon D. Shroyer Types of Virtualization Process virtualization (Java) System virtualization (classic, hosted) Emulation

More information

Server Virtualization Approaches

Server Virtualization Approaches Server Virtualization Approaches Virtual Machine Applications Emulation Replication Composition Emulation: Mix-and-match cross-platform portability Replication: Multiple VMs on single platform Composition:

More information

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels Virtualization Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels 1 What is virtualization? Creating a virtual version of something o Hardware, operating system, application, network, memory,

More information

Taking a trip down vsphere memory lane

Taking a trip down vsphere memory lane Taking a trip down vsphere memory lane Memory Management Concepts Memory virtualization - Beyond CPU virtualization the next critical component is Memory virtualization. This involves sharing the physical

More information

VIRTUAL MEMORY II. Jo, Heeseung

VIRTUAL MEMORY II. Jo, Heeseung VIRTUAL MEMORY II Jo, Heeseung TODAY'S TOPICS How to reduce the size of page tables? How to reduce the time for address translation? 2 PAGE TABLES Space overhead of page tables The size of the page table

More information

Advanced Systems Security: Virtual Machine Systems

Advanced Systems Security: Virtual Machine Systems Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:

More information

EECS 470. Lecture 16 Virtual Memory. Fall 2018 Jon Beaumont

EECS 470. Lecture 16 Virtual Memory. Fall 2018 Jon Beaumont Lecture 16 Virtual Memory Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Slides developed in part by Profs. Austin, Brehob, Falsafi, Hill, Hoe, Lipasti, Shen, Smith, Sohi, Tyson, and

More information

I, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3.

I, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3. 5 Solutions Chapter 5 Solutions S-3 5.1 5.1.1 4 5.1.2 I, J 5.1.3 A[I][J] 5.1.4 3596 8 800/4 2 8 8/4 8000/4 5.1.5 I, J 5.1.6 A(J, I) 5.2 5.2.1 Word Address Binary Address Tag Index Hit/Miss 5.2.2 3 0000

More information

Master s Thesis! Improvement of the Virtualization Support in the Fiasco.OC Microkernel! Julius Werner!

Master s Thesis! Improvement of the Virtualization Support in the Fiasco.OC Microkernel! Julius Werner! Master s Thesis! Improvement of the Virtualization Support in the Fiasco.OC Microkernel! Julius Werner! jwerner@cs.tu- berlin.de Technische Universität Berlin! 28.08.2012! Julius Werner (Master s Thesis)!

More information

What s Virtual Memory Management. Virtual Memory Management: TLB Prefetching & Page Walk. Memory Management Unit (MMU) Problems to be handled

What s Virtual Memory Management. Virtual Memory Management: TLB Prefetching & Page Walk. Memory Management Unit (MMU) Problems to be handled Virtual Memory Management: TLB Prefetching & Page Walk Yuxin Bai, Yanwei Song CSC456 Seminar Nov 3, 2011 What s Virtual Memory Management Illusion of having a large amount of memory Protection from other

More information

Devirtualizing memory in heterogeneous systems

Devirtualizing memory in heterogeneous systems Devirtualizing memory in heterogeneous systems Swapnil Haria Mark D. Hill Michael M. Swift University of Wisconsin-Madison {swapnilh, markhill, swift} @cs.wisc.edu Abstract Accelerators are increasingly

More information

Multi-level Translation. CS 537 Lecture 9 Paging. Example two-level page table. Multi-level Translation Analysis

Multi-level Translation. CS 537 Lecture 9 Paging. Example two-level page table. Multi-level Translation Analysis Multi-level Translation CS 57 Lecture 9 Paging Michael Swift Problem: what if you have a sparse address space e.g. out of GB, you use MB spread out need one PTE per page in virtual address space bit AS

More information

Virtual Memory, Address Translation

Virtual Memory, Address Translation Memory Hierarchy Virtual Memory, Address Translation Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing,

More information

Virtual to physical address translation

Virtual to physical address translation Virtual to physical address translation Virtual memory with paging Page table per process Page table entry includes present bit frame number modify bit flags for protection and sharing. Page tables can

More information

Virtual Machine Monitors (VMMs) are a hot topic in

Virtual Machine Monitors (VMMs) are a hot topic in CSE 120 Principles of Operating Systems Winter 2007 Lecture 16: Virtual Machine Monitors Keith Marzullo and Geoffrey M. Voelker Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot topic

More information

Virtualization History and Future Trends

Virtualization History and Future Trends Virtualization History and Future Trends Christoffer Dall - Candidacy Exam - January 2013 Columbia University - Computer Science Department IBM Mainframe VMs VMware Workstation x86 Hardware Support Virtual

More information

vcache: Architectural Support for Transparent and Isolated Virtual LLCs in Virtualized Environments

vcache: Architectural Support for Transparent and Isolated Virtual LLCs in Virtualized Environments vcache: Architectural Support for Transparent and Isolated Virtual LLCs in Virtualized Environments Daehoon Kim *, Hwanju Kim, Nam Sung Kim *, and Jaehyuk Huh * University of Illinois at Urbana-Champaign,

More information

Virtual Memory. CS 351: Systems Programming Michael Saelee

Virtual Memory. CS 351: Systems Programming Michael Saelee Virtual Memory CS 351: Systems Programming Michael Saelee registers cache (SRAM) main memory (DRAM) local hard disk drive (HDD/SSD) remote storage (networked drive / cloud) previously: SRAM

More information

Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems

Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio Office: NPB

More information

DISCO and Virtualization

DISCO and Virtualization DISCO and Virtualization 1. Announcements: a. Project now due Friday at 9 pm b. Class moving to CS 1325 starting Thursday. 2. Questions from reviews: a. NFS scalability bottleneck? i. Yes, other things

More information

Chapter 8: Memory Management. Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging

Chapter 8: Memory Management. Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging Chapter 8: Memory Management Background Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging 1 Background Memory management is crucial in better utilizing one of the most important

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Virtual Memory (1) Page Tables When and why do we access a page table? - On every instruction to translate virtual to physical addresses? Page Tables When and why

More information

Portland State University ECE 587/687. Virtual Memory and Virtualization

Portland State University ECE 587/687. Virtual Memory and Virtualization Portland State University ECE 587/687 Virtual Memory and Virtualization Copyright by Alaa Alameldeen and Zeshan Chishti, 2015 Virtual Memory A layer of abstraction between applications and hardware Programs

More information

Virtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1

Virtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1 Virtual Memory Patterson & Hennessey Chapter 5 ELEC 5200/6200 1 Virtual Memory Use main memory as a cache for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs

More information

Knut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization:

Knut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization: Software and hardware support for Network Virtualization part 2 Knut Omang Ifi/Oracle 20 Oct, 2015 32 Overview Introduction to virtualization (Virtual machines) Aspects of network virtualization: Virtual

More information

CS 550 Operating Systems Spring Introduction to Virtual Machines

CS 550 Operating Systems Spring Introduction to Virtual Machines CS 550 Operating Systems Spring 2018 Introduction to Virtual Machines 1 How to share a physical computer Operating systems allows multiple processes/applications to run simultaneously Via process/memory

More information

Transparent Hugepage

Transparent Hugepage Transparent Hugepage Red Hat Inc. Andrea Arcangeli aarcange at redhat.com 11 Nov 2009 Agenda Benefit of hugepages Hugetlbfs troubles Transparent Hugepage objectives Transparent Hugepage possible implementations

More information

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation CS 152 Computer Architecture and Engineering Lecture 8 - Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

Virtual Memory: From Address Translation to Demand Paging

Virtual Memory: From Address Translation to Demand Paging Constructive Computer Architecture Virtual Memory: From Address Translation to Demand Paging Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November 12, 2014

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Performance of Various Levels of Storage. Movement between levels of storage hierarchy can be explicit or implicit

Performance of Various Levels of Storage. Movement between levels of storage hierarchy can be explicit or implicit Memory Management All data in memory before and after processing All instructions in memory in order to execute Memory management determines what is to be in memory Memory management activities Keeping

More information

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.

More information

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.

More information

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy COMPUTER ARCHITECTURE Virtualization and Memory Hierarchy 2 Contents Virtual memory. Policies and strategies. Page tables. Virtual machines. Requirements of virtual machines and ISA support. Virtual machines:

More information

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation CS 152 Computer Architecture and Engineering Lecture 8 - Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

Virtual Machine Virtual Machine Types System Virtual Machine: virtualize a machine Container: virtualize an OS Program Virtual Machine: virtualize a process Language Virtual Machine: virtualize a language

More information

Address Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Address Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Address Translation Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics How to reduce the size of page tables? How to reduce the time for

More information

Large Pages and Lightweight Memory Management in Virtualized Environments: Can You Have it Both Ways?

Large Pages and Lightweight Memory Management in Virtualized Environments: Can You Have it Both Ways? Large Pages and Lightweight Memory Management in Virtualized Environments: Can You Have it Both Ways? Binh Pham Ján Veselý Gabriel H. Loh Abhishek Bhattacharjee Department of Computer Science AMD Research

More information

Performance Aspects of x86 Virtualization

Performance Aspects of x86 Virtualization TA68 Performance Aspects of x86 Virtualization Ole Agesen Principal Engineer VMware Talk Outline Part 1. Problem statement Part 2. Instruction set virtualization techniques Part 3. Memory virtualization

More information

CS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University Virtual addresses Virtual memory addresses (what the process uses) Page

More information

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila Xen and the Art of Virtualization Nikola Gvozdiev Georgian Mihaila Outline Xen and the Art of Virtualization Ian Pratt et al. I. The Art of Virtualization II. Xen, goals and design III. Xen evaluation

More information

HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines

HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines Zhe Wang 1,2, Jianjun Li 1, Chenggang Wu 1, Dongyan Yang 3, Zhenjiang Wang 1,

More information

Advanced Operating Systems (CS 202) Virtualization

Advanced Operating Systems (CS 202) Virtualization Advanced Operating Systems (CS 202) Virtualization Virtualization One of the natural consequences of the extensibility research we discussed What is virtualization and what are the benefits? 2 Virtualization

More information

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems Course Outline Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems 1 Today: Memory Management Terminology Uniprogramming Multiprogramming Contiguous

More information

Virtual Memory. User memory model so far:! In reality they share the same memory space! Separate Instruction and Data memory!!

Virtual Memory. User memory model so far:! In reality they share the same memory space! Separate Instruction and Data memory!! Virtual Memory User memory model so far:! Separate Instruction and Data memory!! In reality they share the same memory space!!! 0x00000000 User space Instruction memory 0x7fffffff Data memory MicroComuter

More information

CS 153 Design of Operating Systems Winter 2016

CS 153 Design of Operating Systems Winter 2016 CS 153 Design of Operating Systems Winter 2016 Lecture 16: Memory Management and Paging Announcement Homework 2 is out To be posted on ilearn today Due in a week (the end of Feb 19 th ). 2 Recap: Fixed

More information

Virtual memory Paging

Virtual memory Paging Virtual memory Paging M1 MOSIG Operating System Design Renaud Lachaize Acknowledgments Many ideas and slides in these lectures were inspired by or even borrowed from the work of others: Arnaud Legrand,

More information

Virtual Memory II CSE 351 Spring

Virtual Memory II CSE 351 Spring Virtual Memory II CSE 351 Spring 2018 https://xkcd.com/1495/ Virtual Memory (VM) Overview and motivation VM as a tool for caching Address translation VM as a tool for memory management VM as a tool for

More information

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved. Virtual Machines Part 2: starting 19 years ago Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved. Operating Systems In Depth IX 2 Copyright 2018 Thomas W. Doeppner.

More information

Advanced Systems Security: Virtual Machine Systems

Advanced Systems Security: Virtual Machine Systems Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:

More information

CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 16 - VIRTUAL MACHINES CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show

More information

Lecture 21: Virtual Memory. Spring 2018 Jason Tang

Lecture 21: Virtual Memory. Spring 2018 Jason Tang Lecture 21: Virtual Memory Spring 2018 Jason Tang 1 Topics Virtual addressing Page tables Translation lookaside buffer 2 Computer Organization Computer Processor Memory Devices Control Datapath Input Output

More information

Nested EPT to Make Nested VMX Faster. Red Hat Author Gleb Natapov October 21, 2013

Nested EPT to Make Nested VMX Faster. Red Hat Author Gleb Natapov October 21, 2013 Nested EPT to Make Nested VMX Faster Red Hat Author Gleb Natapov October 21, 2013 Section 1 Background Shadow Paging Background 3 Shadow Paging Background 4 Shadow Paging Background 5 Shadow Paging Background

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the

More information

QuartzV: Bringing Quality of Time to Virtual Machines

QuartzV: Bringing Quality of Time to Virtual Machines QuartzV: Bringing Quality of Time to Virtual Machines Sandeep D souza and Raj Rajkumar Carnegie Mellon University IEEE RTAS @ CPS Week 2018 1 A Shared Notion of Time Coordinated Actions Ordering of Events

More information

5 Solutions. Solution a. no solution provided. b. no solution provided

5 Solutions. Solution a. no solution provided. b. no solution provided 5 Solutions Solution 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 S2 Chapter 5 Solutions Solution 5.2 5.2.1 4 5.2.2 a. I, J b. B[I][0] 5.2.3 a. A[I][J] b. A[J][I] 5.2.4 a. 3596 = 8 800/4 2 8 8/4 + 8000/4 b.

More information

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015 Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write

More information

GCMA: Guaranteed Contiguous Memory Allocator. SeongJae Park

GCMA: Guaranteed Contiguous Memory Allocator. SeongJae Park GCMA: Guaranteed Contiguous Memory Allocator SeongJae Park These slides were presented during The Kernel Summit 2018 (https://events.linuxfoundation.org/events/linux-kernel-summit-2018/)

More information

Extended Page Tables (EPT) A VMM must protect host physical memory Multiple guest operating systems share the same host physical memory VMM typically implements protections through page-table shadowing

More information

21 Lecture: More VM Announcements From last time: Virtual Memory (Fotheringham, 1961)

21 Lecture: More VM Announcements From last time: Virtual Memory (Fotheringham, 1961) 21 Lecture: More VM Outline: Announcements From last time: Virtual Memory (Fotheringham, 1961) What it s all about Translation Logistics(HERE) Where to keep the page table? Possible approaches to dealing

More information

CS307 Operating Systems Main Memory

CS307 Operating Systems Main Memory CS307 Main Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 Background Program must be brought (from disk) into memory and placed within a process

More information

THE DYNAMIC GRANULARITY MEMORY SYSTEM

THE DYNAMIC GRANULARITY MEMORY SYSTEM THE DYNAMIC GRANULARITY MEMORY SYSTEM Doe Hyun Yoon IIL, HP Labs Michael Sullivan Min Kyu Jeong Mattan Erez ECE, UT Austin MEMORY ACCESS GRANULARITY The size of block for accessing main memory Often, equal

More information

Understanding The Performance of DPDK as a Computer Architect

Understanding The Performance of DPDK as a Computer Architect Understanding The Performance of DPDK as a Computer Architect XIAOBAN WU *, PEILONG LI *, YAN LUO *, LIANG- MIN (LARRY) WANG +, MARC PEPIN +, AND JOHN MORGAN + * UNIVERSITY OF MASSACHUSETTS LOWELL + INTEL

More information

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste

More information

Virtual Memory. Motivation:

Virtual Memory. Motivation: Virtual Memory Motivation:! Each process would like to see its own, full, address space! Clearly impossible to provide full physical memory for all processes! Processes may define a large address space

More information

Shared Virtual Memory (SVM) in Xen. Feng Wu

Shared Virtual Memory (SVM) in Xen. Feng Wu Shared Virtual Memory (SVM) in Xen Feng Wu feng.wu@intel.com 1 Agenda Motivation Now and Future SVM in Hardware Why Xen needs SVM What needs to do in Xen Summary 2 Motivation OpenCL 2.0 supports sharing

More information

SMD149 - Operating Systems - Memory

SMD149 - Operating Systems - Memory SMD149 - Operating Systems - Memory Roland Parviainen November 8, 2005 1/57 Outline Overview Mostly historical management Paging 2/57 Overview 3/57 Memory hierarchy Memory divided into tiers Main memory

More information

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018 irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement

More information

CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8)

CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) Important from last time We re trying to build efficient virtual address spaces Why?? Virtual / physical translation is done by HW and

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,

More information

Page Tables. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Page Tables. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Page Tables Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

Implementation of Direct Segments on a RISC-V Processor

Implementation of Direct Segments on a RISC-V Processor ABSTRACT Nikhita Kunati Department of Computer Sciences University of Wisconsin-Madison Madison, WI, USA kunati@cs.wisc.edu Page-based virtual memory has been ubiquitous for decades and provides a secure

More information

SmartMD: A High Performance Deduplication Engine with Mixed Pages

SmartMD: A High Performance Deduplication Engine with Mixed Pages SmartMD: A High Performance Deduplication Engine with Mixed Pages Fan Guo, University of Science and Technology of China; Yongkun Li, University of Science and Technology of China; Collaborative Innovation

More information

Virtual Memory: From Address Translation to Demand Paging

Virtual Memory: From Address Translation to Demand Paging Constructive Computer Architecture Virtual Memory: From Address Translation to Demand Paging Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November 9, 2015

More information

COLORADO, USA; 2 Usov Aleksey Yevgenyevich - Technical Architect, RUSSIAN GOVT INSURANCE, MOSCOW; 3 Kropachev Artemii Vasilyevich Manager,

COLORADO, USA; 2 Usov Aleksey Yevgenyevich - Technical Architect, RUSSIAN GOVT INSURANCE, MOSCOW; 3 Kropachev Artemii Vasilyevich Manager, MAIN ASPECTS OF THE MODERN INFORMATION SYSTEMS HARDWARE RESOURCES VIRTUALIZATION METHODOLOGY Zuev D.O. 1, Usov A.Y. 2, Kropachev A.V. 3, Mostovshchikov D.N. 4 1 Zuev Denis Olegovich - Independent Consultant,

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Virtualization and Virtual Machines. CS522 Principles of Computer Systems Dr. Edouard Bugnion

Virtualization and Virtual Machines. CS522 Principles of Computer Systems Dr. Edouard Bugnion Virtualization and Virtual Machines CS522 Principles of Computer Systems Dr. Edouard Bugnion Virtualization and Virtual Machines 2 This week Introduction, definitions, A short history of virtualization

More information