The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtual Machine Security Design of Secure Operating Systems Summer 2012 Presented By: Musaad Alzahrani.
Introduction to Virtualization
Towards Virtual Networks for Virtual Machine Grid Computing Ananth I. Sundararaj Peter A. Dinda Prescience Lab Department of Computer Science Northwestern.
Automatic Run-time Adaptation in Virtual Execution Environments Ananth I. Sundararaj Advisor: Peter A. Dinda Prescience Lab Department of Computer Science.
Increasing Application Performance In Virtual Environments Through Run-time Inference and Adaptation Ananth I. Sundararaj Ashish Gupta Peter A. Dinda Prescience.
Hardness of Approximation and Greedy Algorithms for the Adaptation Problem in Virtual Environments Ananth I. Sundararaj, Manan Sanghi, John R. Lange and.
An Optimization Problem in Adaptive Virtual Environments Ananth I. Sundararaj Manan Sanghi Jack R. Lange Peter A. Dinda Prescience Lab Department of Computer.
Cloud Computing and Virtualization Sorav Bansal CloudCamp 2010 IIT Delhi.
Chapter 4 Structure of Operating Systems Copyright © 2008.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
Dynamic Topology Adaptation of Virtual Networks of Virtual Machines Ananth I. Sundararaj Ashish Gupta Peter A. Dinda Prescience Lab Department of Computer.
Virtualization for Cloud Computing
Distributed and Cloud Computing K. Hwang, G. Fox and J
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
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
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Making the Virtualization Decision. Agenda The Virtualization Umbrella Server Virtualization Architectures The Players Getting Started.
CS 149: Operating Systems April 21 Class Meeting
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Virtual Machines: Versatile Platforms for Systems and Processes
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.
Secure & flexible monitoring of virtual machine University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January.
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.
Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology, Fall 2010 Performance.
4061 Session 27 (4/23). Today Virtual Machines and Emulation.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
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?
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
Virtualization and Virtual Machines (VM) Tom Gianos 3/29/06.
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.
Computer System Structures
Virtualization for Cloud Computing
VIRTUALIZATION.
Introduction to Virtualization
Virtualization.
L2- Virtualization Technology
Virtualization Dr. Michael L. Collard
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Virtual Machines: Versatile Platforms for Systems and Processes
Virtualization overview
Running other code under LINUX
Group 8 Virtualization of the Cloud
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
Virtualization Techniques
A Survey on Virtualization Technologies
Ananth I. Sundararaj Ashish Gupta Peter A. Dinda Prescience Lab
Virtual Machines (Introduction to Virtual Machines)
1 Copyright © 2012, Elsevier Inc. All rights reserved Distributed and Cloud Computing K. Hwang, G. Fox and J. Dongarra Chapter 3: Virtual Machines.
Virtual machines benefits
Introduction to Virtual Machines
Introduction to Virtual Machines
An Optimization Problem in Adaptive Virtual Environments
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University Virtuoso Project: Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University Virtuoso Project:

Whole System Virtualization  “Many problems in computer science can be solved by adding a layer of indirection” (bad paraphrase)  Virtualized X  X is a semantically invisible layer of the software stack  Exports exactly the interface it builds on  Adds functionality and/or solves problems  Whole system: span the stack horizontally  “Many problems in computer science can be solved by adding a layer of indirection” (bad paraphrase)  Virtualized X  X is a semantically invisible layer of the software stack  Exports exactly the interface it builds on  Adds functionality and/or solves problems  Whole system: span the stack horizontally

OS Virtual Machines  Traditional (Goldberg types I and II)  Run off-the-shelf operating systems  Very low computational overhead but some I/O overheads (arguable how far it can be reduced)  VMware, Microsoft (and VM from the early ‘70s)  Paravirtualized  OS kernels must be ported to them  Very low computational and I/O overhead  Xen, User Mode Linux  Virtual servers  OS kernel extensions (one OS, many instances)  Negligible computational and I/O overhead  Vserver, BSD Jails  Traditional (Goldberg types I and II)  Run off-the-shelf operating systems  Very low computational overhead but some I/O overheads (arguable how far it can be reduced)  VMware, Microsoft (and VM from the early ‘70s)  Paravirtualized  OS kernels must be ported to them  Very low computational and I/O overhead  Xen, User Mode Linux  Virtual servers  OS kernel extensions (one OS, many instances)  Negligible computational and I/O overhead  Vserver, BSD Jails

Language Virtual Machines  Compiler targets abstract machine  Usually stack machine  Run-time interprets and dynamically translates to base ISA  Large standard library for I/O  JVM, CLR, (and p-System from late ‘70s)  Arguably also Lisp, Scheme, Perl, Python, …  Compiler targets abstract machine  Usually stack machine  Run-time interprets and dynamically translates to base ISA  Large standard library for I/O  JVM, CLR, (and p-System from late ‘70s)  Arguably also Lisp, Scheme, Perl, Python, …

Overlay Networks and P2P  VPNs and VLANs  Multisource multicast (ESM, etc)  Distributed hash tables (Chord, etc)  Resilient routing (RON, etc)  Anonymous routing (Tor, etc)  VM-specialized (VNET, VIOLIN)  VPNs and VLANs  Multisource multicast (ESM, etc)  Distributed hash tables (Chord, etc)  Resilient routing (RON, etc)  Anonymous routing (Tor, etc)  VM-specialized (VNET, VIOLIN)

Virtual Storage And Devices  Storage Area Networks  iSCSI  Remote device support  Network block device  Storage Area Networks  iSCSI  Remote device support  Network block device

Virtualized Services  Tunneling  ssh  Virtual file systems  System-call interposition  Tunneling  ssh  Virtual file systems  System-call interposition

Reducing Complexity  Ownership  Give the user the parallel/distributed systems analogue of a PC  Deployment and distribution  Whole system image  See Potter’s snapshots for a very nice example  Automatic policy avoidance^Wnavigation  Route through the diverse security policies in a multi-site computing environment  Ownership  Give the user the parallel/distributed systems analogue of a PC  Deployment and distribution  Whole system image  See Potter’s snapshots for a very nice example  Automatic policy avoidance^Wnavigation  Route through the diverse security policies in a multi-site computing environment

Adaptive Systems  Bring automatic adaptation and resource reservations to existing, unmodified applications  Virtualization as a layer for observation, a provider of adaptation mechanisms, and an impedance matcher to reservations  Bring automatic adaptation and resource reservations to existing, unmodified applications  Virtualization as a layer for observation, a provider of adaptation mechanisms, and an impedance matcher to reservations VM Layer Virtualization Layer Physical Layer

Making High-end Computing A Commodity  Virtualization for fungibility  Provider’s perspective  Simple, straightforward abstraction to sell  User’s perspective  Maximum flexibility  “Giant PC”  Virtualization for fungibility  Provider’s perspective  Simple, straightforward abstraction to sell  User’s perspective  Maximum flexibility  “Giant PC”

Open-source Virtual Machine Monitor  Type-I OS VMM for modern architectures  Intel’s VT extension to IA32 and IA32e, and AMD’s Pacifica extension to AMD64  Make these commodity architectures virtualizable in the Goldberg sense  VT/Pacifica VMM can be MUCH simpler than existing VMMs for these architectures  Think 50K lines of code (VAX Secure VMM example)  Potentially a very high impact project from this community  Type-I OS VMM for modern architectures  Intel’s VT extension to IA32 and IA32e, and AMD’s Pacifica extension to AMD64  Make these commodity architectures virtualizable in the Goldberg sense  VT/Pacifica VMM can be MUCH simpler than existing VMMs for these architectures  Think 50K lines of code (VAX Secure VMM example)  Potentially a very high impact project from this community

Trustless Computing and Language VMs  Trust asymmetry problem in grid and utility computing  Encrypted computation to the rescue  Language VMs are perfect place to implement  Translate binary to binary  Portable  Trust asymmetry problem in grid and utility computing  Encrypted computation to the rescue  Language VMs are perfect place to implement  Translate binary to binary  Portable