Virtualization: Techniques and Applications CSE 598F Introduction and Overview Lecture 1: January 11, 2011 Instructor: Bhuvan Urgaonkar.

Slides:



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

Virtualization Dr. Michael L. Collard
Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
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.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
Virtualization for Cloud Computing
An Overview of Virtual Machine Architectures by J.E. Smith and Ravi Nair presented by Sebastian Burckhardt University of Pennsylvania CIS 700 – Virtualization.
CIS 700 Machine Virtualization Autumn 2004.
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Computer System Architectures Computer System Software
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
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,
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Presented by: Reem Alshahrani. Outlines What is Virtualization Virtual environment components Advantages Security Challenges in virtualized environments.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
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
1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Office: HEC 439 B.
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?
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 – 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.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
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,
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
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
Virtualization Dr. Michael L. Collard
Virtual Machines: Versatile Platforms for Systems and Processes
Operating Systems Design (CS 423)
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Group 8 Virtualization of the Cloud
Virtualization Layer Virtual Hardware Virtual Networking
COP 5611: Operating Systems
Virtualization Techniques
A Survey on Virtualization Technologies
Virtual Machines (Introduction to Virtual Machines)
An Overview of Virtual Machine Architectures
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Java Programming Introduction
Introduction to Virtual Machines
Introduction to Virtual Machines
CSE 153 Design of Operating Systems Winter 2019
Virtualization Dr. S. R. Ahmed.
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
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:

Virtualization: Techniques and Applications CSE 598F Introduction and Overview Lecture 1: January 11, 2011 Instructor: Bhuvan Urgaonkar

About me Bhuvan Urgaonkar –Research areas OS, distributed systems, storage, performance evaluation –Office hours: TR 4-5pm, or by appointment –Office: 338D, IST Building – cse. psu. edu Welcome!

Administrative Stuff

Online resources Course Web page: – All material will be available via ANGEL “Virtual” text-book –Virtual Machines by Smith and Nair –Encourage you to buy it, but not absolutely necessary We will have scribe notes: coming up

Seeking help via ANGEL’s course mailing list –Use with care You are welcome to us any questions, complains, suggestions, etc. –Make sure to include “CSE 598F” in the subject –If we don’t respond soon enough, send a reminder or talk to me after class

Grading Semester-long projects OR 3 short programming assignments: 60% –More information in a few days Class participation: 20% Paper presentation OR scribe notes: 20% –I will assign duties as the semester progresses

Computing resources Linux accounts for projects me if you don’t have an account or have any doubts/problems

Assumed background Good background in OS and basic background in architecture We will need some distributed computing concepts later in the course –Will cover these Talk to me if you have doubts

Before we begin … Some advice –Speak up in class, ask questions –Attend all classes –Make sure you read assigned material –Make good use of office hours

Virtualization: Introduction & Background

Managing Complexity in Computer Systems Levels of abstraction separated by well-defined interfaces –E.g., ISA –E.g., system call interface –E.g., file system –And many, many more!

Interfaces: Pros and Cons Interfaces enable decoupling of design tasks –E.g., Intel makes chips, MS makes OS –Ease of design, implementation, upgrades, … Interfaces impose constraints on flexibility, generality, performance (even creativity?) –E.g., a binary needs a particular OS even if the ISA stays same

Virtualization as a relaxer of constraints Broad definition: Making a system appear and behave like another system –Retain benefits of interfaces while overcoming their constraints

Virtualization: Definition When a system (or subsystem) is virtualized, its interface and all resources visible through the interface are mapped onto the interface and resources of another system (real or virtual!) actually implementing it Isomorphism between a guest and a host system (Goldberg and Popek, 1974)

An isomorphism between a guest and a host system

Studying Virtualization: Two Approaches System being virtualized –CPU –Single machine –Group of machines connected by a network –Storage, etc. Reason for virtualization –Sharing and Costs –Usability/Programming ease –Protection/Security –Performance –Fault tolerance

Quick Tour of Topics

Standard System Layers Benefits –decoupled design tasks –software reuse across varying hardware configurations and generations

Interoperability Constraints Significant problem in emergent environment that need code to run anywhere –E.g., data centers, cloud computing, p2p systems,grids

Innovation Constraints New S/W implementation may have to restrict itself to old ISA H/W innovation limited due to the need to support fixed ISA –Or need to continue support for old ISA

Performance Optimization Constraints Suboptimal performance across interfaces –Architects, OS designers, application builders work independently Program binaries often optimized only for certain processors –Compiler development lags processor development Binaries optimized for older versions of processors

OS Homogeneity Constraints All applications must be written for the same OS –Apps for different OSes => need multiple machines Big problem in modern data centers “Server sprawl” –All apps must share the problems in this one OS

Virtual Machines - Solution to these problems

Virtual Machines - Applications

Classifying VMs Based on what is meant by “machine” –Process-level view Virtual address space, user-level registers & instructions Virtualized I/O devices (e.g., files) accessed by system calls –System-level view A “real” machine Correspondingly –Process virtual machines –System virtual machines

Process Virtual Machine Capable of supporting (only) an individual process E.g., JVM –Appears as a process to the “host” OS (Linux in this case) Another example would be a process-level VM that emulates PowerPC instructions letting Linux/PowerPC apps to run on the system shown to the left

System Virtual Machine Capable of supporting a complete system environment –Multi-programmed system, I/O devices, … We will study some examples –UML, Xen, VMWare

Taxonomy Overview

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

Process level VMs provide ABI to application System VMs provide ISA to OS and applications Process versus System VMs

Process VMs (1) Multiprogramming –same ISA, same OS –replicates ABI so that each process thinks it has its own machine

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

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

System VMs (2) Hosted System VMs –Like classic system VM, but operates within process space 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

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

System VMs (4) Co-Designed VMs

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

Questions What category do the following fit in? Why? –JVM –BOCHS Complete x86 emulation on a UNIX machine, written in C++ –Linux/FreeBSD Jails –Cywin, XWin32 –Simics