COS 318: Operating Systems. Virtual Machine Monitors

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

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Dr. Yingwu Zhu

Full and Para Virtualization

Virtualization. Pradipta De

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

Virtualization. Types of Interfaces

Virtualization Technology. Zhiming Shen

Virtualization. Jukka K. Nurminen

nanohub.org An Overview of Virtualization Techniques

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

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Cloud Computing #6 - Virtualization

Virtualization. Jia Rao Assistant Professor in CS

Distributed and Cloud Computing

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual Machines. Virtualization

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

COM 444 Cloud Computing

Basics of Virtualisation

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

Chapter 5 Cloud Resource Virtualization

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

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

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

The Xen of Virtualization

Introduction to Virtual Machines

Virtual machines and operating systems

An Introduction to Virtual Machines Implementation and Applications

Virtualization for Cloud Computing

Cloud Computing CS

Hypervisors and Virtual Machines

Clouds Under the Covers. Elgazzar - CISC Fall

Virtual Machines.

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

x86 ISA Modifications to support Virtual Machines

System Virtual Machines

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

Virtualization and the U2 Databases

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

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

Xen and the Art of. Virtualization. Ian Pratt

Virtualization Technologies (ENCS 691K Chapter 3)

Virtualization Technologies

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

Enabling Technologies for Distributed Computing

Chapter 2 Addendum (More on Virtualization)

Chapter 14 Virtual Machines

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

12. Introduction to Virtual Machines

Knut Omang Ifi/Oracle 19 Oct, 2015

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

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

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

IOS110. Virtualization 5/27/2014 1

Networking for Caribbean Development

kvm: Kernel-based Virtual Machine for Linux

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

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

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

Xen and the Art of Virtualization

Virtualization VMware Inc. All rights reserved

Virtual Computing and VMWare. Module 4

Distributed Systems. Virtualization. Paul Krzyzanowski

Development of Type-2 Hypervisor for MIPS64 Based Systems

Enabling Technologies for Distributed and Cloud Computing

Survey On Hypervisors

Memory Resource Management in VMware ESX Server

Virtual Machine Security

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

Virtualization with Windows

VMkit A lightweight hypervisor library for Barrelfish

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

Introduction to Virtual Machines

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

A Survey on Virtualization Technologies

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

The MIPS architecture and virtualization

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

Virtualization: Concepts, Applications, and Performance Modeling

COS 318: Operating Systems

Virtualization. Michael Tsai 2015/06/08

Computing in High- Energy-Physics: How Virtualization meets the Grid

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Optimizing Network Virtualization in Xen

Optimizing Network Virtualization in Xen

Data Centers and Cloud Computing

OS Virtualization Frank Hofmann

Analysis on Virtualization Technologies in Cloud

CS 695 Topics in Virtualization and Cloud Computing. Introduction

Hybrid Virtualization The Next Generation of XenLinux

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

Networked I/O for Virtual Machines

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

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

Transcription:

COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/

Introduction u Have been around since 1960 s on mainframes l used for multitasking l Good example VM/370 u Have resurfaced on commodity platforms l Server Consolidation l Web Hosting centers l High-Performance Compute Clusters l Managed desktop / thin-client l Software development / kernel hacking 2

Goals u Manageability l Ease maintenance, administration, provisioning, etc. u Performance l Overhead of virtualization should be small u Power saving l Server consolidation u Isolation l Activity of one VM should not impact other active VMs l Data of one VM is inaccessible by another u Scalability l Minimize cost per VM 3

Virtual Machine Monitor (VMM) u Resides as a layer below the operating system u Presents a hardware interface to an OS u Multiplexes resources between several virtual machines (VMs) u Performance Isolates VMs from each other 4

VMM Types 5

Virtualization Styles u Fully virtualizing VMM l Virtual machine looks exactly like a physical machine l Run guest OS unchanged l VMM is transparent to the OS u Para- virtualizing VMM l Sacrifice transparency for better performance l VMM can provide idealized view of hardware l VMM can provide a hypervisor API l Guest OS is changed to cooperate with VMM 6

VMM Classification Type I Type II Fully-virtualized VMware ESX VMware Workstation Para-virtualized Xen User Mode Linux 7

VMM Implementation Should efficiently virtualize the hardware u Provide illusion of multiple machines u Retain control of the physical machine Subsystems u Processor Virtualization u I/O virtualization u Memory Virtualization 8

Processor Virtualization Popek and Goldberg (1974) l Sensitive instructions: only executed in kernel mode l Privileged instructions: trap when run in user mode l CPU architecture is virtualizable only if sensitive instructions are subset of privileged instructions l When guest OS runs a sensitive instruction, must trap to VMM so it maintains control 9

Example: System Call Process Operating System VMM 1.System call: Trap to OS 5. Resume execution (@PC after trap) 3. OS trap handler: Decode trap and execute syscall; When done: issue returnfrrom-trap 2. Process trapped: call OS trap handler (at reduced privilege) 4. OS tried to return from trap; do real return-from-trap 10

x86 Processor Virtualization u x86 architecture is not fully virtualizable l Certain privileged instructions behave differently when run in unprivileged mode l Certain unprivileged instructions can access privileged state u Techniques to address inability to virtualize x86 l Replace non-virtualizable instructions with easily virtualized ones statically (Paravirtualization) l Perform Binary Translation (Full Virtualization) 11

I/O Virtualization u Issue: lots of I/O devices u Problem: Writing device drivers for all I/O device in the VMM layer is not a feasible option u Insight: Device driver already written for popular Operating Systems u Solution: Present virtual I/O devices to guest VMs and channel I/O requests to a trusted host VM running popular OS 12

I/O Virtualization VMM + Device Drivers VMM 13

Memory Virtualization u Traditional way is to have the VMM maintain a shadow of the VM s page table u The shadow page table controls which pages of machine memory are assigned to a given VM u When guest OS updates its page table, VMM updates the shadow 14

VMware ESX Server u Type I VMM - Runs on bare hardware u Full-virtualized Legacy OS can run unmodified on top of ESX server u Fully controls hardware resources and provides good performance 15

ESX Server CPU Virtualization u Most user code executes in Direct Execution mode; near native performance u Uses runtime Binary Translation for x86 virtualization l Privileged mode code is run under control of a Binary Translator, which emulates problematic instructions l Fast compared to other binary translators as source and destination instruction sets are nearly identical 16

ESX Server Memory Virtualization u Maintains shadow page tables with virtual to machine address mappings. u Shadow page tables are used by the physical processor u ESX maintains the pmap data structure for each VM with physical to machine address mappings u ESX can easily remap a machine page 17

ESX Server Memory Mgmt u Page reclamation Ballooning technique l Reclaims memory from other VMs when memory is overcommitted u Page sharing Content based sharing l Eliminates redundancy and saves memory pages when VMs use same operating system and applications 18

ESX Server- Ballooning 19

ESX Server Page Sharing 20

Real World Page Sharing 21

ESX Server I/O Virtualization u Has highly optimized storage subsystem for networking and storage devices l Directly integrated into the VMM l Uses device drivers from the Linux kernel to talk directly to the device u Low performance devices are channeled to special host VM, which runs a full Linux OS 22

I/O Virtualization VMM + Device Drivers VMM 23

VMware Workstation u Type II VMM - Runs on host operating system u Full-virtualized Legacy OS can run unmodified on top of VMware Workstation u Appears like a process to the Host OS 24

Workstation - Virtualization u CPU Virtualization and Memory Virtualization l Uses Similar Techniques as the VMware ESX server u I/O Virtualization l Workstation relies on the Host OS for satisfying I/O requests l I/O incurs huge overhead as it has to switch to the Host OS on every IN/OUT instruction. l E.g., Virtual disk maps to a file in Host OS 25

Workstation Virtualize NIC 26

Xen u Type I VMM u Para-virtualized u Open-source u Designed to run about 100 virtual machines on a single machine 27

Xen CPU Virtualization u Privileged instructions are para-virtualized by requiring them to be validated and executed with Xen u Processor Rings l Guest applications run in Ring 3 l Guest OS runs in Ring 1 l Xen runs in Ring 0 28

Xen Memory Virtualization(1) u Initial memory allocation is specified and memory is statically partitioned u A maximum allowable reservation is also specified. u Balloon driver technique similar to ESX server used to reclaim pages 29

Xen Memory Virtualization(2) u Guest OS is responsible for allocating and managing hardware page table u Xen involvement is limited to ensure safety and isolation u Xen exists in the top 64 MB section at the top of every address space to avoid TLB flushes when entering and leaving the VMM 30

Xen I/O Virtualization u Xen exposes a set of clean and simple device abstractions u I/O data is transferred to and from each domain via Xen, using shared memory, asynchronous buffer descriptor rings u Xen supports lightweight event delivery mechanism used for sending asynchronous notifications to domains 31

Summary u Classifying Virtual Machine Monitors l Type I vs. type II l Full vs. para-virtualization u Processor virtualization u Memory virtualization u I/O virtualization 32