Virtualization Technology

Slides:



Advertisements
Similar presentations
CS136, Advanced Architecture
Advertisements

Hardware-assisted Virtualization
Virtualization Dr. Michael L. Collard
Virtualisation From the Bottom Up From storage to application.
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
G Robert Grimm New York University Disco.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
虛擬化技術 Virtualization and Virtual Machines
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Concepts Presented by: Mariano Diaz.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Xen I/O Overview.
Xen and The Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt & Andrew Warfield.
Virtual Machine and its Role in Distributed Systems.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
CS533 Concepts of Operating Systems Jonathan Walpole.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Introduction to virtualization
Full and Para Virtualization
CSC 660: Advanced Operating SystemsSlide #1 CSC 660: Advanced OS Virtual Machines.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Virtualization Neependra Khare
Kernel-based Virtual Machine (KVM) Memory Management Unit (MMU) Virtualization Mohammad H. Mofrad February 11, 2016
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
Virtualization-optimized architectures
Lecture 13: Virtual Machines
Introduction to Virtualization
Virtualization.
Virtualization Technology
Xen and the Art of Virtualization
Virtual machines and containers
Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.
Presented by Mike Marty
Presented by Yoon-Soo Lee
Virtualization Dr. Michael L. Collard
Virtualization: IBM VM/370 and Xen
Xen: The Art of Virtualization
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Group 8 Virtualization of the Cloud
OS Virtualization.
Virtualization Techniques
CS533 Concepts of Operating Systems Class 15
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CS533 Concepts of Operating Systems Class 15
Virtualization Dr. S. R. Ahmed.
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Hardware Virtualization
CS295: Modern Systems Virtualization
Presentation transcript:

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 Conversational Monitor System (CMS) Specialized VM subsystem (RSCS, RACF, GCS) Mainstream OS (MVS, DOS/VSE etc.) Another copy of VM Virtual machines Hypervisor Control Program (CP) System/370 Hardware

IBM VM/370 Technology: trap-and-emulate Application Privileged Problem Kernel Emulate Trap 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: Cons: 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 Ring0 Ring1 Ring2 Ring3 Ring0 Ring1 Ring2 Ring3 VMRUN VMEXIT

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

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 Exception and system calls 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