Virtualization Technology. Zhiming Shen

Similar documents
Full and Para Virtualization

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

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual machines and operating systems

Virtualization. Types of Interfaces

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Virtualization. Pradipta De

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

Virtualization. Jia Rao Assistant Professor in CS

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

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

Chapter 5 Cloud Resource Virtualization

Virtualization. Jukka K. Nurminen

Virtualization VMware Inc. All rights reserved

Cloud Computing #6 - Virtualization

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

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Nested Virtualization

The Xen of Virtualization

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

Intel Virtualization Technology Overview Yu Ke

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

Virtual Machines.

Knut Omang Ifi/Oracle 19 Oct, 2015

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

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

Hypervisors and Virtual Machines

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

kvm: Kernel-based Virtual Machine for Linux

Virtualization. Dr. Yingwu Zhu

Basics of Virtualisation

Xen and the Art of Virtualization

Hybrid Virtualization The Next Generation of XenLinux

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization Technologies

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

OSes. Arvind Seshadri Mark Luk Ning Qu Adrian Perrig SOSP2007. CyLab of CMU. SecVisor: A Tiny Hypervisor to Provide

Distributed Systems. Virtualization. Paul Krzyzanowski

System Virtual Machines

Virtualization for Cloud Computing

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

OS Virtualization Frank Hofmann

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

Virtual Machines. Virtualization

Introduction to Virtual Machines

Virtualization and the U2 Databases

An Introduction to Virtual Machines Implementation and Applications

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

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

KVM KERNEL BASED VIRTUAL MACHINE

Cloud Computing CS

VMkit A lightweight hypervisor library for Barrelfish

Windows Server Virtualization & The Windows Hypervisor

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

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

COM 444 Cloud Computing

Enabling Intel Virtualization Technology Features and Benefits

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

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

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

How To Understand The Power Of A Virtual Machine Monitor (Vm) In A Linux Computer System (Or A Virtualized Computer)

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

Distributed and Cloud Computing

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

Virtualization in Linux KVM + QEMU

Compromise-as-a-Service

Xen and the Art of. Virtualization. Ian Pratt

VMware Server 2.0 Essentials. Virtualization Deployment and Management

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

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

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

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Jukka Ylitalo Tik TKK, April 24, 2006

EE282 Lecture 11 Virtualization & Datacenter Introduction

Architecture of the Kernel-based Virtual Machine (KVM)

MIT IAP Course Lecture #1: Virtualization 101

Introduction to Virtualization & KVM

Introduction to Virtualization

New Virtualization Techniques. Lic. Matías Zabaljáuregui

Introduction to Virtual Machines

FRONT FLYLEAF PAGE. This page has been intentionally left blank

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

The Microsoft Windows Hypervisor High Level Architecture

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

Virtualization is set to become a key requirement

Performance tuning Xen

Security Challenges in Virtualized Environments

Using IOMMUs for Virtualization in Linux

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

12. Introduction to Virtual Machines

ARM Virtualization: CPU & MMU Issues

Networked I/O for Virtual Machines

Operating System Structures

KVM on S390x. Revolutionizing the Mainframe

Survey On Hypervisors

How To Virtualize A Computer System

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

nanohub.org An Overview of Virtualization Techniques

Transcription:

Virtualization Technology Zhiming Shen

Virtualization: rejuvenation 1960 s: first track of virtualization Time and resource sharing on expensive mainframes IBM VM/370 Late 1970 s and early 1980 s: became unpopular Cheap hardware and multiprocessing OS Late 1990 s: became popular again Wide variety of OS and hardware configurations VMWare Since 2000: hot and important Cloud computing

IBM VM/370 Robert Jay Creasy (1939-2005) Project leader of the first full virtualization hypervisor: IBM CP-40, a core component in the VM system The first VM system: VM/370

IBM VM/370 Virtual machines Conversatio nal Monitor System (CMS) Specialized VM subsystem (RSCS, RACF, GCS) Mainstream OS (MVS, DOS/VSE etc.) Another copy of VM Hypervisor Hardware Control Program (CP) System/370

IBM VM/370 Technology: trap-and-emulate Problem Application Privileged Kernel Trap Emulate CP

Virtualization on x86 architecture Challenges Correctness: not all privileged instructions produce traps! Example: popf Performance: System calls: traps in both enter and exit (10X) I/O performance: high CPU overhead Virtual memory: no software-controlled TLB

Virtualization on x86 architecture Solutions: Dynamic binary translation & shadow page table Hardware extension Para-virtualization (Xen)

Dynamic binary translation Idea: intercept privileged instructions by changing the binary Cannot patch the guest kernel directly (would be visible to guests) Solution: make a copy, change it, and execute it from there Use a cache to improve the performance

Dynamic binary translation Pros: Make x86 virtualizable Can reduce traps Cons: Overhead Hard to improve system calls, I/O operations Hard to handle complex code

Shadow page table

Shadow page table Guest page table Shadow page table

Shadow page table Pros: Transparent to guest VMs Good performance when working set fit into shadow page table Cons: Big overhead of keeping two page tables consistent Introducing more issues: hidden fault, double paging

Hardware support First generation - processor Second generation - memory Third generation I/O device

First generation: Intel VT-x & AMD SVM Eliminating the need of binary translation Host mode Guest mode Ring3 Ring2 Ring1 Ring0 VMRUN VMEXIT Ring3 Ring2 Ring1 Ring0

Second generation: Intel EPT & AMD NPT Eliminating the need to shadow page table

Third generation: Intel VT-d & AMD IOMMU I/O device assignment VM owns real device DMA remapping Support address translation for DMA Interrupt remapping Routing device interrupt

Para-virtualization Full vs. para virtualization

Xen and the art of virtualization SOSP 03 Very high impact Citation count in Google scholar 6000 5000 5153 4000 3000 2286 2000 1000 461 1093 1219 1222 1229 1413 1796 0 Disco (1997) A fast file system for UNIX (1984) SPIN (1995) Exokernel (1995) Coda (1990) Log-structured file system (1992) The UNIX time-sharing system (1974) End-to-end arguments in system design (1984) Xen(2003)

Overview of the Xen approach Support for unmodified application binaries (but not OS) Keep Application Binary Interface (ABI) Modify guest OS to be aware of virtualization Get around issues of x86 architecture Better performance Keep hypervisor as small as possible Device driver is in Dom0

Xen architecture

Virtualization on x86 architecture Challenges Correctness: not all privileged instructions produce traps! Example: popf Performance: System calls: traps in both enter and exit (10X) I/O performance: high CPU overhead Virtual memory: no software-controlled TLB

CPU virtualization Protection Xen in ring0, guest kernel in ring1 Privileged instructions are replaced with hypercalls Exception and system calls Guest OS registers handles validated by Xen Allowing direct system call from app into guest OS Page fault: redirected by Xen

CPU virtualization (cont.) Interrupts: Lighweight event system Time: Interfaces for both real and virtual time

Memory virtualization Xen exists in a 64MB section at the top of every address space Guest sees real physical address Guest kernels are responsible for allocating and managing the hardware page tables. After registering the page table to Xen, all subsequent updates must be validated.

I/O virtualization Shared-memory, asynchronous buffer descriptor rings

Porting effort

Evaluation

Evaluation

Evaluation

Conclusion x86 architecture makes virtualization challenging Full virtualization unmodified guest OS; good isolation Performance issue (especially I/O) Para virtualization: Better performance (potentially) Need to update guest kernel Full and para virtualization will keep evolving together