© 2010 VMware Inc. All rights reserved Introduction to Virtual Machines Carl Waldspurger (SB SM ’89, PhD ’95), VMware R&D.

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
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.
1 Applied CyberInfrastructure Concepts ISTA 420/520 Fall Nirav Merchant Bio Computing & iPlant Collaborative Eric Lyons.
G Robert Grimm New York University Disco.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Introduction to Virtual Machines
Virtualization for Cloud Computing
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualization Zoltan Micskei
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
© 2010 VMware Inc. All rights reserved Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel®
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
E Virtual Machines Lecture 4 Device Virtualization
A Survey on Virtualization Technologies
Virtualization-optimized architectures
Tanenbaum 8.3 See references
Cloud Computing Why is it called the cloud?.
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.
This document is for informational purposes only, and Tekelec reserves the right to change any aspect of the products, features or functionality described.
CS 149: Operating Systems April 21 Class Meeting
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.
Virtual Machines: Versatile Platforms for Systems and Processes
A Survey on Virtualization Technologies. Virtualization is “HOT” Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM,
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Concepts Presented by: Mariano Diaz.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
DAIMIHenrik Bærbak Christensen1 Virtualization … from a reliability perspective.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
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.
Introduction Why are virtual machines interesting?
Operating-System Structures
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,
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
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.
Virtualization-optimized architectures
Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels
Introduction to Virtualization
Virtual Machine Monitors
Virtualization Jerry Breecher 19: Virtualization.
Virtual machines and containers
L2- Virtualization Technology
CS 3214 Introduction to Computer Systems
CS 3214 Operating Systems Virtualization.
CS 3214 Operating Systems Virtualization Godmar Back.
Virtualization Dr. Michael L. Collard
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Virtualization overview
Group 8 Virtualization of the Cloud
OS Virtualization.
دکتر محمد کاظم اکبری مرتضی سرگلزایی جوان
Virtualization Techniques
A Survey on Virtualization Technologies
Virtual machines benefits
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Slides from E0-253 taught by Arkaprava Basu and Vinod Ganapathy
Presentation transcript:

© 2010 VMware Inc. All rights reserved Introduction to Virtual Machines Carl Waldspurger (SB SM ’89, PhD ’95), VMware R&D

2 Overview  Virtualization and VMs  Processor Virtualization  Memory Virtualization  I/O Virtualization

3 Types of Virtualization  Process Virtualization Language-level Java,.NET, Smalltalk OS-level processes, Solaris Zones, BSD Jails, Virtuozzo Cross-ISA emulation Apple 68K-PPC-x86, Digital FX!32  Device Virtualization Logical vs. physical VLAN, VPN, NPIV, LUN, RAID  System Virtualization “Hosted” VMware Workstation, Microsoft VPC, Parallels “Bare metal” VMware ESX, Xen, Microsoft Hyper-V

4 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

5 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

6 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 …

7 What is a Virtual Machine Monitor?  Classic Definition (Popek and Goldberg ’74)  VMM Properties Fidelity Performance Safety and Isolation

8 Classic Virtualization and Applications  Classical VMM IBM mainframes: IBM S/360, IBM VM/370 Co-designed proprietary hardware, OS, VMM “Trap and emulate” model  Applications Timeshare several single-user OS instances on expensive hardware Compatibility From IBM VM/370 product announcement, ca. 1972

9 Modern Virtualization Renaissance  Recent Proliferation of VMs Considered exotic mainframe technology in 90s Now pervasive in datacenters and clouds Huge commercial success  Why? Introduction on commodity x86 hardware Ability to “do more with less” saves $$$ Innovative new capabilities Extremely versatile technology

10 Modern Virtualization Applications  Server Consolidation Convert underutilized servers to VMs Significant cost savings (equipment, space, power) Increasingly used for virtual desktops  Simplified Management Datacenter provisioning and monitoring Dynamic load balancing  Improved Availability Automatic restart Fault tolerance Disaster recovery  Test and Development

11 Processor Virtualization  Trap and Emulate  Binary Translation

12 Trap and Emulate Guest OS + Applications Virtual Machine Monitor Page Fault Undef Instr vIRQ MMU Emulation CPU Emulation I/O Emulation Unprivileged Privileged

13 “Strictly Virtualizable” A processor or mode of a processor is strictly virtualizable if, when executed in a lesser privileged mode:  all instructions that access privileged state trap  all instructions either trap or execute identically

14 Issues with Trap and Emulate  Not all architectures support it  Trap costs may be high  VMM consumes a privilege level Need to virtualize the protection levels

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

16 Issues with Binary Translation  Translation cache management  PC synchronization on interrupts  Self-modifying code Notified on writes to translated guest code  Protecting VMM from guest

17 Memory Virtualization  Shadow Page Tables  Nested Page Tables

18 Traditional Address Spaces Virtual Address Space 04GB Physical Address Space 04GB

19 Traditional Address Translation Virtual Address Physical Address Process Page Table TLB Operating System’s Page Fault Handler

20 Virtualized Address Spaces Virtual Address Space 04GB Physical Address Space 0 Machine Address Space 0 Guest Page Table VMM PhysMap 4GB

21 Virtualized Address Spaces w/ Shadow Page Tables Virtual Address Space 04GB Physical Address Space 0 Machine Address Space 0 Guest Page Table VMM PhysMap 4GB Shadow Page Table

22 Virtualized Address Translation w/ Shadow Page Tables Virtual Address Machine Address Shadow Page Table Guest Page Table PMap TLB A

23 Confidential Issues with Shadow Page Tables  Guest page table consistency Rely on guest’s need to invalidate TLB  Performance considerations Aggressive shadow page table caching necessary Need to trace writes to cached page tables

24 Virtualized Address Spaces w/ Nested Page Tables Virtual Address Space 04GB Physical Address Space 0 Machine Address Space 0 Guest Page Table VMM PhysMap 4GB

25 Virtualized Address Translation w/ Nested Page Tables Virtual Address Machine Address Guest Page Table PhysMap By VMM 1 2 TLB 3 2 3

26 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  Other Memory Virtualization Hardware Assists Monitor Mode has its own address space No need to hide the VMM

27 VM1 Interposition with Memory Virtualization Page Sharing Virtual Physical Machine Read-Only Copy-on-write VM2 Virtual Physical

28 I/O Virtualization Hardware Guest H.W. Device Driver Virtual Device Driver Virtual Device Model Abstract Device Model Device Interposition CompressionBandwidth ControlRecord / Replay OvershadowPage SharingCopy-on-Write Disks EncryptionIntrusion DetectionAttestation Device Back-ends Remote Access Cross-device Emulation Disconnected Operation Multiplexing Device SharingSchedulingResource Management Virtual Device Driver Virtual Device Model Virtual Device Driver Virtual Device Model

29 I/O Virtualization Implementations Device Driver I/O Stack Guest OS Device Driver Device Emulation Device Driver I/O Stack Guest OS Device Driver Device Emulation Host OS/Dom0/ Parent Domain Guest OS Device Driver Device Manager Hosted or SplitHypervisor Direct Passthrough I/O VMware Workstation, VMware Server, Xen, Microsoft Hyper-V, Virtual Server VMware ESX VMware ESX (FPT) Emulated I/O

30 Issues with I/O Virtualization  Need physical memory address translation need to copy need translation need IO MMU  Need way to dispatch incoming requests

31 Backup Slides

32 Brief History of VMware x86 Virtualization VMware founded Workstation 1.0 Workstation 2.0 ESX Server 1.0 ESX 2.0 (vSMP) x86-64 Workstation 5.5 (64 bit guests) Intel VT-x ESX 3.0 AMD-V AMD RVI Intel EPT ESX 3.5 ESX 4.0

33 Passthrough I/O Virtualization  High Performance Guest drives device directly Minimizes CPU utilization  Enabled by HW Assists I/O-MMU for DMA isolation e.g. Intel VT-d, AMD IOMMU Partitionable I/O device e.g. PCI-SIG IOV spec  Challenges Hardware independence Migration, suspend/resume Memory overcommitment I/O MMU Device Manager VF PF PF = Physical Function, VF = Virtual Function I/O Device Guest OS Device Driver Guest OS Device Driver Guest OS Device Driver Virtualization Layer