! Virtual Machine Monitors (VMMs) are everywhere. ! An old idea, actually: developed by IBM in 60s and 70s. ! Today. ! Resource utilization



Similar documents
Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization. Jia Rao Assistant Professor in CS

COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

Deploying Network Load Balancing

Virtual Machines. COMP 3361: Operating Systems I Winter

Introduction to Virtual Machines

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

Virtual machines and operating systems

Virtualization. Types of Interfaces

Designing and Deploying File Servers

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Virtualization Technology. Zhiming Shen

EMC Smarts SAM, IP, ESM, MPLS, VoIP, and NPM Managers

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

High Availability for Internet Information Server Using Double-Take 4.x

Xen and the Art of. Virtualization. Ian Pratt

Virtualization. Pradipta De

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Virtualization VMware Inc. All rights reserved

Intel Virtualization Technology Overview Yu Ke

Enabling Advanced Windows Server 2003 Active Directory Features

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

EMC VNX Series Setting Up a Unisphere Management Station

Virtualization. Explain how today s virtualization movement is actually a reinvention

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

Planning and Implementing An Optimized Private Cloud

Cloud Computing CS

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Virtualization. Jukka K. Nurminen

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Hypervisors and Virtual Machines

Virtualization Technologies

Knut Omang Ifi/Oracle 19 Oct, 2015

The bintec HotSpot Solution. Convenient internet access anywhere

IOS110. Virtualization 5/27/2014 1

High Availability for Microsoft SQL Server Using Double-Take 4.x

Pgrading To Windows XP 4.0 Domain Controllers and Services

aééäçóáåö=táåççïë= péêîéê=ommp=oéöáçå~ä= açã~áåë

Basics of Virtualisation

Planning an Active Directory Deployment Project

Using Linux as Hypervisor with KVM

EMC ViPR. Concepts Guide. Version

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Chapter 1. LAN Design

Hybrid Virtualization The Next Generation of XenLinux

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Galvin s All Things Enterprise

Virtualization. Dr. Yingwu Zhu

Virtual Machines. Virtualization

A Unified View of Virtual Machines

Models For Modeling and Measuring the Performance of a Xen Virtual Server

7 Help Desk Tools. Key Findings. The Automated Help Desk

Xen and the Art of Virtualization

kvm: Kernel-based Virtual Machine for Linux

Isilon OneFS. Version 7.1. Backup and recovery guide

Best Practices for Virtualised SharePoint

Distributed Systems. Virtualization. Paul Krzyzanowski

Performance tuning Xen

Chapter 5 Cloud Resource Virtualization

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Virtualizing a Virtual Machine

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

COS 318: Operating Systems. Virtual Memory and Address Translation

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Enabling Intel Virtualization Technology Features and Benefits

System Virtual Machines

Security Challenges in Virtualized Environments

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Apache Hadoop. The Scalability Update. Source of Innovation

Virtualization with Windows

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

MVM-BVRM Video Recording Manager v2.22

Database Virtualization

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

Enabling Technologies for Distributed Computing

Cloud Computing #6 - Virtualization

nanohub.org An Overview of Virtualization Techniques

COM 444 Cloud Computing

FRONT FLYLEAF PAGE. This page has been intentionally left blank

Nested Virtualization

Cloud Computing. Dipl.-Wirt.-Inform. Robert Neumann

Planning a Managed Environment

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Computing and VMWare. Module 4

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

Virtualization Technologies (ENCS 691K Chapter 3)

NoHype: Virtualized Cloud Infrastructure without the Virtualization

EMC Storage Analytics

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Data Centers and Cloud Computing

Executive Coaching to Activate the Renegade Leader Within. Renegades Do What Others Won t To Get the Results that Others Don t

Designing an Authentication Strategy

Transcription:

Lectre 17: Virtal Machines HW 4 De NOW CSE 120: Principles of Operating Systems Alex C. Snoeren Virtal Machine Monitors! Virtal Machine Monitors (VMMs) are everywhere Indstry commitment» Software: VMware, Xen, Microsoft Virtal PC» Hardware: Intel VT, AMD-V " If Intel and AMD add it to their chips, yo know it s serios Academia: lots of VMM-based projects and papers! An old idea, actally: developed by IBM in 60s and 70s! Today What is it, what problems have to be solved, how to solve them Srvey some virtalization systems Briefly otline cool things yo can do with virtalization CSE 120 Lectre 17: Virtal Machines 2 What is a VMM?! We have seen that an OS already virtalizes Syscalls, processes, virtal memory, file system, sockets, etc. Applications program to this interface! A VMM virtalizes an entire physical machine Interface spported is the hardware» OS defines a higher-level interface VMM provides the illsion that software has fll control over the hardware (of corse, VMM is in control) VMM applications rn in virtal machines (c.f., OS processes)! Implications Yo can boot an operating system in a virtal machine Rn mltiple instances of an OS on same physical machine Rn different OSes simltaneosly on the same machine» Linx on Windows, Windows on Mac, etc. CSE 120 Lectre 17: Virtal Machines 3 Why?! Resorce tilization Machines today are powerfl, want to mltiplex their hardware» e.g., ISP hosting can divvy p a physical machine to cstomers Can migrate VMs from one machine to another withot shtdown! Software se and development Can rn mltiple OSes simltaneosly» No need to dal boot Can do system (e.g., OS) development at ser-level! Many other cool applications Debgging, emlation, secrity, speclation, falt tolerance! Common theme is maniplating applications/services at the granlarity of a machine Specific version of OS, libraries, applications, etc., as package CSE 120 Lectre 17: Virtal Machines 4

Rogh VMM Model! Fidelity OSes and applications work the same withot modification» (althogh we may modify the OS a bit)! Isolation VMM protects resorces and VMs from each other! Performance VMM is another layer of software and therefore overhead» As with OS, want to minimize this overhead VMware:» CPU-intensive apps: 2-10% overhead» I/O-intensive apps: 25-60% overhead! VMM rns with privilege OS in VM rns at lesser privilege (think ser-level) VMM mltiplexes resorces among VMs! Want to rn OS code in a VM directly on CPU Think in terms of making the OS a ser-level process What OS code can rn directly, what will case problems?! Ideally, want privileged instrctions to trap Exception vectors to VMM, it emlates operation, retrns Nothing modified, rnning nprivileged is transparant Known as trap-and-emlate! Unfortnately on architectres like x86, not so easy CSE 120 Lectre 17: Virtal Machines 5 CSE 120 Lectre 17: Virtal Machines 6 Virtalizing the x86! Ease of virtalization inflenced by the architectre x86 is perhaps the last architectre yo wold choose Bt it s what everyone ses, so that s what we deal with! Isses Unvirtalizable events» popf does not trap when it cannot modify system flags Hardware-managed TLB» VMM cannot easily interpose on a TLB miss (more in a bit) Untagged TLB» Have to flsh on context switches (jst a performance isse)! Why Intel and AMD have added virtalization spport Example architectres! VMware ESX server ses hypervisor model VMM rns at privilege,vms rn nprivileged VMM provides hardware virtalization itself! VMware workstation ses hosted model VMM rns nprivileged, installed on base OS Relies pon base OS for device fnctionality CSE 120 Lectre 17: Virtal Machines 7 CSE 120 Lectre 17: Virtal Machines 8

Virtalizing Privileged Insts! Exactly what yo wold expect CPU Events (exceptions and interrpts) Memory I/O devices! Isn t this jst dplicating OS fnctionality in a VMM? Yes and no Approaches will be similar to what we do with OSes» Simpler in fnctionality, thogh (VMM mch smaller than OS) Bt implements a different abstraction» Hardware interface vs. OS interface! OSes can no longer sccessflly execte privileged instrctions Virtal memory registers, interrpts, I/O, halt, etc.! For those instrctions that case an exception Trap to VMM, take care of bsiness, retrn to OS in VM! For those that do not VMware ses software virtalization Dynamic binary rewriting translates code exected in VM» Rewrite privileged instrctions with emlation code (may trap) CPU only exectes translated code Incrs overhead, bt can be well-tned (small % hit) CSE 120 Lectre 17: Virtal Machines 9 CSE 120 Lectre 17: Virtal Machines 10 Virtalizing the CPU! VMM needs to mltiplex VMs on CPU! How? Jst as yo wold expect Timeslice the VMs Each VM will timeslice its OS/applications dring its qantm! Typically relatively simple schedler Rond robin, work-conserving (give nsed qantm to other VMs) Virtalizing Events & I/O! VMM receives interrpts, exceptions Needs to vector to appropriate VM Craft appropriate handler invocation, emlate event registers! OSes can no longer interact directly with I/O devices VMWare Workstation: generic devices only (hosted)» E.g., AMD Lance chipset/pcnet Ethernet device» Load driver into OS in VM, OS ses it normally» Driver knows abot VMM, cooperates to pass the bck to a real device driver (e.g., on nderlying host OS) VMware ESX Server: drivers rn in VMM (hypervisor) CSE 120 Lectre 17: Virtal Machines 11 CSE 120 Lectre 17: Virtal Machines 12

Virtalizing Memory! OSes assme they have fll control over memory Managing it: OS assmes it owns it all Mapping it: OS assmes it can map any virtal page to any physical page! Bt VMM partitions memory among VMs VMM needs to assign hardware pages to VMs VMM needs to control mappings for isolation» Cannot allow an OS to map a virtal page to any hardware page» OS can only map to a hardware page given to it by the VMM! Hardware-managed TLBs make this difficlt When the TLB misses, the hardware atomatically walks the page tables in memory As a reslt, VMM needs to control access by OS to page tables CSE 120 Lectre 17: Virtal Machines 14 Shadow Page Tables! Three abstractions of memory Machine: actal hardware memory» 2 GB of DRAM Physical: abstraction of hardware memory managed by OS» If a VMM allocates 512 MB to a VM, the OS thinks the compter has 512 MB of contigos physical memory» (Underlying machine memory may be discontigos) Virtal: virtal address spaces yo know and love» Standard 2 32 address space! In each VM, OS creates and manages page tables for its virtal address spaces withot modification Bt these page tables are not sed by the MMU hardware CSE 120 Lectre 17: Virtal Machines 15 Shadow Page Tables (2) Shadow Page Tables (3)! VMM creates and manages page tables that map virtal pages directly to machine pages These tables are loaded into the MMU on a context switch VMM page tables are the shadow page tables! VMM needs to keep its V!M tables consistent with changes made by OS to its V!P tables VMM maps OS page tables as read only When OS writes to page tables, trap to VMM VMM applies write to shadow table and OS table, retrns Also known as memory tracing Again, more overhead CSE 120 Lectre 17: Virtal Machines 16 CSE 120 Lectre 17: Virtal Machines 17

Memory Allocation! VMMs tend to have simple hardware memory allocation policies Static: VM gets 512 MB of hardware memory for life No dynamic adjstment based on load» OSes not designed to handle changes in physical memory No swapping to disk! More sophistication: Overcommit with balloon driver Balloon driver rns inside OS to consme hardware pages» Steals from virtal memory and file bffer cache (balloon grows) Gives hardware pages to other VMs (those balloons shrink)! Identify identical physical pages (e.g., all zeroes) Map those pages copy-on-write across VMs Smmary! VMMs mltiplex virtal machines on hardware Export the hardware interface Rn OSes in VMs, apps in OSes nmodified Rn different versions, kinds of OSes simltaneosly! Intel and AMD are adding virtalization spport Goal is to flly virtalize architectre Transparent trap-and-emlate approach now feasible Echoes hardware spport originally implemented by IBM! Lesson: Never nderestimate the power of indirection CSE 120 Lectre 17: Virtal Machines 18 CSE 120 Lectre 17: Virtal Machines 19 Next Time! We ll review for the final! Lab 3 de Tesday night! Final is Monday at 11:30, right here Hardware Spport! Intel and AMD implement virtalization spport in their latest x86 chips (Intel VT-x, AMD-V)! Direct exection model New exection mode: gest mode» Direct exection of gest OS code, inclding privileged insts Virtal machine control block (VMCB)» Controls what operations trap, records info to handle traps in VMM New instrction vmrn enters gest mode, rns VM code When VM traps, CPU exectes new exit instrction Enters VMM, which emlates operation CSE 120 Lectre 17: Virtal Machines 20 CSE 120 Lectre 17: Virtal Machines 21

Hardware Spport (2)! Intel and AMD working on frther hardware spport! Memory Intel extended page tables (EPT), AMD nested page tables (NPT) Original page tables map virtal to (gest) physical pages» Managed by OS in VM, backwards-compatible» No need to trap to VMM when OS pdates its page tables New tables map physical to machine pages» Managed by VMM Tagged TLB w/ virtal process identifiers (VPIDs)» Tag VMs with VPID, no need to flsh TLB on VM/VMM switch! I/O Constrain DMA operations only to page owned by specific VM AMD DEV: exclde pages (c.f. Xen memory paravirtalization) Intel VT-d: IOMMU address translation spport for DMA CSE 120 Lectre 17: Virtal Machines 22 Xen! Uses paravirtalization Fancy word for we have to modify & recompile the OS Since yo re modifying the OS, make life easy for yorself Create a VMM interface to minimize porting and overhead! Xen hypervisor (VMM) implements interface VMM rns at privilege, VMs (domains) rn nprivileged Trsted OS (Linx) rns in own domain (Domain0)» Use Domain0 to manage system, operate devices, etc.! Most recent version of Xen does not reqire OS mods Becase of Intel/AMD hardware spport! Commercialized via XenSorce, bt also open sorce CSE 120 Lectre 17: Virtal Machines 23 Xen Architectre Xen Paravirtalization! Xen ses the page tables that an OS creates These page tables are sed directly by hardware MMU! Xen validates all pdates to page tables by OS OS can read page tables withot modification Bt Xen needs to check all PTE writes to ensre that the virtal-to-physical mapping is valid» That the OS owns the physical page being sed in the PTE Modify OS to hypervisor call into Xen when pdating PTEs» Batch pdates to redce overhead! Page tables work the same as before, bt OS is constrained to only map to the physical pages it owns! Works fine if yo can modify the OS. If yo can t CSE 120 Lectre 17: Virtal Machines 24 CSE 120 Lectre 17: Virtal Machines 25

Cool VMM Tricks @ UCSD! Fork VMs with copy-on-write memory (Michael Vrable) Scales the # of VMs on the same machine (100s) Michael modified Xen for a large-scale honeyfarm (Potemkin)! Time dilation (Diwaker Gpta) VMM can control the rate of timer interrpts to OS Can change how OS interprets passage of time If VMM slows timer by 10x, then other hardware (CPU, disk, network) appears 10x faster to OS and applications Can experiment with apps, protocols, and systems on ftre hardware» Bt, applications rn 10x slower Cool VMM Tricks @ UCSD! Virtal clsters (Marvin McNett) We have a 200-node clster for research Of corse, everyone wants 200 machines for their own project» Bt they are 99.9% idle over time Instead, give everyone a virtal clster of 200 VMs Mltiplex those VMs on physical hardware Migrate VMs as load varies over time CSE 120 Lectre 17: Virtal Machines 26 CSE 120 Lectre 17: Virtal Machines 27