Microkernels, virtualization, exokernels Tutorial 1 – CSC469.

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Disco: Running Commodity Operation Systems on Scalable Multiprocessors E Bugnion, S Devine, K Govil, M Rosenblum Computer Systems Laboratory, Stanford.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, Mendel Rosenblum, Stanford University, 1997 Presented.
Disco Running Commodity Operating Systems on Scalable Multiprocessors Presented by Petar Bujosevic 05/17/2005 Paper by Edouard Bugnion, Scott Devine, and.
Multiprocessors CS 6410 Ashik Ratnani, Cornell University.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
G Robert Grimm New York University Disco.
CS533 Concepts of Operating Systems Class 14 Virtualization.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Chapter 4 Structure of Operating Systems Copyright © 2008.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
Multiprocessors Deniz Altinbuken 09/29/09.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Distributed Systems CS Virtualization- Overview Lecture 22, Dec 4, 2013 Mohammad Hammoud 1.
E Virtual Machines Lecture 4 Device Virtualization
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.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Concepts Presented by: Mariano Diaz.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Virtual Machine and its Role in Distributed Systems.
CS533 Concepts of Operating Systems Jonathan Walpole.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum Summary By A. Vincent Rayappa.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
Supporting Multi-Processors Bernard Wong February 17, 2003.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
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,
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.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Virtualizing a Multiprocessor Machine on a Network of Computers Easy & efficient utilization of distributed resources Goal Kenji KanedaYoshihiro OyamaAkinori.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Virtualization Neependra Khare
Virtualization for Cloud Computing
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Presented by Yoon-Soo Lee
CS 3214 Operating Systems Virtualization.
Virtualization Dr. Michael L. Collard
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
Virtual Machines Disco and Xen (Lecture 10, cs262a)
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating Systems Structure
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

Microkernels, virtualization, exokernels Tutorial 1 – CSC469

Monolithic kernel vs Microkernel Application VFS IPC, file system Scheduler, virtual memory Device drivers, dispatcher … Hardware IPC, virtual memory Hardware Application IPC Unix server Device driver File server System call Kernel mode User mode Monolithic OS kernel Microkernel -What was the main idea? -What were the problems?

Exokernels Motivation – OSes hide machine info behind abstractions (processes, files, address spaces, IPC) – These abstractions are hardcoded => restrictive Idea – Separate protection from management – Application-level (untrusted) resource management – VM, IPC implemented at application level – Library OSes implement all the abstractions Basically, it’s a minimal kernel that multiplexes securely the hardware resources

Virtual Machine Monitors (VMM) Definitions: – A VMM is a hardware virtualization technique that allows multiple operating systems, termed guests, to run concurrently on a host computer – A VMM is a software layer that runs on a host platform and provides an abstraction of a complete computer system to higher-level software. Also called Hypervisor

VMM types Type 1: run directly on the host's hardware Type 2: run within a conventional operating system environment VMWare workstation, VirtualPC, User-Mode Linux, UMLinux Disco, VMWare ESX Server, Xen

Disco Goals – Extend modern OS to run efficiently on shared memory multiprocessors without large changes to the OS – VMM can run multiple copies of Silicon Graphics IRIX operating system on a Stanford Flash shared memory multiprocessor

Problem Commodity OS's not well-suited for ccNUMA (1997) – Do not scale: Lock contention, memory architecture – Do not isolate/contain faults: more processors => more failures Customized operating systems – Take time to build, lag hardware – Cost a lot of money

Solution Add a virtual machine monitor (VMM) – Commodity OSes run in their own virtual machines (VMs) – Communicate through distributed protocols VMM uses global policies to manage resources – Moves memory between VMs to avoid paging – Schedules virtual processors to balance load

Advantages Scalability Flexibility Hide NUMA effect Fault Containment Compatibility with legacy applications

Disco

VM challenges Overheads – Instruction execution, exception processing, I/O – Memory Code and data of hosted operating systems Replicated buffer caches Resource management – Lack of information Idle loop, lock busy-waiting Page usage Communication and sharing – Not really a problem anymore because of distributed protocols

Disco interface VCPUs provide abstraction of a MIPS R10000 processor – Emulates all instructions, the MMU, trap architecture – Enabling/disabling interrupts, accessing privileged registers -> Memory-based interface to VMM Physical memory – Contiguous address space, starting at address 0 – Physical-to-machine address translation, second (software) TLB

Disco interface (cont’d) I/O devices – Each VM assumes exclusive access to I/O devices – Virtual devices exclusive to VM – Physical devices multiplexed between virtual ones – Special interface to SCSI disks and network devices – Interpose on DMA calls – Disk: Set of virtualized disks to be mounted by VMs Copy-on-write disks; for persistent disks, uses NFS – Network: Virtual subnet across all virtual machines Uses copy-on-write mappings => reduces copying, allows sharing

Xen virtualization Technically, two kinds Paravirtualization – Guests run a modified OS – High performance on x86 Hardware-assisted virtualization – CPUs that support virtualization – Unmodified guest OSes

Xen infrastructure

How does it compare to Disco? Three main differences – Less complete virtualization – Domain0 to initialize/manage VMs, incl. to set policies – Strong performance isolation Other – Interface is pretty close to hardware and enables low- overhead high-performance virtualization – Need to change more OS code than in Disco All the cool details – “Xen and the art of virtualization” – SOSP’03

Questions What’s the difference between a hypervisor and an exokernel?

Questions What about an exokernel and a microkernel? – Performance? – What about fault isolation?

Questions What is the difference between a hypervisor (VMM) and a microkernel?

Questions Can a microkernel be used to implement a hypervisor?

Questions Can a hypervisor be used to implement a microkernel?

Hypervisors for servers Type 1 or Type 2? Hyper-V: “MicroKernelized” Hypervisor Design VMWare ESX Server: “Monolithic” hypervisor architecture

Hypervisor design VM1 (Admin) VM2VMn Hypervisor Virtualization Stack Drivers Hardware VM1 (Admin) VM2VMn Hypervisor Hardware Virt Stack Drivers Monolithic HypervisorMicrokernel Hypervisor Both true Type 1 hypervisors – no host OS The hardware is the physical machine; OSs are all virtual