E Virtual Machines Lecture 4 Device Virtualization

Slides:



Advertisements
Similar presentations
Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
Advertisements

Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
User-Mode Linux Ken C.K. Lee
E Virtual Machines Lecture 3 Memory Virtualization
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Virtualization and Cloud Computing
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
Cloud Computing and Virtualization Sorav Bansal CloudCamp 2010 IIT Delhi.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
Virtualization and the Cloud
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Introduction to Virtual Machines
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
Methodologies, strategies and experiences Virtualization.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
Virtualization. ABCs Special software: hypervisors or virtual machine managers Guest OS (virtual machine) sits on top of host OS (Win 7 in our case) We.
Virtualization The XEN Approach. Virtualization 2 CS5204 – Operating Systems XEN: paravirtualization References and Sources Paul Barham, et.al., “Xen.
Virtualization Concepts Presented by: Mariano Diaz.
Xen Overview for Campus Grids Andrew Warfield University of Cambridge Computer Laboratory.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
VirtualBox What you need to know to build a Virtual Machine.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
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,
CS 140 Lecture Notes: Virtual MachinesSlide 1 Process Abstraction Instruction Set Registers MMU I/O Devices Physical Memory Virtual Memory System Calls.
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
E Virtual Machines Lecture 2 CPU Virtualization Scott Devine VMware, Inc.
E Virtual Machines Lecture 5 Network Virtualization Scott Devine VMware, Inc.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Virtualization Neependra Khare
Lecture 13: Virtual Machines
Introduction to Operating Systems Concepts
Computer System Structures
Virtualization for Cloud Computing
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Agenda Hardware Virtualization Concepts
Virtualization Dr. Michael L. Collard
Java Win32 native Java VM Linux OS ARM VM Runtime Windows OS
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Group 8 Virtualization of the Cloud
CS 140 Lecture Notes: Virtual Machines
OS Virtualization.
CS 140 Lecture Notes: Virtual Machines
Virtual machines benefits
CS533 Concepts of Operating Systems Class 15
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating Systems: A Modern Perspective, Chapter 3
CS533 Concepts of Operating Systems Class 15
CS 140 Lecture Notes: Virtual Machines
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

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

Outline Types of Device Virtualization Storage Virtualization Direct Access Emulated Para-virtualized Storage Virtualization Copy-on-Write Disks

Computer System Organization CPU Memory MMU Controller Local Bus Interface High-Speed I/O Bus Frame Buffer NIC Controller Bridge LAN Low-Speed I/O Bus CD-ROM USB

Device Virtualization Goals Isolation Multiplexing Speed Mobility Interposition Device Virtualization Strategies Direct Access Emulation Para-virtualization

Direct Access Device CPU VM Local Bus High-Speed I/O Bus Low-Speed Guest OS CPU Memory MMU Controller Local Bus Interface High-Speed I/O Bus Frame Buffer NIC Controller Bridge LAN Low-Speed I/O Bus CD-ROM USB

Memory Isolation w/ Direct Access Device VM Guest OS CPU Memory MMU Controller Local Bus Interface IOMMU High-Speed I/O Bus Frame Buffer NIC Controller Bridge LAN Low-Speed I/O Bus CD-ROM USB

Virtualization Enabled Device VM1 Guest OS VM2 Guest OS CPU Memory MMU Controller Local Bus Interface IOMMU High-Speed I/O Bus vNIC 1 vNIC 2 Frame Buffer NIC Controller Bridge LAN Low-Speed I/O Bus CD-ROM USB

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

Emulated Devices Emulate a device in class Convert Emulated registers Memory mapped I/O or programmed I/O Convert Intermediate representation Back-ends per real device

Serial Port Example User App Guest Host OS Monitor Serial Chip ABC Emulation Generic Serial Layer Serial Chip ABC Driver Host OS Monitor Serial Chip XYZ LAN

Emulated Devices Positives Negatives Platform stability Allows interposition No special hardware support needed Isolation, multiplexing implemented by monitor Negatives Can be slow Drivers needed in monitor or host

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

Traditional Architecture Linux Linux (devel) XP Vista MacOS Virtual Machine Monitor Here the monitor needs to be self-sufficient. There is no help from an Operating System. What does this mean the monitor needs to have: CPU scheduler Memory allocator Device Drivers File system Network stack for administration Hardware

Hosted Monitor Architecture User App Guest OS (Linux) Host OS (Window XP) Virtual Machine Monitor Kernel Module The virtual machine monitor runs in its own address space at kernel level. The VMM time shares the hardware with the host. When the UserApp runs in the host, it switches to the VMM by way of a World Switch. The world switch save all the registers, page tables, etc of the host and then loads the state of the VMM. Initially the state of the VMM is setup up by the UserApp. This includes what the registers should be and the structure and contents of the page tables. When the VMM voluntarily gives up the CPU, it World Switches back to the host. Hardware

Source: http://www.vmware.com/pdf/esx2_performance_implications.pdf VMware ESX 2.0 Traditional arch for cpu scheduling, memory allocation, virtual disk, virtual network. Console OS is there for legacy devices, USB, and as a management platform, i.e. it has the network stack. Source: http://www.vmware.com/pdf/esx2_performance_implications.pdf

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/

Hypervisor Hardware-supported single-use monitor Characteristics Uses Small size Runs in a special hardware mode Guest OS runs in normal priviledge level Uses Security System management Fault tolerance User Mode Operating System Kernel Mode Monitor Mode Hypervisor Hardware

Virtual Disks File on file system Meta-data in file 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

Copy-on-Write Disks Win XP + SP1 + SP2 + SP2 IE 7

Copy-on-Write Disks Win XP Reads + SP1 + SP2 + SP2 IE 7 Writes

Non-persistent Execution Win XP + SP1 + SP2 + SP2 IE 7 Reads Temp Writes