© 2010 VMware Inc. All rights reserved Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel®

Slides:



Advertisements
Similar presentations
Hardware-assisted Virtualization
Advertisements

Virtualization Dr. Michael L. Collard
Virtualization Technology
E Virtual Machines Lecture 3 Memory Virtualization
© 2012 VMware Inc. All rights reserved CPU and Memory Virtualization Prashanth Bungale, Sr. Member of Technical Staff, Mobile Virtualization January 23.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Virtual Machine Security Design of Secure Operating Systems Summer 2012 Presented By: Musaad Alzahrani.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Introduction to Virtual Machines
Virtualization for Cloud Computing
LINUX Virtualization Running other code under LINUX.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualization Zoltan Micskei
虛擬化技術 Virtualization and Virtual Machines
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
E Virtual Machines Lecture 4 Device Virtualization
Virtualization-optimized architectures
Tanenbaum 8.3 See references
Operating System Virtualization
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
This document is for informational purposes only, and Tekelec reserves the right to change any aspect of the products, features or functionality described.
Keith Adams, Ole Agesen 1st October 2009 Presented by Chwa Hoon Sung, Kang Joon Young A Comparison of Software and Hardware Techniques for x86 Virtualization.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Concepts Presented by: Mariano Diaz.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Part 2 – VMware Hardware Support. Virtualization 2 CS 5204 – Fall, 2008 VMware: binary translation Hypervisor VMM Base Functionality (e.g.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Virtualisation Front Side Buses SMP systems COMP Jamie Curtis.
Lecture 22 Virtual Machines Tuesday Nov 16 th, Distributed Systems Some slides based on material from: Ken Cornell, CS6410, Eyal DeLara.
Introduction to virtualization
Full and Para Virtualization
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Extending Xen * with Intel ® Virtualization Technology Mobile Embedded System Choi, Jin-yong
© 2010 VMware Inc. All rights reserved Introduction to Virtual Machines Carl Waldspurger (SB SM ’89, PhD ’95), VMware R&D.
E Virtual Machines Lecture 2 CPU Virtualization Scott Devine VMware, Inc.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
Virtualization-optimized architectures
Virtualization for Cloud Computing
Introduction to Virtualization
Virtualization.
Virtualization Jerry Breecher 19: Virtualization.
Virtualization D. J. Foreman 2009.
Advanced Operating Systems (CS 202) Virtualization
Virtualization Technology
Virtual machines and containers
Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.
L2- Virtualization Technology
CS 3214 Introduction to Computer Systems
Virtualization Dr. Michael L. Collard
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Virtualisation Assessment & Roadmap
Running other code under LINUX
Group 8 Virtualization of the Cloud
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
OS Virtualization.
Virtualization Techniques
Full and Para Virtualization
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Hardware Virtualization
Slides from E0-253 taught by Arkaprava Basu and Vinod Ganapathy
Presentation transcript:

© 2010 VMware Inc. All rights reserved Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel® Virtualization Technology (VT) by N. B. Sahgal and D. Rodgers Intel Virtualization Technology Roadmap and VT-d Support in Xen by Jun Nakajima

2 Starting Point: A Physical Machine  Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized  Software Tightly coupled to physical hardware Single active OS instance OS controls hardware

3 What is a Virtual Machine?  Software Abstraction Behaves like hardware Encapsulates all OS and application state  Virtualization Layer Extra level of indirection Decouples hardware, OS Enforces isolation Multiplexes physical hardware across VMs

4 Virtualization Properties  Isolation Fault isolation Performance isolation  Encapsulation Cleanly capture all VM state Enables VM snapshots, clones  Portability Independent of physical hardware Enables migration of live, running VMs  Interposition Transformations on instructions, memory, I/O Enables transparent resource overcommitment, encryption, compression, replication …

5 Virtualization Applications

6 Types of Virtualization  Process Virtualization Language-level Java,.NET, Smalltalk OS-level processes, Solaris Zones, BSD Jails, Docker Containers Cross-ISA emulation Apple 68K-PPC-x86  System Virtualization VMware Workstation, Microsoft VPC, Parallels VMware ESX, Xen, Microsoft Hyper-V

7 Types of Virtualization  Native/Bare metal (Type 1) Higher performance ESX, Xen, HyperV  Hosted (Type 2) Easier to install Leverage host’s device drivers VMware Workstation, Parallels Attribution:

8 Types of Virtualization  Full virtualization Unmodified OS, virtualization is transparent to OS  Para virtualization OS modified to be virtualized Attribution

9 What is a Virtual Machine Monitor?  Classic Definition (Popek and Goldberg ’74)  VMM Properties Equivalent execution: Programs running in the virtualized environment run identically to running natively. Performance: A statistically dominant subset of the instructions must be executed directly on the CPU. Safety and isolation: A VMM most completely control system resources.

10 What Needs to Virtualized Virtualized? Guest OS + Applications Virtual Machine Monitor Page Fault Undef Instr vIRQ MMU Emulation CPU Emulation I/O Emulation Unprivileged Privileged  Processor  Memory  IO

11 Processor Virtualization An architecture is classically/strictly virtualizable if all its sensitive instructions (those that violate safety and encapsulation) are a subset of the privileged instructions.  all instructions either trap or execute identically  instructions that access privileged state trap Attribution:

12 Trap and Emulate  Run guest operating system deprivileged  All privileged instructions trap into VMM  VMM emulates instructions against virtual state e.g. disable virtual interrupts, not physical interrupts  Resume direct execution from next guest instruction

13 x86 Virtualization Challenges  Not Classically Virtualizable x86 ISA includes instructions that read or modify privileged state But which don’t trap in unprivileged mode  Example: POPF instruction Pop top-of-stack into EFLAGS register EFLAGS.IF bit privileged (interrupt enable flag) POPF silently ignores attempts to alter EFLAGS.IF in unprivileged mode! So no trap to return control to VMM  Deprivileging not possible with x86!

14 x86 Virtualization Approaches  Binary translation  Para virtualization  HW support

15 Binary Translation vEP C mov ebx, eax cli and ebx, ~0xfff mov ebx, cr3 sti ret mov ebx, eax mov [VIF], 0 and ebx, ~0xfff mov [CO_ARG], ebx call HANDLE_CR3 mov [VIF], 1 test [INT_PEND], 1 jne call HANDLE_INTS jmp HANDLE_RET start Guest CodeTranslation Cache  Translate dangerous instruction sequences into safe instruction sequences  Replace privileged instructions with calls to VMM  Cache translations for performance  Advantages: Can run unmodified OS  Disadvantages: Frequent traps to VMM  Examples: VMware

16 Processor Paravirtualization  Make OS aware of virtualization  Present to OS software interface that is similar, but not identical to underlying hardware  Replace dangerous system calls with calls to VMM Page table updates  Advantages: High performance  Disadvantages: Requires porting OS  Examples: Xen

17 HW Support  Intel VT-x Codenamed "Vanderpool" Available since Itanium 2 (2005), Xeon and Centrino (2006)  AMD-V Codename “Pacifica” Available since Athlon 64 (2006)

18 Intel VT-x  VT extends the original x86 architecture to eliminate holes that make virtualization hard.

19 Operating Modes  VMX root operation: Fully privileged, intended for VM monitor  VMX non-root operation: Not fully privileged, intended for guest software Reduces Guest SW privilege w/o relying on rings Solution to Ring Aliasing and Ring Compression

20 VM Entry and VM Exit  VM Entry Transition from VMM to Guest Enters VMX non-root operation Loads Guest state and Exit criteria from VMCS VMLAUNCH instruction used on initial entry VMRESUME instruction used on subsequent entries  VM Exit VMEXIT instruction used on transition from Guest to VMM Enters VMX root operation Saves Guest state in VMCS Loads VMM state from VMCS  VMM can control which instructions cause VM exists CR3 accesses, INVLPG

21 Benefits: VT Helps Improve VMMs  VT Reduces guest OS dependency Eliminates need for binary patching / translation Facilitates support for Legacy OS  VT improves robustness Eliminates need for complex SW techniques Simpler and smaller VMMs Smaller trusted-computing base  VT improves performance Fewer unwanted Guest  VMM transitions

22 x86 Memory Management Primer  The processor operates with virtual addresses  Physical memory operates with physical addresses  x86 includes a hardware translation lookaside bufer (TLB) Maps virtual to physical page addresses  x86 handles TLB misses in HW CR3 points to page table root HW walks the page tables Inserts virtual to physical mapping

23 Memory Virtualization  Native  Virtualized

24 Memory Virtualization Techniques  Shadow page tables  Paravirtualization  HW supported nested page tables

25 Shadow Page Tables  Keep a second set of page tables hidden from guest  Map between guest virtual and machine pages  Detect when guest changes page tables TLB invalidation requests, page table creation, write to existing page tables  Update shadow page accordingly  On context switch, install shadow page instead of guest page  Advantages: Can support unmodified guest  Disadvantages: Significant overhead to maintain consistency  Examples: VMware and Xen HVM

26 Memory Paravirtualization  Page table maps between virtual and machine addresses  OS and VMM share page tables  OS can only read  Changes to page table require hyper call VMM validates that guest owns machine address  Advantages: Higher performance can be achieved by batching updates  Disadvantages: Requires changes to the OS  Examples: Xen

27 Hardware Support  Nested page tables  HW keeps a second set of page tables that map from physical to machine addresses.  On a TLB miss, first find physical address from guest page tables, then map to machine address  Intel EPT (Extended Page Table) Since Corei7 (2008)  AMD RVI (Rapid Virtualization Indexing) Since Opteron and Phenom II (2007)

28 Issues with Nested Page Tables  Positives Simplifies monitor design No need for page protection calculus  Negatives Guest page table is in physical address space Need to walk PhysMap multiple times Need physical-to-machine mapping to walk guest page table Need physical-to-machine mapping for original virtual address

29 Memory Reclamation  Balloning: guest driver allocates pinned PPNs, hypervisor deallocates backing MPNs  Swapping: hypervisor transparently pages out PPNs, paged in on demand  Page sharing: hypervisor identifies identical PPNs based on content, maps to same MPN copy-on-write

30 Ballooning

31 Page Sharing

32 Page Sharing

33 I/O Virtualization  Emulation  Paravirtualization (split driver)  Direct mapped/PCI passthrough  Hardware support

34 Emulation  Guest runs original driver  VMM emulates HW in SW  Advantages: Can run unmodified guest  Disadvantages: Slow

35 IO Paravirtualization  Slip driver approach  Privileged domain interact with IO devices, exports high level interface as back-end drive  Guest domain implements front end driver  Front and back end drivers

36 Direct Mapped/PCI Passthrough  Allocate a physical device to a specific domain  Driver runs of guest domain  Cannot use DMA  DMA uses physical addresses.  Breaks isolation

37 Hardware Support  IOMMU (IO Memory Management Unit)  Translates memory addresses from “IO space” to “physical space”  Provides isolation. Limits device’s ability to access machine memory.  Intel VT-d  Core 2 (2008)  AMD-Vi  Six Core Opteron (2010)

38 Intel VT-d  Provides infrastructure for I/O virtualization  DMA and interrupt remapping

39 VT-d Applied to Pass-through Model  Direct Device Assignment to Guest OS  Guest OS directly programs physical device  VMM sets up guest- to host-physical DMA mapping  PCI-SIG I/O Virtualization Working Group  Activity towards standardizing natively sharable I/O devices  IOV devices provide virtual interfaces, each independently assignable to VMs  Advantages: High performance and simple VMM  Disadvantages: Limits VM migration