Distributed Systems CS 15-440 Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.

Slides:



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

Virtualization Dr. Michael L. Collard
Virtualisation From the Bottom Up From storage to application.
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
Distributed Systems CS Virtualization- Part I Lecture 23, Dec 5, 2011 Majd F. Sakr, Mohammad Hammoud andVinay Kolar 1.
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.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
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.
Virtualization 101.
E Virtual Machines Lecture 4 Device Virtualization
A Survey on Virtualization Technologies
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
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
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,
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
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.
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 Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
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 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
Virtualization: Techniques and Applications CSE 598F Introduction and Overview Lecture 1: January 11, 2011 Instructor: Bhuvan Urgaonkar.
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.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
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.
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
Virtualization for Cloud Computing
A move towards Greener Planet
VIRTUALIZATION.
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtualization Dr. Michael L. Collard
Virtual Machines: Versatile Platforms for Systems and Processes
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
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
Introduction to Virtual Machines
Introduction to Virtual Machines
Distributed Systems CS
Xen and the Art of Virtualization
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1

Today…  Last Two Sessions  Distributed File Systems  Today’s Session  Virtualization – Overview  Announcements:  PS3 and PS4 grades are out  Project 4 is due tomorrow, Dec 5 by 11:59PM (No deadline extension, no grace days quota)  Today is the last session!  Final Exam is on Sunday Dec 8, 2013 at 9:00AM, Room 2051 (all topics are included- Open book, open notes) 2

Objectives Discussion on Virtualization Why virtualization, and virtualization properties Hypervisors, full virtualization, and para- virtualization Virtual machine types

Intended Learning Outcomes: Virtualization ILO8 Explain resource virtualization, how it applies to distributed systems, and how it allows distributed resource management and scheduling ILO8.1 Identify the role of virtualization in distributed systems and describe process and system virtual machines ILO 8.1 Considered: a reasonably critical and comprehensive perspective. Thoughtful: Fluent, flexible and efficient perspective. Masterful: a powerful and illuminating perspective. ILO8

Objectives Discussion on Virtualization Why virtualization, and virtualization properties Virtualization, para- virtualization, virtual machines and hypervisors Virtual machine types Partitioning and Multiprocessor virtualization Why virtualization, and virtualization properties

Benefits of Virtualization  Here are some of the benefits that are typically provided by a virtualized system A virtualized system can be (dynamically or statically) re-configured for changing needs A single hardware platform can support multiple operating systems concurrently Virtualization helps isolate the effects of a failure to the VM where the failure occurred A system VM provides a sandbox that isolates one system environment from other environments Multiple Secure Environment Failure Isolation Better System Utilization Mixed-OS Environment

Operating Systems Limtations  OSs provide a way of virtualizing hardware resources among processes  This may help isolate processes from one another  However, this does not provide a virtual machine to a user who may wish to run a different OS  Having hardware resources managed by a single OS limits the flexibility of the system in terms of available software, security, and failure isolation  Virtualization typically provides a way of relaxing constraints and increasing flexibility

Virtualization Properties Fault Isolation Software Isolation Performance Isolation (accomplished through scheduling and resource allocation) Isolation All VM state can be captured into a file (i.e., you can operate on VM by operating on file– cp, rm) Complexity is proportional to virtual HW model and independent of guest software configuration Encapsulation All guest actions go through the virtualizing software which can inspect, modify, and deny operations Interposition 1 2 3

What is Virtualization?  Informally, a virtualized system (or subsystem) is a mapping of its interface, and all resources visible through that interface, to the interface and resources of a real system  Formally, virtualization involves the construction of an isomorphism that maps a virtual guest system to a real host system (Popek and Goldberg 1974) Guest SiSi SjSj Host Si’Si’Sj’Sj’ e(S i ) e’(S i ’) V(S i )V(S j ) Function V maps the guest state to the host state For a sequence of operations, e, that modifies a guest state, there is a corresponding e’ in the host that performs an equivalent modification How can this be managed?

Abstraction  The key to managing complexity in computer systems is their division into levels of abstractions separated by well-defined interfaces  Levels of abstractions allow implementation details at lower levels of a design to be ignored or simplified File Disk Files are an abstraction of a Disk A level of abstraction provides a simplified interface to underlying resources

Virtualization and Abstraction  Virtualization uses abstraction but is different in that it does not necessarily hide details; the level of detail in a virtual system is often the same as that in the underlying real system File Disk Virtualization provides a different interface and/or resources at the same level of abstraction Virtual Disks

Objectives Discussion on Virtualization Why virtualization, and virtualization properties Hypervisors, full virtualization, and para- virtualization Virtual machine types Hypervisors, full virtualization, and para- virtualization

Virtual Machines and Hypervisors  The concept of virtualization can be applied not only to subsystems such as disks, but to an entire machine denoted as a virtual machine (VM)  A VM is implemented by adding a layer of software to a real machine so as to support the desired VM’s architecture  This layer of software is often referred to as virtual machine monitor (VMM)  Early VMMs are implemented in firmware  Today, VMMs are often implemented as a co-designed firmware-software layer, referred to as the hypervisor

A Mixed OS Environment Hardware Virtual Machine Monitor Linux Red Hat Solaris 10XPVistaMac  Multiple VMs can be implemented on a single hardware platform to provide individuals or user groups with their own OS environments VM1VM2 VM3VM4 VM5

Full Virtualization  Traditional VMMs provide full-virtualization:  The functionally provided is identical to the underlying physical hardware  The functionality is exposed to the VMs  They allow unmodified guest OSs to execute on the VMs  This might result in some performance degradation  E.g., VMWare provides full virtualization

Para-Virtualization  Other types of VMMs provide para-virtualization:  They provide a virtual hardware abstraction that is similar, but not identical to the real hardware  They modify the guest OS to cooperate with the VMM  They result in lower overhead leading to better performance  E.g., Xen provides both para-virtualization as well as full-virtualization

Virtualization and Emulation  VMs can employ emulation techniques to support cross-platform software compatibility  Compatibility can be provided either at the system level (e.g., to run a Windows OS on Macintosh) or at the program or process level (e.g., to run Excel on a Sun Solaris/SPARC platform)  Emulation is the process of implementing the interface and functionality of one system on a system having a different interface and functionality  It can be argued that virtualization itself is simply a form of emulation

Objectives Discussion on Virtualization Why virtualization, and virtualization properties Hypervisors, full virtualization, and para- virtualization Virtual machine types

Background: Computer System Architectures Drivers Application Programs Libraries OS Memory Manager Scheduler Execution Hardware System Interconnect (bus) Memory Translation Controllers I/O Devices & Networking Main Memory Software ISA Hardware Instruction Set Architecture (ISA): 7 & 8 Application Binary Interface (ABI): 3 & 7 Application Programming Interface (API): 2 & 7

Types of Virtual Machines  As there is a process perspective and a system perspective of machines, there are also process-level and system-level VMs  Virtual machines can be of two types: 1. Process VM Capable of supporting an individual process 2. System VM Provides a complete system environment Supports an OS with potentially many types of processes

Process Virtual Machine Runtime is placed at the ABI interface Runtime emulates both user-level instructions and OS system calls Guest Runtime Host Application Process Virtualizing Software OS Hardware Application Process Virtual Machine

System Virtual Machine VMM emulates the ISA used by one hardware platform to another, forming a system VM A system VM is capable of executing a system software environment developed for a different set of hardware Guest VMM Host Applications Virtualizing Software OS Hardware Applications Virtual Machine OS

Native and Hosted VM Systems Applications OS Hardware Guest Applications Guest OS VMM Hardware Guest Applications Guest OS VMM Host OS Hardware Guest Applications Guest OS VMM Host OS Hardware Traditional Uniprocessor System Native VM System User-mode Hosted VM System Dual-mode Hosted VM System Nonprivileged modes Privileged modes

The Versatility of VMs Java Application Linux IA-32 Windows IA-32 Crusoe VLIW JVM VMWare Code Morphing

Multiprocessor Virtualization  A virtualized multiprocessor gives the appearance of a system that may or may not reflect the exact configuration of the underlying physical system Processor Cache Bus or Crossbar Switch Memory I/O Processor Cache Processor Cache Processor Cache Virtual Machine Monitor M I/O PPP M PPP M PPP M PPP

All the best in your final exam!