Introduction to Virtualization

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualization and Cloud Computing
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
G Robert Grimm New York University Disco.
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.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
Virtualization for Cloud Computing
LINUX Virtualization Running other code under LINUX.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
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.
CS 149: Operating Systems April 21 Class Meeting
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Virtualization Concepts Presented by: Mariano Diaz.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Introduction to virtualization
CS 3204 Operating Systems Godmar Back Lecture 27.
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Operating-System Structures
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.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
CLUG TALK Virtualbox Tuesday, 29 September 2009 One of the Jonathans.
Overview of Virtualization The magic of virtual machines Borislav Varadinov Telerik Software Academy System Administrator Marian.
Virtualization Neependra Khare
Virtualization - an introduction Gordon Ross Computing Service.
Lecture 13: Virtual Machines
Virtualization for Cloud Computing
A move towards Greener Planet
Virtualization.
Virtual Machine Monitors
Virtualization Technology
CS 5204 Operating Systems Virtualization Godmar Back.
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.
Lecture 24 Virtual Machine Monitors
Virtualization overview
Virtual Machines Calum Aldridge.
Virtual Servers.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
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.
CS 140 Lecture Notes: Virtual Machines
OS Virtualization.
Virtualization Techniques
A Survey on Virtualization Technologies
CS 140 Lecture Notes: Virtual Machines
Virtual machines benefits
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Virtualization Dr. S. R. Ahmed.
CS 140 Lecture Notes: Virtual Machines
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
System Virtualization
CS295: Modern Systems Virtualization
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Introduction to Virtualization CS 5204 Operating Systems Introduction to Virtualization Godmar Back

Definitions for “virtual machine” Term is somewhat ill-defined, generally A machine that’s implemented in software, rather than hardware A self-contained environment that acts like a computer An abstract specification for a computing device (instruction set, etc.) Common distinction: (language-based) virtual machines Instruction set usually does not resemble any existing architecture Java VM, .Net CLR, many others virtual machine monitors (VMM) instruction set fully or partially taken from a real architecture CS 5204 Fall 2012

Use of Virtual Machines Test applications Program / debug OS; fault injection Bundle applications + OS (“Virtual appliances”) Monitor for intrusions Resource sharing/hosting `cloud computing’ Migration Replication Simulate networks CS 5204 Fall 2012

History of virtual machines See Goldberg [1972], [1974] CS 5204 Fall 2012

History (cont’d) “Disco” project at Stanford [Bugnion 1997] Created hypervisor to run commodity OS on new “Flash” multiprocessor hardware Based on MIPS VMWare was spun off, created VMWare Workstation – first hypervisor for x86 2000’s Resurgence under Cloud moniker CS 5204 Fall 2012

Types of Virtual Machines Type I Type II CS 5204 Fall 2012

for VMM: skas3, UMLinux, vmware.ko, KVM VMM Classification Paravirtualized guest drivers Unmodified Guest Ported Guest Guest OS sees true hardware interface Guest OS sees (almost) hardware interface, has some awareness of virtualization Guest OS sees virtualized hardware interface Hypervisor runs directly on host hardware VMware ESX MS Virtual Server Xen Windows 7 (HyperV) Hypervisor runs on host OS qemu, VMware Workstation, VMware GSX, Sun VirtualBox UML Kernel Support for VMM: skas3, UMLinux, vmware.ko, KVM Type I Type II CS 5204 Fall 2012

Virtualizing the CPU Basic mode: direct execution Requires Deprivileging (Code designed to run in supervisor mode will be run in user mode) Hardware vs. Software Virtualization Hardware: “trap-and-emulate” Not possible on x86 prior to introduction of Intel/VT & AMD/Pacifica See [Robin 2000] Software: Either require cooperation of guests to not rely on traps for safe deprivileging Or binary translation to avoid running unmodified guest OS code (note: guest user code is always safe to run!) CS 5204 Fall 2012

Binary translation vs trap-and-emulate Interesting history: IBM/360 (70’s) used trap-and-emulate Late 90’s: x86 requires binary translation Early 00’s: x86 adds hardware for complete trap-and-emulate (*) Late 00’s: predominantly hardware-based virtualization + guest accommodation (*) Adams [ASPLOS 2006] asked: Is binary translation always slower than trap-and-emulate? Surprising result: binary translation beat trap-and-emulate. Why? Binary translation is highly optimized: most instructions are translated as IDENT (identical), preserving most compiler optimizations and only slightly increasing code size binary translation can be adaptive: if you know an instruction is going to trap, inline part of all of trap handler. Way cheaper than actually trapping. This trade-off is changing as hardware support gets better, e.g., microcode assist CS 5204 Fall 2012

Virtualizing Memory: MMU Guest OS programs page table mapping virtual  physical Hypervisor must map guest’s “physical” to machine addresses Approaches: Shadow page tables (ESX): hypervisor makes a copy of page table, installs copy in MMU Paravirtualization: ask cooperation of guest to create suitable virtual  hardware page tables (Xen) Hardware assisted: nested page tables: let hardware perform additional translation step CS 5204 Fall 2012

Shadow Page Tables vs. Paravirtualization vs. Nested Page Tables Paravirtualized MMU Nested Page tables eliminate need for either Shadow Page Table Primary Shadow Virtual Physical Hardware CS 5204 Fall 2012

Virtualizing I/O Most challenging of the three Consider Gigabit networking, 3D graphics devices Modern device drivers are tightly interwoven with memory & CPU management E.g. direct-mapped I/O, DMA Interrupt scheduling CS 5204 Fall 2012

Source: VMware white paper on virtualization considerations. Virtualizing I/O Xen ESX Source: VMware white paper on virtualization considerations. CS 5204 Fall 2012

Windows Hyper V Source: Wikipedia Commons CS 5204 Fall 2012

Container-Based Virtualization Provide OS-level virtualization Namespace separation Resource separation Examples chroot, “jails” Solaris Containers Linux “LXC” CS 5204 Fall 2012

Summary Virtualization enables a variety of arrangements/benefits in organizing computer systems Two types: VMM may run on bare hardware VMM is process running on/integrated with host OS Key challenges include virtualization of CPU Memory I/O Both correctness and efficiency are important CS 5204 Fall 2012