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



Similar documents
Virtualization VMware Inc. All rights reserved

Introduction to Virtual Machines

Clouds Under the Covers. Elgazzar - CISC Fall

Full and Para Virtualization

Intel Virtualization Technology Overview Yu Ke

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

Virtualization. Jia Rao Assistant Professor in CS

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

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Virtualization Concepts And Applications. Yash Jain DA-IICT (DCOM Research Group)

Virtual Machines. COMP 3361: Operating Systems I Winter

COS 318: Operating Systems. Virtual Machine Monitors

Nested Virtualization

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

Virtualization. Dr. Yingwu Zhu

Virtualization Technology. Zhiming Shen

Chapter 5 Cloud Resource Virtualization

Jukka Ylitalo Tik TKK, April 24, 2006

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

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

Virtualization. Types of Interfaces

Hypervisors and Virtual Machines

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

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

Virtualization. Pradipta De

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

Basics of Virtualisation

Hybrid Virtualization The Next Generation of XenLinux

Cloud Computing CS

Cloud Computing #6 - Virtualization

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

Virtualization. Jukka K. Nurminen

Virtual machines and operating systems

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

Virtualization in Linux KVM + QEMU

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

System Virtual Machines

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

COS 318: Operating Systems. Virtual Machine Monitors

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Enabling Intel Virtualization Technology Features and Benefits

Clouds, Virtualization and Security or Look Out Below

FRONT FLYLEAF PAGE. This page has been intentionally left blank

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

Intel Virtualization Technology and Extensions

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

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Virtualization Technology. Zhonghong Ou Data Communications Software Lab, Aalto University

A Unified View of Virtual Machines

Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted execution Technology

Virtualization Technologies

Intel Virtualization Technology

Knut Omang Ifi/Oracle 19 Oct, 2015

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Distributed and Cloud Computing

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

OS Virtualization Frank Hofmann

Intel Virtualization Technology (VT) in Converged Application Platforms

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine

2972 Linux Options and Best Practices for Scaleup Virtualization

kvm: Kernel-based Virtual Machine for Linux

COM 444 Cloud Computing

Virtual Machines. Virtualization

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

ARM Virtualization: CPU & MMU Issues

Hardware Support for Efficient Virtualization

Hardware virtualization technology and its security

EE282 Lecture 11 Virtualization & Datacenter Introduction

KVM KERNEL BASED VIRTUAL MACHINE

Virtualization is set to become a key requirement

Enterprise-Class Virtualization with Open Source Technologies

IOS110. Virtualization 5/27/2014 1

Database Virtualization

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

Introduction to Virtual Machines

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

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtualization and the U2 Databases

Virtualization benefits Introduction to XenSource How Xen is changing virtualization The Xen hypervisor architecture Xen paravirtualization

The NOVA Microhypervisor

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

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

Xen and the Art of. Virtualization. Ian Pratt

Implementation of a Purely Hardware-assisted VMM for x86 Architecture

VMkit A lightweight hypervisor library for Barrelfish

Nested Virtualization

AMD 64 Virtualization

White Paper Amit Aneja Platform Architect Intel Corporation. Xen* Hypervisor Case Study - Designing Embedded Virtualized Intel Architecture Platforms

The Xen of Virtualization

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

How To Create A Cloud Based System For Aaas (Networking)

Transcription:

Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D. Rodgers Intel Virtualization Technology Roadmap and VT-d Support in Xen by Jun Nakajima! 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 2 2010 VMware Inc. All rights reserved What is a Virtual Machine? Virtualization Properties! 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! 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 3 4 1

Virtualization Applications Types of Virtualization! Process Virtualization Language-level Java,.NET, Smalltalk OS-level processes, Solaris Zones, BSD Jails, Docker Containers Cross-ISA emulation Apple 68K-PPC-x86! System Virtualization VMware Workstation, Microsoft VPC, Parallels VMware ESX, Xen, Microsoft Hyper-V 5 6 Types of Virtualization! Native/Bare metal (Type 1) Higher performance ESX, Xen, HyperV! Hosted (Type 2) Easier to install Leverage host s device drivers VMware Workstation, Parallels Types of Virtualization! Full virtualization Unmodified OS, virtualization is transparent to OS! Para virtualization OS modified to be virtualized 7 Attribution: http://itechthoughts.wordpress.com/tag/full-virtualization/ 8 Attribution http://forums.techarena.in/guides-tutorials/1104460.htm 2

What is a Virtual Machine Monitor? What Needs to Virtualized Virtualized?! Classic Definition (Popek and Goldberg 74)! VMM Properties Equivalent execution: Programs running in the virtualized environment run identically to running natively. Performance: A statistically dominant subset of the instructions must be executed directly on the CPU. Safety and isolation: A VMM most completely control system resources.! Processor! Memory! IO Guest OS + Applications Page Fault Undef Instr virq MMU Emulation CPU Emulation I/O Emulation Virtual Machine Monitor Unprivileged Privileged 9 10 Processor Virtualization Trap and Emulate! Run guest operating system deprivileged! All privileged instructions trap into VMM! VMM emulates instructions against virtual state e.g. disable virtual interrupts, not physical interrupts! Resume direct execution from next guest instruction An architecture is classically/strictly virtualizable if all its sensitive instructions (those that violate safety and encapsulation) are a subset of the privileged instructions.! all instructions either trap or execute identically! instructions that access privileged state trap 11 Attribution: http://itechthoughts.wordpress.com/tag/full-virtualization/ 12 3

x86 Virtualization Challenges! Not Classically Virtualizable x86 ISA includes instructions that read or modify privileged state But which don t trap in unprivileged mode! Example: POPF instruction Pop top-of-stack into EFLAGS register EFLAGS.IF bit privileged (interrupt enable flag) POPF silently ignores attempts to alter EFLAGS.IF in unprivileged mode! So no trap to return control to VMM! Deprivileging not possible with x86! x86 Virtualization Approaches! Binary translation! Para virtualization! HW support 13 14 Binary Translation Processor Paravirtualization! Translate dangerous instruction sequences into safe instruction sequences! Replace privileged instructions with calls to VMM! Cache translations for performance! Advantages: Can run unmodified OS! Disadvantages: Frequent traps to VMM! Examples: VMware 15 vep C Guest Code and mov mov ebx, eax cli ebx, ~0xfff ebx, cr3 sti ret Translation Cache and mov mov ebx, eax mov [VIF], 0 ebx, ~0xfff [CO_ARG], ebx call HANDLE_CR3 mov [VIF], 1 test [INT_PEND], 1 jne call HANDLE_INTS jmp HANDLE_RET start! Make OS aware of virtualization! Present to OS software interface that is similar, but not identical to underlying hardware! Replace dangerous system calls with calls to VMM 16 Page table updates! Advantages: High performance! Disadvantages: Requires porting OS! Examples: Xen 4

HW Support! Intel VT-x Codenamed "Vanderpool" Available since Itanium 2 (2005), Xeon and Centrino (2006)! AMD-V Codename Pacifica Available since Athlon 64 (2006) Intel VT-x! VT extends the original x86 architecture to eliminate holes that make virtualization hard. 17 18 Operating Modes! VMX root operation: Fully privileged, intended for VM monitor! VMX non-root operation: Not fully privileged, intended for guest software Reduces Guest SW privilege w/o relying on rings Solution to Ring Aliasing and Ring Compression VM Entry and VM Exit! VM Entry Transition from VMM to Guest Enters VMX non-root operation Loads Guest state and Exit criteria from VMCS VMLAUNCH instruction used on initial entry VMRESUME instruction used on subsequent entries! VM Exit VMEXIT instruction used on transition from Guest to VMM Enters VMX root operation Saves Guest state in VMCS Loads VMM state from VMCS! VMM can control which instructions cause VM exists CR3 accesses, INVLPG 19 20 5

Benefits: VT Helps Improve VMMs! VT Reduces guest OS dependency Eliminates need for binary patching / translation Facilitates support for Legacy OS! VT improves robustness Eliminates need for complex SW techniques Simpler and smaller VMMs Smaller trusted-computing base! VT improves performance Fewer unwanted Guest " VMM transitions x86 Memory Management Primer! The processor operates with virtual addresses! Physical memory operates with physical addresses! x86 includes a hardware translation lookaside bufer (TLB) Maps virtual to physical page addresses! x86 handles TLB misses in HW CR3 points to page table root HW walks the page tables Inserts virtual to physical mapping 21 22 Memory Virtualization! Native Memory Virtualization Techniques! Shadow page tables! Paravirtualization! HW supported nested page tables! Virtualized 23 24 6

Shadow Page Tables! Keep a second set of page tables hidden from guest! Map between guest virtual and machine pages! Detect when guest changes page tables TLB invalidation requests, page table creation, write to existing page tables! Update shadow page accordingly! On context switch, install shadow page instead of guest page! Advantages: Can support unmodified guest! Disadvantages: Significant overhead to maintain consistency! Examples: VMware and Xen HVM Memory Paravirtualization! Page table maps between virtual and machine addresses! OS and VMM share page tables! OS can only read! Changes to page table require hyper call VMM validates that guest owns machine address! Advantages: Higher performance can be achieved by batching updates! Disadvantages: Requires changes to the OS! Examples: Xen 25 26 Hardware Support! Nested page tables! HW keeps a second set of page tables that map from physical to machine addresses.! On a TLB miss, first find physical address from guest page tables, then map to machine address! Intel EPT (Extended Page Table) Since Corei7 (2008)! AMD RVI (Rapid Virtualization Indexing) Since Opteron and Phenom II (2007) 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 27 28 7

Memory Reclamation Ballooning! Balloning: guest driver allocates pinned PPNs, hypervisor deallocates backing MPNs! Swapping: hypervisor transparently pages out PPNs, paged in on demand! Page sharing: hypervisor identifies identical PPNs based on content, maps to same MPN copy-on-write 29 30 Page Sharing Page Sharing 31 32 8

I/O Virtualization! Emulation! Paravirtualization (split driver)! Direct mapped/pci passthrough! Hardware support Emulation! Guest runs original driver! VMM emulates HW in SW! Advantages: Can run unmodified guest! Disadvantages: Slow 33 34 IO Paravirtualization! Slip driver approach! Privileged domain interact with IO devices, exports high level interface as back-end drive! Guest domain implements front end driver! Front and back end drivers Direct Mapped/PCI Passthrough! Allocate a physical device to a specific domain! Driver runs of guest domain! Cannot use DMA! DMA uses physical addresses.! Breaks isolation 35 36 9

Hardware Support! IOMMU (IO Memory Management Unit)! Translates memory addresses from IO space to physical space! Provides isolation. Limits device s ability to access machine memory.! Intel VT-d! Core 2 (2008)! AMD-Vi! Six Core Opteron (2010) Intel VT-d! Provides infrastructure for I/O virtualization! DMA and interrupt remapping 37 38 VT-d Applied to Pass-through Model! Direct Device Assignment to Guest OS! Guest OS directly programs physical device! VMM sets up guest- to host-physical DMA mapping! PCI-SIG I/O Virtualization Working Group! Activity towards standardizing natively sharable I/O devices! IOV devices provide virtual interfaces, each independently assignable to VMs! Advantages: High performance and simple VMM! Disadvantages: Limits VM migration 39 10