E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

21
E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Transcript of E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Page 1: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

E6998 - Virtual MachinesLecture 4

Device Virtualization

Scott DevineVMware, Inc.

Page 2: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Outline

• Types of Device Virtualization– Direct Access– Emulated– Para-virtualized

• Storage Virtualization– Copy-on-Write Disks

Page 3: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Computer System Organization

CPU

MMU

Memory

Controller

Local Bus

Interface

High-SpeedI/O Bus

NIC Controller Bridge Frame Buffer

LAN

Low-SpeedI/O Bus

USBCD-ROM

Page 4: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Device Virtualization

• Goals– Isolation– Multiplexing– Speed– Mobility– Interposition

• Device Virtualization Strategies– Direct Access– Emulation– Para-virtualization

Page 5: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Direct Access Device

CPU

MMU

Memory

Controller

Local Bus

Interface

High-SpeedI/O Bus

NIC Controller Bridge Frame Buffer

LAN

Low-SpeedI/O Bus

USBCD-ROM

VMGuest

OS

Page 6: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Memory Isolation w/ Direct Access Device

CPU

MMU

Memory

Controller

Local Bus

Interface IOMMU

High-SpeedI/O Bus

NIC Controller Bridge Frame Buffer

LAN

Low-SpeedI/O Bus

USBCD-ROM

VMGuest

OS

Page 7: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Virtualization Enabled Device

CPU

MMU

Memory

Controller

Local Bus

Interface IOMMU

High-SpeedI/O Bus

NIC Controller Bridge Frame Buffer

LAN

Low-SpeedI/O Bus

USBCD-ROM

VM1Guest

OS

vNIC 1

VM2Guest

OS

vNIC 2

Page 8: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Direct Access Device Virtualization

• Allow Guest OS direct access to underlying device• Positives– Fast– Simplify monitor

• Limited device drivers needed

• Negatives– Need hardware support for safety (IOMMU)– Need hardware support for multiplexing– Hardware interface visible to guest

• Limits mobility of VM

– Interposition hard by definition

Page 9: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Emulated Devices

• Emulate a device in class– Emulated registers– Memory mapped I/O or programmed I/O

• Convert – Intermediate representation

• Back-ends per real device

Page 10: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Serial Port Example

Monitor

Host OS

Serial Chip XYZ

LAN

User AppGuest

Serial ChipABC

Driver

Serial ChipABC

Emulation

Generic Serial Layer

Page 11: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Emulated Devices

• Positives– Platform stability– Allows interposition– No special hardware support needed

• Isolation, multiplexing implemented by monitor

• Negatives– Can be slow– Drivers needed in monitor or host

Page 12: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Para-Virtualized Devices

• Guest passes requests to Monitor at a higher abstraction level– Monitor calls made to initiate requests– Buffers shared between guest / monitor

• Positives– Simplify monitor– Fast

• Negatives– Monitor needs to supply guest-specific drivers– Bootstrapping issues

Page 13: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Traditional Architecture

Hardware

Virtual Machine Monitor

Linux Linux (devel) XP Vista MacOS

Page 14: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Hosted Monitor Architecture

Hardware

Virtual Machine Monitor

Guest OS (Linux)

Host OS (Window XP)

User App

Kernel Module

Page 15: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

VMware ESX 2.0

Source: http://www.vmware.com/pdf/esx2_performance_implications.pdf

Page 16: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Hybrid Ex 2 - Xen 3.0

• Para –virtualization– Linux Guest

• Hardware-supported virtualization– Unmodified

Windows

• Isolated Device Drivers

Source: Ottawa Linux Symposium 2006 presentation. http://www.cl.cam.ac.uk/netos/papers/

Page 17: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Hypervisor• Hardware-supported

single-use monitor• Characteristics

– Small size– Runs in a special

hardware mode– Guest OS runs in normal

priviledge level• Uses

– Security– System management– Fault tolerance

Hardware

Hypervisor

Operating SystemKernelMode

MonitorMode

UserMode

Page 18: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Virtual Disks

• File on file system– Host file system– Hypervisor file system

• Meta-data in file– Maps disk blocks to file offsets

• Flat file• Indexed file

– Allows disk to grow on demand

Page 19: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Copy-on-Write Disks

Win XP

+ SP1 + SP2 + SP2IE 7

Page 20: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Copy-on-Write Disks

Win XP

+ SP1 + SP2 + SP2IE 7

Reads

Writes

Page 21: E6998 - Virtual Machines Lecture 4 Device Virtualization Scott Devine VMware, Inc.

Non-persistent Execution

Win XP

+ SP1 + SP2 + SP2IE 7

TempReads

Writes