A Survey on Virtualization Technologies

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualization and Cloud Computing
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
IT344 – Operating Systems Winter 2011, Dale Rowe.
G Robert Grimm New York University Disco.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
© 2001 VMware, Inc. All rights reserved. The Future of Virtual Machines: A VMware Perspective Ed Bugnion Co-founder, VMware Inc. JUGS September 27, 2001.
Virtualization Technology Prof. Dan Connors. Copyright © 2006, Intel Corporation. All rights reserved. Prices and availability subject to change without.
Introduction to Virtual Machines
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
CIS 700 Machine Virtualization Autumn 2004.
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Operating System Virtualization
A Survey on Virtualization Technologies Susanta K Nanda.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Virtual Machines: Versatile Platforms for Systems and Processes
A Survey on Virtualization Technologies. Virtualization is “HOT” Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM,
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Virtualization Concepts Presented by: Mariano Diaz.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
 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,
Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Introduction Why are virtual machines interesting?
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->
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Virtualization Neependra Khare
1 Virtualization "Virtualization software makes it possible to run multiple operating systems and multiple applications on the same server at the same.
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
A move towards Greener Planet
VIRTUALIZATION.
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtualization D. J. Foreman 2009.
Virtualization Dr. Michael L. Collard
Virtual Machines: Versatile Platforms for Systems and Processes
Operating Systems Design (CS 423)
Unit OS2: Operating System Principles
OS Virtualization.
Virtualization Techniques
A Survey on Virtualization Technologies
Chapter 33: Virtual Machines
Virtual Machines (Introduction to Virtual Machines)
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
Operating Systems Structure
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Chapter 33: Virtual Machines
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

A Survey on Virtualization Technologies

Virtualization is “HOT” Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM, already a pioneer Sun working hard on it HP picking up Virtualization is HOT!!!

Veritas/Ejascent Veritas Cluster Server Integrates the Ejascent’s Application Virtualization software Enables cluster server users to move data seamlessly across applications without disrupting the transaction state

Virtualization: What is it, really? Real vs. Virtual Similar essence, effect ”Formally” different A framework that combines or divides [computing] resources to present a transparent view of one or more environments Hardware/software partitioning (or aggregation) Partial or complete machine simulation Emulation (again, can be partial or complete) Time-sharing (in fact, sharing in general) In general, can be M-to-N mapping (M “real” resources, N “virtual” resources) Examples: VM (M-N), Grid Computing (M-1) , Multitasking (1-N)

Virtualization: Why? Server consolidation Application Consolidation Sandboxing Multiple execution environments Virtual hardware Debugging Software migration (Mobility) Appliance (software) Testing/Quality Assurance

Virtual Machine Implementation: Issues Only one “bare” machine interface Virtualizable Architecture “A virtualizable architecture allows any instruction inspecting/modifying machine state to be trapped when executed in any but the most privileged mode” - Popek & Goldberg (1974) X86 is not virtualizable (Vanderpool??) Hard to optimize [from below] Unused memory pages Idle CPU Difficult to know what NOT to do Example: Page faults (VMM), System Calls (OS level)

Example X86 Instruction: STR (gets security state) Value retrieved has the Requester Privilege Level Thus, behavior depends on the privilege level Problematic X86 has at least 17 such instructions

Machines: Stacked Architecture APPLICATIONS API Calls USER LEVEL LIBRARIES User Space System Calls Kernel Space KERNEL Instructions HARDWARE

Possible Abstraction Levels Instruction Set Architecture Emulate the ISA in software Interprets, translates to host ISA (if required) Device abstractions implemented in software Inefficient Optimizations: Caching? Code reorganization? Applications: Debugging, Teaching, multiple OS Hardware Abstraction Layer (HAL) Ring Compression Between “real machine” and “emulator” (maps to real hardware) Handling non-virtualizable architectures (scan, insert code?) Applications: Fast and usable, virtual hardware (in above too), consolidation, migration

Possible Abstraction Levels cont’d Operating System Level Virtualized SysCall Interface (may be same) May or may not provide all the device abstractions Easy to manipulate (create, configure, destroy) Library (user-level API) Level Presents a different subsystem API to application Complex implementation, if kernel API is limited User-level device drivers Application (Programming Language) Level Virtual architecture (ISA, registers, memory, …) Platform-independence ( highly portable) Less control on the system (extremely high-level)

Overall Picture ISA HAL OS Library PL Performance * **** *** ** Flexibility Ease of Impl Degree of Isolation (more stars are better)

Instruction Set Architecture Level Virtualization Technologies Emulation: Translates guest ISA to native ISA Emulates h/w specific IN/OUT instructions to mimic a device Translation Cache: Optimizes emulation by making use of similar recent instructions Code rearrangement Speculative scheduling (alias hardware) Issues Efficient Exception handling Self-modifying code

ISA Level Virtualization: Examples Bochs: Open source x86 emulator Emulates whole PC environment x86 processor and most of the hardware (VGA, disk, keyboard, mouse, …) Custom BIOS, emulation of power-up, reboot Host ISAs: x86, PowerPC, Alpha, Sun, and MIPS Crusoe (Transmeta) “Code morphing engine” – dynamic x86 emulator on VLIW processor 16 MB “translation cache” Shadow registers: Enables easy exception handling QEMU: Full Implementation Multiple target ISAs: x86, ARM, PowerPC, Sparc Supports self-modifying code Full-software and simulated (using mmap()) MMU User-space only: Useful for Cross-compilation and cross-debugging

Virtualization through Ring Compression Virtual Machine Monitor (VMM) runs at ring 0 Kernel(s) run at ring 1 Requires that CPU is virtualizable user 3 kernel 2 1 VMM

HAL Virtualization Techniques Standalone vs. Hosted Drivers Host and VMM worlds I/O Protection Rings Multilevel privilege domains Handling “silent” fails Scan code and insert/replace artificial traps Cache results to optimize

Classification of processor architectures Strictly virtualizable processor architectures Can build a VMM based on trap emulation exclusively No software running inside the VM cannot determine the presence of the VMM (short of timing attacks) Examples: IBM S/390, DEC Compaq Intel Alpha, PowerPC (Non-strictly) virtualizable processor architectures Trap emulation alone is not sufficient and/or not complete E.g. instructions have different semantics at various levels (sufficient) E.g Some software sequences can determine the presence of the VMM (complete) Examples: IA-32, IA-64 Non virtualizable processor architectures Basic component missing (e.g. MMU, …)

VMware Architecture

VMware: I/O Virtualization VMM does not have access to I/O I/O in “host world” Low level I/O instructions (issued by guest OS) are merged to high-level I/O system calls VM Application executes I/O SysCalls VM Driver works as the communication link between VMM and VM Application World switch needs to “save” and “restore” machine state Additional techniques to increase efficiency