An Overview of Virtual Machine Architectures by J.E. Smith and Ravi Nair presented by Sebastian Burckhardt University of Pennsylvania CIS 700 – Virtualization.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

1 VIRTUAL MACHINES By: Sai Siddharth Kumar Dantu.
Xen , Linux Vserver , Planet Lab
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
Distributed Systems CS Virtualization- Part I Lecture 23, Dec 5, 2011 Majd F. Sakr, Mohammad Hammoud andVinay Kolar 1.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
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.
Chapter 21: Mobile Virtualization Infrastracture and Related Security Issues Guide to Computer Network Security.
Virtualization for Cloud Computing
CIS 700 Machine Virtualization Autumn 2004.
Virtualization: An Overview Brendan Lynch. Forms of virtualization In all cases virtualization is taking a physical component and simulating the interface.
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
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.
COMP25212: Virtualization Learning Objectives: a)To describe aims of virtualization - in the context of similar aims in other software components b)To.
DiProNN Resource Management System (DiProNN = Distributed Programmable Network Node) Tomáš Rebok Faculty of Informatics MU, Brno Czech.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
VirtualBox What you need to know to build a Virtual Machine.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Distributed Systems CS Lecture 25, November 23, 2014 Gregory Kesden Borrowed from our good friends in Doha: Majd F. Sakr, Mohammad Hammoud andVinay.
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
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?
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
Virtualization: Techniques and Applications CSE 598F Introduction and Overview Lecture 1: January 11, 2011 Instructor: Bhuvan Urgaonkar.
Virtual Machines Noam Rinetzky Schreiber 123A Semester A. Tuesday, 14:00-16:00. Ornstein 110.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
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.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
6/13/20161 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
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.
Virtualization for Cloud Computing
VIRTUALIZATION.
Introduction to Virtualization
Virtual Machine Monitors
Dag Toppe Larsen UiB/CERN CERN,
Dag Toppe Larsen UiB/CERN CERN,
Virtual Machines: Versatile Platforms for Systems and Processes
Operating Systems Design (CS 423)
Chapter 21: Virtualization Technology and Security
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Group 8 Virtualization of the Cloud
Chapter 22: Virtualization Security
Virtualization Layer Virtual Hardware Virtual Networking
Virtualization Techniques
LAB 01 Installation of VIRTUAL MACHINE and LINUX
Virtual Machines (Introduction to Virtual Machines)
An Overview of Virtual Machine Architectures
Introduction to Virtual Machines
Co-designed Virtual Machines for Reliable Computer Systems
Introduction to Virtual Machines
Distributed Systems CS
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

An Overview of Virtual Machine Architectures by J.E. Smith and Ravi Nair presented by Sebastian Burckhardt University of Pennsylvania CIS 700 – Virtualization Seminar Friday, September 17, 2004

-2- About me I am a 2 nd year PhD student I was born and raised in Switzerland My academic advisor is Rajeev Alur Research Interests: –Hardware Verification Model checking Refinement and Abstraction Compositional Verification –Architecture –Formal methods

-3- Contributions of the paper Systematic taxonomy of VMs –demarcate what to include –classify into types, name each type Introduce a diagram language –comprehensive: can draw all VM types –precise: can distinguish all VM types Discuss each type –purpose –implementation issues –examples

-4- Organization of the paper 1.1Motivations for using VMs 1.2System Layers, Interfaces, and VM classes 1.3Process VMs 1.4System VMs 1.5Virtualization 1.6Taxonomy summary

-5- Standard System Layers Benefits –decoupled design tasks –software reuse across varying hardware configurations and generations Starting point for all virtual machines in this paper

-6- Disadvantages and Limitations ? Suboptimal performance across interfaces SW still depends on ISA and OS interfaces OS still depends on ISA Get locked into interface

-7- VMs for Flexibility Software perspective: want ability to run on all machines –reach more customers –move code between networked computers Hardware perspective: want ability to run all programs –server consolidation –legacy applications –cross-platform software development

-8- VMs for Performance Optimize just in time –The more you know, the more you can optimize Isolate faults and security risks –Many server images more stable than single server Increase utilization of resources –adjust allocations dynamically –reduce fragmentation

-9- Examples

-10- VM Puzzles show position of VM with respect to the standard system layers show kind of interface used between components show replication

-11- Taxonomy Overview 1.Interface at the top 1.ABI (application binary interface) 2.ISA (instruction set architecture) 2.same/different ISA at top and bottom

-12- ISA and ABI Instruction Set Architecture separates hardware from rest Application Binary Interface separates processes from rest

-13- Process level VMs provide ABI to application System VMs provide ISA to OS and applications Process vs. System VMs

-14- Process VMs (1) Multiprogramming –same ISA, same OS –replicates ABI so that each process thinks it has its own machine –standard in “modern” OS –can argue whether to call this a VM Note: replication can go both ways –multiprocessor appears as single environment –clusters, grid computing

-15- Process VMs (2) “Emulation” and “Dynamic Binary Translation” –OS is same, ISA is different –better known as “interpretation” and “compilation” Dynamic Optimizers –same OS and ISA –performance is purpose

-16- Process VMs (3) High-level VMs –Use synthetic ISA P-code (somewhat anachronistic) Java bytecode –Maximal platform independence what about OS calls? –High performance penalty? what about just-in-time compilation?

-17- Process VMs (4) This combination is left out by taxonomy: –OS is different, ISA is same –for example, run Windows x86 applications in a Linux x86 environment (e.g. WINE) –Don’t know specific term for this VM type ??

-18- System VMs (1) Classic System VMs –VMM (Virtual Machine Monitor) provides replication and resource management –possible benefits: flexibility, utilization, isolation –similar to what an OS does for processes –sits on hardware –(super)privileged mode

-19- System VMs (2) Hosted System VMs –Like classic system VM, but operates within process space –Can play tricks to overcome limitations Common to Classic/Hosted System VM: try to do as much as you can natively more difficult for hosted VMs than for classic VMs underlying ISA can make big difference

-20- System VMs (3) Whole System VMs –ISA is different –no ‘native’ execution possible. Complete emulation/translation required. –Usually done as a hosted VM

-21- System VMs (4) Co-Designed VMs –use synthetic custom ISA at bottom –goal: reconcile diverging requirements between ISA and microarchitecture –no ‘native’ execution possible –Emulation/translation can be joint effort by hardware and software can be made completely transparent

-22- General implementation issues for virtual machines How to design/verify implementation –need to map features of guest to features of host know how to materialize state (e.g. on interrupts) –compare this to architecture/microarchitecture –describe typical issues for each VM type

-23- Analogy: Architecture vs. Microarchitecture (1) Map architected state to implementation state No one-to-one relation: many implementation states per architecture state map direction is wrong?

-24- Analogy: Architecture vs. Microarchitecture (2) When designing the microarchitecture, we map features of the ISA into features of the microarchitecture When verifying the implementation, we –map implementation states to architecture state –map implementation steps to (zero or more) architecture steps –diagram must commute

-25- How to implement a VM Map guest features to host features

-26- Implementation issues: Process VMs

-27- Implementation issues: System VMs

-28- Finally: VMs on top of VMs

-29- Discussion questions Is this taxonomy good? –too broad or too narrow? –too simple or too complicated? What VM types are most relevant? Would a proliferation of VMs change –ABI’s? –ISA’s? –OS’s?

THE END -

-31-