Introduction to Virtual Machines



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

Clouds Under the Covers. Elgazzar - CISC Fall

Virtualization VMware Inc. All rights reserved

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

Cloud Computing #6 - Virtualization

Virtualization. Jia Rao Assistant Professor in CS

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

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtualization. Dr. Yingwu Zhu

Full and Para Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Types of Interfaces

Virtualization. Pradipta De

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

COS 318: Operating Systems. Virtual Machine Monitors

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

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

kvm: Kernel-based Virtual Machine for Linux

Hypervisors and Virtual Machines

Virtualization Technology. Zhiming Shen

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

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

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

Best Practices for Virtualised SharePoint

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

Virtualization. Jukka K. Nurminen

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

IOS110. Virtualization 5/27/2014 1

Basics of Virtualisation

Virtual Machines. Virtualization

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

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

Distributed Systems. Virtualization. Paul Krzyzanowski

COM 444 Cloud Computing

Chapter 5 Cloud Resource Virtualization

Cloud Computing CS

Virtualization and the U2 Databases

Distributed and Cloud Computing

Introduction to Virtual Machines

Intel Virtualization Technology Overview Yu Ke

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

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

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

Knut Omang Ifi/Oracle 19 Oct, 2015

Virtualization with Windows

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

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

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

KVM KERNEL BASED VIRTUAL MACHINE

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Networking for Caribbean Development

Virtualization Technologies

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

Enabling Intel Virtualization Technology Features and Benefits

Clouds, Virtualization and Security or Look Out Below

ARM Virtualization: CPU & MMU Issues

A Unified View of Virtual Machines

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

Virtualization for Cloud Computing

Virtualization Technologies. Embrace the new world of healthcare

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

Virtual machines and operating systems

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

Enterprise-Class Virtualization with Open Source Technologies

System Virtual Machines

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Nested Virtualization

VMware Server 2.0 Essentials. Virtualization Deployment and Management

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

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Hyper-V vs ESX at the datacenter

Virtualization in Linux KVM + QEMU

9/26/2011. What is Virtualization? What are the different types of virtualization.

nanohub.org An Overview of Virtualization Techniques

Virtual Machines.

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

The Future of Virtualization Technology. Stephen Alan Herrod VP of Technology VMware

Networked I/O for Virtual Machines

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Cloud Computing. Up until now

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

What is virtualization

Red Hat enterprise virtualization 3.0 feature comparison

Virtualization Technologies (ENCS 691K Chapter 3)

The Art of Virtualization with Free Software

Comparing Free Virtualization Products

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

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

VMware Virtual Infrastucture From the Virtualized to the Automated Data Center

Server Virtualization and Consolidation

CSE490H: Virtualization

Virtualization. Michael Tsai 2015/06/08

Windows 7 XP Mode for HP Business PCs

OS Virtualization Frank Hofmann

Disaster Recovery Infrastructure

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

Intro to Virtualization

Transcription:

Introduction to Virtual Machines Carl Waldspurger (SB SM 89, PhD 95), VMware R&D 2010 VMware Inc. All rights reserved

Overview Virtualization and VMs Processor Virtualization Memory Virtualization I/O Virtualization 2

Types of Virtualization Process Virtualization Language-level Java,.NET, Smalltalk OS-level processes, Solaris Zones, BSD Jails, Virtuozzo Cross-ISA emulation Apple 68K-PPC-x86, Digital FX!32 Device Virtualization Logical vs. physical VLAN, VPN, NPIV, LUN, RAID System Virtualization Hosted VMware Workstation, Microsoft VPC, Parallels Bare metal VMware ESX, Xen, Microsoft Hyper-V 3

Starting Point: A Physical Machine 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 4

What is a Virtual Machine? 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 5

Virtualization Properties 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 6

What is a Virtual Machine Monitor? Classic Definition (Popek and Goldberg 74) VMM Properties Fidelity Performance Safety and Isolation 7

Classic Virtualization and Applications Classical VMM IBM mainframes: IBM S/360, IBM VM/370 Co-designed proprietary hardware, OS, VMM Trap and emulate model Applications From IBM VM/370 product announcement, ca. 1972 Timeshare several single-user OS instances on expensive hardware Compatibility 8

Modern Virtualization Renaissance Recent Proliferation of VMs Considered exotic mainframe technology in 90s Now pervasive in datacenters and clouds Huge commercial success Why? Introduction on commodity x86 hardware Ability to do more with less saves $$$ Innovative new capabilities Extremely versatile technology 9

Modern Virtualization Applications Server Consolidation Convert underutilized servers to VMs Significant cost savings (equipment, space, power) Increasingly used for virtual desktops Simplified Management Datacenter provisioning and monitoring Dynamic load balancing Improved Availability Automatic restart Fault tolerance Disaster recovery Test and Development 10

Processor Virtualization Trap and Emulate Binary Translation 11

Privileged Unprivileged Trap and Emulate Guest OS + Applications Page Fault Undef Instr virq MMU Emulation CPU Emulation I/O Emulation Virtual Machine Monitor 12

Strictly Virtualizable A processor or mode of a processor is strictly virtualizable if, when executed in a lesser privileged mode: all instructions that access privileged state trap all instructions either trap or execute identically 13

Issues with Trap and Emulate Not all architectures support it Trap costs may be high VMM consumes a privilege level Need to virtualize the protection levels 14

Binary Translation Guest Code Translation Cache vep C mov ebx, eax cli mov ebx, eax mov [VIF], 0 start and ebx, ~0xfff and ebx, ~0xfff mov ebx, cr3 mov [CO_ARG], ebx sti call HANDLE_CR3 ret mov [VIF], 1 test [INT_PEND], 1 jne call HANDLE_INTS jmp HANDLE_RET 15

Issues with Binary Translation Translation cache management PC synchronization on interrupts Self-modifying code Notified on writes to translated guest code Protecting VMM from guest 16

Memory Virtualization Shadow Page Tables Nested Page Tables 17

Traditional Address Spaces 0 4GB Virtual Address Space 0 4GB Physical Address Space 18

Traditional Address Translation Virtual Address TLB Physical Address 1 4 2 5 Process Page Table 2 Operating System s Page Fault Handler 3 19

Virtualized Address Spaces 0 4GB Virtual Address Space 0 0 Guest Page Table Physical Address Space VMM PhysMap Machine Address Space 4GB 4GB 20

Shadow Page Table Virtualized Address Spaces w/ Shadow Page Tables 0 4GB Virtual Address Space 0 Guest Page Table Physical Address Space 4GB 0 VMM PhysMap Machine Address Space 4GB 21

Virtualized Address Translation w/ Shadow Page Tables Virtual Address TLB Machine Address 1 5 2 6 4 3 Shadow Page Table Guest Page Table 3 PMap 2 A 22

Issues with Shadow Page Tables Guest page table consistency Rely on guest s need to invalidate TLB Performance considerations Aggressive shadow page table caching necessary Need to trace writes to cached page tables 23 Confidential

Virtualized Address Spaces w/ Nested Page Tables 0 4GB Virtual Address Space 0 0 Guest Page Table Physical Address Space VMM PhysMap Machine Address Space 4GB 4GB 24

Virtualized Address Translation w/ Nested Page Tables Virtual Address TLB Machine Address 1 3 2 Guest Page Table 2 PhysMap By VMM 3 25

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 Other Memory Virtualization Hardware Assists Monitor Mode has its own address space No need to hide the VMM 26

Interposition with Memory Virtualization Page Sharing Virtual Virtual Physical Physical VM1 VM2 Machine Read-Only Copy-on-write 27

I/O Virtualization Virtual Device Driver Guest Virtual Device Driver Virtual Device Driver Virtual Device Model Virtual Device Model Virtual Device Model Abstract Device Model Device Interposition Compression Bandwidth Control Record / Replay Overshadow Page Sharing Copy-on-Write Disks Encryption Intrusion Detection Attestation Device Back-ends Remote Access Cross-device Emulation Disconnected Operation Multiplexing Device Sharing Scheduling Resource Management H.W. Device Driver H.W. Device Driver Hardware 28

I/O Virtualization Implementations Guest OS Hosted or Split Emulated I/O Hypervisor Direct Guest OS Passthrough I/O Guest OS Device Driver Device Driver Device Driver Device Emulation Host OS/Dom0/ Parent Domain Device Emulation Device Emulation I/O Stack Device Driver I/O Stack Device Driver Device Manager VMware Workstation, VMware Server, Xen, Microsoft Hyper-V, Virtual Server VMware ESX VMware ESX (FPT) 29

Issues with I/O Virtualization Need physical memory address translation need to copy need translation need IO MMU Need way to dispatch incoming requests 30

Backup Slides 31

Brief History of VMware x86 Virtualization x86-64 Intel VT-x Intel EPT AMD-V AMD RVI 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009... ESX 3.0 ESX 3.5 ESX 4.0 Workstation 1.0 VMware founded ESX 2.0 (vsmp) ESX Server 1.0 Workstation 2.0 Workstation 5.5 (64 bit guests) 32

Passthrough I/O Virtualization Guest OS Guest OS Guest OS Device Driver Device Driver Device Driver Virtualization Layer Device Manager I/O MMU VF VF VF I/O Device PF PF = Physical Function, VF = Virtual Function High Performance Guest drives device directly Minimizes CPU utilization Enabled by HW Assists I/O-MMU for DMA isolation e.g. Intel VT-d, AMD IOMMU Partitionable I/O device e.g. PCI-SIG IOV spec Challenges Hardware independence Migration, suspend/resume Memory overcommitment 33