COS 318: Operating Systems. Virtual Machine Monitors

Similar documents
COS 318: Operating Systems. Virtual Machine Monitors

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. Types of Interfaces

Virtualization. Pradipta De

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

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

Virtualization Technology. Zhiming Shen

Virtual Machines. COMP 3361: Operating Systems I Winter

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Virtualization. Jukka K. Nurminen

Virtualization. Jia Rao Assistant Professor in CS

nanohub.org An Overview of Virtualization Techniques

Introduction to Virtual Machines

Cloud Computing #6 - Virtualization

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

Virtual Machines. Virtualization

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Chapter 5 Cloud Resource Virtualization

The Xen of Virtualization

Virtualization for Cloud Computing

Hypervisors and Virtual Machines

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

Basics of Virtualisation

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

An Introduction to Virtual Machines Implementation and Applications

Virtual machines and operating systems

COM 444 Cloud Computing

Distributed and Cloud Computing

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

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

Cloud Computing CS

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

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

Virtualization and the U2 Databases

Xen and the Art of. Virtualization. Ian Pratt

Clouds Under the Covers. Elgazzar - CISC Fall

Xen and the Art of Virtualization

Virtualization Technologies (ENCS 691K Chapter 3)

Chapter 2 Addendum (More on Virtualization)

Virtual Machines.

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

Distributed Systems. Virtualization. Paul Krzyzanowski

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

System Virtual Machines

Knut Omang Ifi/Oracle 19 Oct, 2015

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

x86 ISA Modifications to support Virtual Machines

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

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

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

Virtualization Technologies

Virtualization VMware Inc. All rights reserved

12. Introduction to Virtual Machines

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

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

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

Memory Resource Management in VMware ESX Server

Survey On Hypervisors

kvm: Kernel-based Virtual Machine for Linux

ARM Virtualization: CPU & MMU Issues

Chapter 14 Virtual Machines

Hybrid Virtualization The Next Generation of XenLinux

VMkit A lightweight hypervisor library for Barrelfish

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

Enabling Technologies for Distributed Computing

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

Virtual Computing and VMWare. Module 4

Networking for Caribbean Development

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

Optimizing Network Virtualization in Xen

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

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

Analysis on Virtualization Technologies in Cloud

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Virtualization with Windows

Multi-core Programming System Overview

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

Nested Virtualization

Virtual Machine Security

Virtualization. Michael Tsai 2015/06/08

Enabling Technologies for Distributed and Cloud Computing

Optimizing Network Virtualization in Xen

A Survey on Virtualization Technologies

OS Virtualization Frank Hofmann

Database Virtualization

Virtual Machines Fact Sheet

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

Introduction to Virtual Machines

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Virtualization: Concepts, Applications, and Performance Modeling

Data Centers and Cloud Computing

Development of Type-2 Hypervisor for MIPS64 Based Systems

The Art of Virtualization with Free Software

Transcription:

COS 318: Operating Systems Virtual Machine Monitors Jaswinder Pal Singh 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 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, e.g. do nothing l Certain unprivileged instructions can access privileged state (so guest OS would be able to see that it s not running in kernel mode) 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) l Note: both basically remove problematic (nonvirtualizable) instructions from the guest OS 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 One Solution: l Present virtual I/O devices to guest VMs l Channel I/O requests to a trusted host VM running a popular OS that has the device drivers 12

I/O Virtualization VMM VMM + Device Drivers 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 VM tries to change MMU to point to a specific page table, this traps to VMM which updates MMU to point to the shadow page table l Shadow PT has actual mappings between virtual pages in VM and real physical pages in machine u Keeping shadow page table in sync with guest PT: l When guest OS updates page table, VMM updates shadow l E.g. pages of guest OS page table marked read-only 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 VMM + Device Drivers VMM 22

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 23

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 24

Workstation Virtualize NIC 25

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

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 l So if guest OS executes privileged instruction, it traps to Xen 27

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 28

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 29

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 30

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 31