Virtual Machines. Virtualization



Similar documents
Virtualization. Types of Interfaces

COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

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

Virtualization. Dr. Yingwu Zhu

Virtualization. Pradipta De

Virtual Machines. COMP 3361: Operating Systems I Winter

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

Cloud Computing #6 - Virtualization

Virtualization. Jia Rao Assistant Professor in CS

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

Distributed Systems. Virtualization. Paul Krzyzanowski

x86 ISA Modifications to support Virtual Machines

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

kvm: Kernel-based Virtual Machine for Linux

Virtualization Technology. Zhiming Shen

OS Virtualization Frank Hofmann

12. Introduction to Virtual Machines

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

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

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

COS 318: Operating Systems. Virtual Machine Monitors

Introduction to Virtual Machines

Networked I/O for Virtual Machines

Virtual Machines.

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

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

System Virtual Machines

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

Knut Omang Ifi/Oracle 19 Oct, 2015

The Xen of Virtualization

Virtual machines and operating systems

Chapter 5 Cloud Resource Virtualization

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

The MIPS architecture and virtualization

RUNNING vtvax FOR WINDOWS

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

Virtualization. Jukka K. Nurminen

Hypervisors and Virtual Machines

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

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

Virtualization. Michael Tsai 2015/06/08

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

Cloud Computing CS

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

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

Performance tuning Xen

COM 444 Cloud Computing

Virtualization and the U2 Databases

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

Virtualization Technologies

Clouds, Virtualization and Security or Look Out Below

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

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

A cure for Virtual Insanity: A vendor-neutral introduction to virtualization without the hype

IOS110. Virtualization 5/27/2014 1

Course Title: Virtualization Security, 1st Edition

Data Centers and Cloud Computing

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Enabling Technologies for Distributed and Cloud Computing

Enabling Technologies for Distributed Computing

Virtualization for Cloud Computing

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

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

Chapter 14 Virtual Machines

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

Development of Type-2 Hypervisor for MIPS64 Based Systems

nanohub.org An Overview of Virtualization Techniques

Running vtserver in a Virtual Machine Environment. Technical Note by AVTware

Networking for Caribbean Development

CPS221 Lecture: Operating System Structure; Virtual Machines

Survey On Hypervisors

A Unified View of Virtual Machines

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Virtual Computing and VMWare. Module 4

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

Virtualization with Windows

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

Virtual Machine Security

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Virtualization Technologies (ENCS 691K Chapter 3)

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

ARM Virtualization: CPU & MMU Issues

Leveraging Thin Hypervisors for Security on Embedded Systems

Virtual Machines Fact Sheet

Basics of Virtualisation

Virtualization VMware Inc. All rights reserved

Xen and the Art of Virtualization

Virtualization: Concepts, Applications, and Performance Modeling

Distributed and Cloud Computing

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

CSE 501 Monday, September 09, 2013 Kevin Cleary

The Art of Virtualization with Free Software

Operating System Structures

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

SCO Virtualization Presentation to Customers

Virtualization and Other Tricks.

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

Transcription:

Virtual Machines Marie Roch Tanenbaum 8.3 contains slides from: Tanenbaum 3 rd ed. 2008 1 Virtualization Started with the IBM System/360 in the 1960s Basic concept simulate multiple copies of the underlying hardware 2 1

Stability Why virtualization? most problems due to software easy to checkpoint/snapshot Manageability quick install to new machines virtual appliances load balancing/migration 3 Ease of use Why virtualization? legacy software on new system access to software on different OS while running another Development user software on multiple platforms stable platform for OS development simulate networked machines/clusters 4 2

Virtual machine (VM) properties (Popek and Goldberg 1974) Efficiency Instructions which do not affect hardware * are executed without translation Resource control User programs cannot affect hardware resources. Equivalence Programs behave identically to system without VM except for: timing resource availability * with the exception of user controlled registers, memory, etc. 5 Instructions Sensitive affect hardware state Privileged generate a trap For a machine to virtualizable, sensitive privileged 6 3

Type I Hypervisor Tanenbaum p. 572 7 Traps in Type I hypervisors Software interrupts Hardware interrupts similar, except hypervisor handles physical device and sets up virtual device. 8 4

Type I Hypervisor Hypervisor kernel is small Easier to provide stability Mission critical services (e.g. database, e-mail) can be run as appliances Application Traditional: large scale computing Becoming established on desktop computing Starting to appear on embedded devices (e.g. Open Kernel Labs OKL4 microvisor for smart phones) 9 Type 2 Hypervisor Tanenbaum p. 70 privileged How can we support VMs when sensitive? 10 5

Basic blocks Groups of instructions ending in an instruction that changes control flow. sum = 0; x=0; while (x < N) foobar: k = 2 * arg1; syscall( ) { sum = sum+ x; x = x + 1; } arg1 = sum/n; arg2 = ; foobar(arg1, arg2) more work return; Basic blocks are created on the instruction level. Source code display for illustrative purposes only. 11 Binary translation VM examines each basic block before executing Following instructions replaced with calls to the hypervisor: sensitive instructions last instruction of block Translated blocks cached for subsequent use 12 6

Hypervisor performance Near native speed Type I vs. II hypervisor Type II frequently faster Why? Consequence: ence Type I frequently entl uses binary translation 13 Paravirtualization Why not design the OS for the hypervisor? Sensitive instructions Replaced with calls to the hypervisor Creates an API for the OS (could also think of this as a HAL) Hypervisor is essentially a microkernel 14 7

Downside Paravirtualization Requires extensive modification of OS No standard interface for multiple type I hypervisors Xen (U. Cambridge) Hyper-V (aka Viridian, Microsoft) ESXi (VMware) 15 Upside Paravirtualization Microkernel can improve stability No need to emulate tricky semantics Multiple APIs Amsden et al. (2006) proposed common API with libraries linking to specific ones or hardware Tanenbaum p. 575 16 8

Memory virtualization logical l pages P93 physical frames 0x8 0x7 VM1 17 Memory virtualization Hypervisor could map to the physical frames but what would be the problem? 18 9

Shadow page tables logical pages P93 0x8 0x7 physical frames logical pages P729 0x8 0x7 physical frames VM1 VM2 current page table VM1 0x8 0x7 physical frames 0x8 0x7 Shadow page tables current page table VM2 type I hypervisor 19 Shadow page tables Guest OS change shadow table change Process change New MMU base register Easy to detect (sensitive intstruction) Changing table contents? Mark page table read only Analyze instructions for semantics It s a dirty job 20 10

Shadow page tables Cleaner in paravirtualization Update the page table Call the hypervisor to inform of changes Hardware virtualization Conceivable to add a second level of indirection logical virtual physical 21 Several approaches I/O Virtualization Trap I/O instructions and handle in hypervisor. Emulate a device (e.g. disk block as file offset) Single VM handles all I/O Can select OS w/ good device support Strategy used by Xen Issues Mutually exclusive devices. DMA 22 11

Virtual appliances http://www.esat.kuleuven.be/psi/spraak/research/recog/hmm.gif 23 12