A Survey on Virtualization Technologies

Similar documents
Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

Introduction to Virtualization

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

Virtualization. Pradipta De

Module 1: Virtualization. Types of Interfaces

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Operating Systems 4/27/2015

Introduction to Virtual Machines. Michael Jantz

Advanced Computer Architecture

System Virtual Machines

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

System Virtual Machines

Introduction to Virtual Machines

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines

Concepts. Virtualization

Virtual machines are an interesting extension of the virtual-memory concept: not only do we give processes the illusion that they have all of memory

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

references Virtualization services Topics Virtualization

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Virtualization. Dr. Yingwu Zhu

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Distributed Systems COMP 212. Lecture 18 Othon Michail

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

Virtual Machine Systems

Virtualization. Virtualization

Virtualization and memory hierarchy

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

Cloud Computing Virtualization

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines

Nested Virtualization and Server Consolidation

CSE 120 Principles of Operating Systems

The Future of Virtualization

Introduction to Virtual Machines. Carl Waldspurger (SB SM 89 PhD 95) VMware R&D

Chapter 5 C. Virtual machines

Virtual machine architecture and KVM analysis D 陳彥霖 B 郭宗倫

Testing System Virtual Machines

CS 550 Operating Systems Spring Introduction to Virtual Machines

Virtualization History and Future Trends

Dynamic Translator-Based Virtualization

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Virtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Multiprocessor Scheduling. Multiprocessor Scheduling

Virtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?

Virtualization. Part 1 Concepts & XEN

Server Virtualization Approaches

CS370 Operating Systems

An overview of virtual machine architecture

Virtualization Overview NSRC

Lecture 5: February 3

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

CS 152 Computer Architecture and Engineering. Lecture 22: Virtual Machines

Πποχωπημένη Κατανεμημένη Υπολογιστική

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

Knut Omang Ifi/Oracle 6 Nov, 2017

Virtual Machine Monitors!

Virtualization. Adam Belay

Lecture 4: Extensibility (and finishing virtual machines) CSC 469H1F Fall 2006 Angela Demke Brown

Distributed Systems Principles and Paradigms

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

LIA. Large Installation Administration. Virtualization

Virtual Machine Monitors (VMMs) are a hot topic in

Virtual Machines. 2 Disco: Running Commodity Operating Systems on Scalable Multiprocessors([1])

C 1. Last time. CSE 490/590 Computer Architecture. Virtual Machines I. Types of Virtual Machine (VM) Outline. User Virtual Machine = ISA + Environment

Virtualization. Application Application Application. MCSN - N. Tonellotto - Distributed Enabling Platforms OPERATING SYSTEM OPERATING SYSTEM

I/O and virtualization

VIRTUALIZATION. Dresden, 2011/12/6. Julian Stecklina

Virtual Machines. Virtual Machines

CprE Virtualization. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

LINUX Virtualization. Running other code under LINUX

Introduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay

Advanced Memory Management

Architectural Support for A More Secure Operating System

NON SCHOLAE, SED VITAE

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

CSCE 410/611: Virtualization!

Virtualization. Darren Alton

CSE 237B Fall 2009 Virtualization, Security and RTOS. Rajesh Gupta Computer Science and Engineering University of California, San Diego.

T Jarkko Turkulainen, F-Secure Corporation

Darek Mihocka, Emulators.com Stanislav Shwartsman, Intel Corp. June

CSC 5930/9010 Cloud S & P: Virtualization

Roadmap for Challenging Times System Virtualiztion

e-pg Pathshala Subject: Computer Science Paper: Cloud Computing Module 23: Virtualization II Module No: CS/CC/23 Quadrant 1 e-text

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

Virtual Machine Security

ECE 331 Hardware Organization and Design. UMass ECE Discussion 11 4/12/2018

LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY

COS 318: Operating Systems

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

Virtualization (II) SPD Course 17/03/2010 Massimo Coppola

MANAGEMENT OF TASKS IN VIRTUALIZED ENVIRONMENTS

Transcription:

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 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 KERNEL System Calls User Space Kernel Space 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 kernel 0 VMM 1 2 3 user

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