Virtualization. Jia Rao Assistant Professor in CS http://cs.uccs.edu/~jrao/

Similar documents
Full and Para Virtualization

Virtualization. Types of Interfaces

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

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

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

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

Virtualization. Pradipta De

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines. COMP 3361: Operating Systems I Winter

Introduction to Virtual Machines

System Virtual Machines

Virtualization Technology. Zhiming Shen

Virtual machines and operating systems

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

Virtualization. Dr. Yingwu Zhu

Chapter 5 Cloud Resource Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

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

Virtualization VMware Inc. All rights reserved

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

Cloud Computing CS

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Virtual Machines. Virtualization

ARM Virtualization: CPU & MMU Issues

A Unified View of Virtual Machines

Intel Virtualization Technology Overview Yu Ke

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

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

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Cloud Computing #6 - Virtualization

Virtualization for Cloud Computing

The Art of Virtualization with Free Software

Virtualization. Jukka K. Nurminen

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Clouds Under the Covers. Elgazzar - CISC Fall

Distributed Systems. Virtualization. Paul Krzyzanowski

Platform Virtualization: Model, Challenges and Approaches

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

Basics of Virtualisation

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

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

VMware Server 2.0 Essentials. Virtualization Deployment and Management

How To Virtualize A Computer System

kvm: Kernel-based Virtual Machine for Linux

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

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

Virtualization with Windows

Virtualization. Michael Tsai 2015/06/08

Virtualization Technologies

Xen and the Art of. Virtualization. Ian Pratt

Knut Omang Ifi/Oracle 19 Oct, 2015

Introduction to Virtualization

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

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

Hybrid Virtualization The Next Generation of XenLinux

Virtual Computing and VMWare. Module 4

Introduction to Virtual Machines

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

IOS110. Virtualization 5/27/2014 1

Virtual Machines.

COM 444 Cloud Computing

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

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

Data Centers and Cloud Computing

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

nanohub.org An Overview of Virtualization Techniques

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

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

Hypervisors and Virtual Machines

Nested Virtualization

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

Virtualization and Other Tricks.

The Xen of Virtualization

Virtualization. Mike Kasick Glenn Willen Mike Cui. April 16, : Operating System Design & Implementation

Virtual Machine Security

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Introduction to Virtualization & KVM

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

Clouds, Virtualization and Security or Look Out Below

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

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

Networking for Caribbean Development

Jukka Ylitalo Tik TKK, April 24, 2006

Enabling Technologies for Distributed Computing

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

Intro to Virtualization

Virtualization and the U2 Databases

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

Comparing Free Virtualization Products

Distributed and Cloud Computing

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

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Virtualization in Linux KVM + QEMU

Enabling Intel Virtualization Technology Features and Benefits

Virtualization: Concepts, Applications, and Performance Modeling

Chapter 14 Virtual Machines

12. Introduction to Virtual Machines

Intel Virtualization Technology (VT) in Converged Application Platforms

Transcription:

Virtualization Jia Rao Assistant Professor in CS http://cs.uccs.edu/~jrao/

What is Virtualization? Virtualization is the simulation of the software and/ or hardware upon which other software runs. This simulated environment is called a virtual machine --Wikipedia 2

Computer Systems Arch. Instruction set arch. (ISA), introduced in IBM 360 series in early 60 s, provides an interface between HW and SW, so that HW could be implemented in various ways OS provides a first layer of abstraction, that hides specifies of the HW from programs. data types, instructions, registers addressing mode, mem hierarchy interrupt, I/O handling Application Software OS System ISA User ISA Machine ISA 3

Application Binary Interface From the perspective of a user process, the machine is a combination of the OS and the underlying user-level HW, defined by the ABI interface Application Software System Calls User ISA ABI Machine Application Binary Interface 4

Virtual Machine Mapping of virtual resources or state (e.g. registers, memory, files, etc) to real resources User of real machine instructions and/or system calls to carry out the actions specified by VM instructions and/or system calls (e.g. emulation of the VM ABI or ISA) Two types of VM Process VM from the perspective of user process System VM from the perspective of OS 5

Process Virtual Machine Process-level (application) VMs provide user apps with a virtual ABI environment Types of process-level VMs Multiprogramming Emulators and Dynamic Binary Translators Same-ISA Binary Optimizers High-Level Language Virtual Machines (Platform Independence) - JVM 6

System Virtual Machine provides a complete system platform which supports the execution of a complete operating system (OS) supports multiple user processes provides them with access to I/O devices supports GUI if on the desktop 7

Types of System VM Hosted virtualization simulates a OS in a process VirtualBox, VMware player Linux VirtualBox Windows CPU Memor Disk OS-level virtualization divides host OS into partitions Solaris Solaris Solaris guest OS is the same as the host OS CPU Memor Disk Solaris containers, OpenVZ, Linux Vserver VM 8

Types of Virtualization (cont ) Hardware (platform) virtualization Full virtualization Windows VMware Linux - unmodified OS runs in emulated hardware CPU Memor Disk - IBM VM series, Parallel Hardware-assisted virtualization (HV) Windows Linux - HW provides architectural support hosting VMs VMware Para-virtualization (PV) CPU Memor Disk - modified OS runs in VM - Xen, VMware ESXi Mod BSD Mod Linux PVHVM Xen 9 CPU Memor Disk

System VM: Why? Reduce total cost of ownership (TCO) Increased systems utilization (current servers have less than 10% average utilization, less than 50% peak utilization) Reduce hardware (25% of the TCO) Space, electricity, cooling (50% of the operating cost of a data center) 10

Resource Virtualization Processor Memory Device and I/O 11

Popek and Goldberg Virtualization Fidelity Requirements (1974) A program running under the VMM should exhibit a behavior essentially identical to that demonstrated when running on an equivalent machine directly Safety The VMM must be in complete control of the virtualized resources Performance A statistically dominant fraction of machine instructions must be executed without VMM intervention 12

CPU Rings User and kernel mode are controlled by CPU Multiple CPU protection rings traditional OS runs in ring 0 OS in VM runs in ring 1-3 must handle ring 3 to ring 0 transition Ring 3 Ring 2 Ring 1 Ring 0 Kernel Device drivers Device drivers Applications 13

Sufficient Conditions for Virtualization Classification of Instructions: Privileged instruction traps if the machine is in user mode and does not trap if in system mode Control-sensitive instructions attempt to change the configuration of resources in the system Behavior-sensitive instructions: results produced depend on the configuration of resources A VMM may be constructed if the set of sensitive instructions is a subset of the privileged instructions Intuitively, it is sufficient that all instructions that could affect the correct functioning of the VMM (sensitive instructions) always trap and pass control to the VMM. 14

Challenges for X86 Virtualization IA-32 contains 16 sensitive, but non-privileged instructions Sensitive register instructions: read or change sensitive registers and/or memory locations such as a clock register or interrupt registers: - SGDT, SIDT, SLDT, SMSW, PUSHF, POPF Protection system instructions: reference the storage protection system, memory or address relocation system: - LAR, LSL, VERR, VERW, POP, PUSH, CALL, JMP, INT n, RET, STR, MOV 15

Binary Translation dynamic translate native binary code into host instructions preprocess OS binary running in VM detect sensitive instructions call out to the VMM 16

Para-virtualize Privileged Instructions Execution of privileged instructions requires validation in the VMM modify OS to exit into VMM for validation and execution Hypercalls in Xen Optimizations - batching - validation at initialization 17

Hardware-Assisted CPU Virtualization CPU hardware support for virtualization Intel VT and AMD-V Hypervisor runs in ring -1 (root) Guest OS runs in ring 0 (non-root) New instructions for VM/VMM transition Ring 3 Ring 2 Ring 1 Ring 0 Ring Kernel -1 VMM Guest Device drivers Device drivers Applications - VM exit and VM entry 18

Virtualizing Memory Three memory addresses virtual memory (process), physical memory (OS), machine memory (VMM) VMM maintains a shadow mapping from VA to MA Process 1 Process 2 Process 3 Process 4 Virtual memory VM-1 Page table VM-2 Page table Physical memory Shadow page table 19 Machine memory

Virtualizing Memory (cont ) High virtualization overhead with shadow page table frequent guest OS to VMM transition and TLB flush Xen s optimization Guest OS 0 123 2 239 Page table - directly register guest PG to MMU - Read to PG bypass VMM VMM Hardware 5 100 0 250 2 453 5 23 Shadow page table - VMM traps updates to VMM - Batch updates - Reserve top 64MB for VMM to avoid TLB flush due to guest/vmm switch 20

Hardware Support Extended/Nested page tables Intel VT-x and AMD-V no shadow page table is needed Two hardware PGs - VA->PA and PA->MA Tagged TLB entry Guest OS VMM Hardware 0 123 2 239 5 100 0 123 ASID Page table 2 239 ASID TLB 5 100 ASID costly page walk 21

Virtualizing I/O I/O Virtualization Ar I/O virtualization architecture guest driver generic virtual device, e.g., Intel e1000 virtualization I/O stack real device driver Guest OS Guest Device Driver Device Emulation I/O Stack Physical Device Driver I/O V Gu Vir Co de Vir Ph Re hardware device Physical Device *Adapted from Mallik s presentation at VMworld 2006 22

I/O Virtualization Implementations I/O Virtualization Implementations Hosted or Split Virtualized I/O Hypervisor Direct Passthrough I/O Guest OS Guest OS Guest OS Guest Device Driver Guest Device Driver Guest Device Driver Virtual Device (VMM) Host OS/Dom0/ Parent Domain Virtual Device Virtual Device I/O Stack Physical Device Driver I/O Stack Physical Device Driver Device Manager VMware Workstation, VMware Server, VMware ESX Server Microsoft Viridian & Virtual Server, Xen VMware ESX Server (storage and network) 23 A Future Option *Adapted from Mallik s presentation at VMworld 2006

Xen s I/O Structure (split) Event-channel for interdomain communication and interrupt handling I/O ring buffer for submitting request and retrieving responses Grant table for DMA access 24

Trade-offs Virtualized I/O provides rich functionality Tradeoff between functional Passthrough I/O reduces CPU utilization and better performance Functionality Virtualized I/O vs. Passthrough I/O Virtualized I/O Split Hypervisor Passthrough I/O Virtual virtuali Passth utilizat Native I/O CPU Efficiency 25 *Adapted from Mallik s presentation at VMworld What assists can be bu 2006

Passthrough I/O Guest uses I/O device directly suitable for I/O appliance and high performance VMs requires hardware support - IO MMU for DMA address translation and protection (Intel VT-d) - Partitionable I/O devices (PCI-SG IOV SR/MR) physical functions (PF) and virtual functions (VF) 26 *Adapted from Mallik s presentation at VMworld 2006