Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.

Slides:



Advertisements
Similar presentations
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Advertisements

System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
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.
Shared Memory Multiprocessors Ravikant Dintyala. Trends Higher memory latencies Large write sharing costs Large secondary caches NUMA False sharing of.
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.
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
Memory Management 2010.
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.
Microkernels: Mach and L4
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
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.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Computer System Architectures Computer System Software
Cellular Disco: resource management using virtual clusters on shared memory multiprocessors Published in ACM 1999 by K.Govil, D. Teodosiu,Y. Huang, M.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
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.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Kinshuk Govil, Dan Teodosiu*, Yongqiang Huang, and Mendel Rosenblum
Kit Cischke 09/09/08 CS Overview  Background  What are we doing here?  A Return to Virtual Machine Monitors  What does Disco do?  Disco: A.
Srihari Makineni & Ravi Iyer Communications Technology Lab
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.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
Processes and Virtual Memory
The Mach System Silberschatz et al Presented By Anjana Venkat.
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,
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->
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Background Computer System Architectures Computer System Software.
Presented by: Sagnik Bhattacharya Kingshuk Govil, Dan Teodosiu, Yongjang Huang, Mendel Rosenblum.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Lecture 13: Virtual Machines
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Memory COMPUTER ARCHITECTURE
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
OS Virtualization.
Modern systems: multicore issues
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Lecture 8: Efficient Address Translation
CSE 542: Operating Systems
Presentation transcript:

Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei Kuo Paper by: Edouard Bugnion, Scott Devine, Kinshuk Govil, Mendel Rosenblum

Introduction Pierre LaBorde

Introduction CC-NUMA o Cache-Coherent Non-Uniform Memory Access Coupling with standard distributed protocols o TCP/IP o NFS Global Buffer Cache

Introduction Hide NUMA-ness o Page placement o Dynamic page migration o Dynamic page replication

Problem Operating systems for innovative hardware o Scalable shared memory multiprocessors Significant changes required o OS typically have millions of lines of code

Solution

Virtual Machine Monitors Instead of modifying existing OS o Additional layer of software between hardware and OS o Multiple copies of existing operating systems  Support a variety of workloads o Virtualizes all of the resources  Exports conventional hardware interface o Schedules virtual resources on the physical  Processor  Memory

Virtual Machine Monitor Monitor and distributed protocols need to scale o Simplicity of the monitor o Fault-containment o NUMA memory management issues Global policies o Fine-grained resource sharing

Challenges Overheads o Privileged instructions o I/O Devices Resource Management o Instruction execution stream  Idle loop  Lock busy-waiting Communication and Sharing o Virtual disk

Disco: A Virtual Machine Monitor Jordan Deveroux

Disco's Interface Processors o Abstraction of MIPS R10000 processor o Does not support complete virtualization of kernel virtual address space o Extends architecture to support efficient access to some processor functions Physical Memory o Abstraction of main memory that resides in contiguous physical address space o Uses dynamic page migration and replication to export nearly uniform memory architecture to the software I/O Devices o Each virtual machine has specified set of I/O devices o Intercepts communication from all of it's I/O devices for translation or emulation o Virtualizes access to the networking devices of the underlying system

Implementing Disco Multithreaded, shared memory program Disco vs. Other Systems o NUMA memory placement o cache-aware data structures o interprocessor communication patterns NUMA memory management o Copy DISCO into all memories of FLASH machine Cache-aware data structures o Partitioned so that parts accessed only by a certain processor are in memory near that processor Interprocessor communication patterns o Very few locks o Wait-free synchronization

Implementing Disco: Virtual CPU's Emulates virtual CPU's by using direct execution of real CPU's Same execution speed as running on real CPU's Each virtual CPU has a data structure like a process table entry in traditional O.S. o Contains state of virtual CPU Runs in kernel mode with full access Simple scheduler allows virtual processors to be shared

Implementing Disco: Virtual Physical Memory Add a level of address translation and maintains physical-to-machine address mappings Translation performed using translation-lookaside buffer Memory references are translated through this mapping from now on Each TLB entry is marked with an address space identifier to avoiding the flushing the TLB on context switches Each miss is more expensive o emulation of trap architecture o emulation of privileged instructions o remapping of physical addresses

Implementing Disco: NUMA Memory Management Optimization that enhances data locality Fast translation of virtual-to-physical addresses Allocation of real memory to virtual machines Only moves pages that will have performance benefit Contains a memmap data structure with an entry for each real machine memory page

Two different virtual processors of the same virtual machine logically read-share the same physical page, but each virtual processor accesses a local copy

Implementing Disco: Virtual I/O Intercepts all device access from the virtual machine and forwards them to the physical devices Each disco device defines a monitor call used by the device driver to pass all command arguements Disks and network interfaces include a map as part of their arguements o list of address pairs that specify the source and destination of I/O operations

VM Sharing Imran Ali

Copy-on-Write Disks Uses Virtual Memory Addressing to Map Data to physical Memory Multiple Virtual Machines(VM) Share Machine Memory Copy on write means that VM is unaware of Machine Memory being shared

VM Sharing Pages

Virtual Network Interfaces Virtual Machines are not allowed to communicate with each other Uses Standard Protocols to communicate through Ethernet- type addressing All read only pages can be shared through virtual machines reducing memory overhead Pages are shared whenever possible and are replicated when needed to improve proformance

Transparent Sharing of Pages

Experimental Results Yazen Ghannam

Experimental Setup Experiments are Simulated, not using real hardware Used four different workloads o Software Development (Pmake)  OS, I/O Intensive o Hardware Development (Engineering)  OS light; Large memory footprint o Scientific Computing (Raytrace, Radix)  OS light; uses shared memory regions o Commercial Database  I/O light; Single memory intensive

Execution Overheads

Memory Overheads

Scalability

Page Migration and Replication

Experiences and Related Work Tzu-Wei Kuo

Experiences on Real Hardware Disco was ported to run on a real hardware in order to confirm the simulation test results Run on SGI Origin200 board which forms the basis of the FLASH machine o Single - 180MHz MIPS R10000 processor o 128MB of memory

Experiences on Real Hardware Overheads of Virtualization Two workloads o Pmake: compiles Disco itself using the SGI development tools, two files at a time o Engineering: simulates the memory system of the FLASH machine

Experiences on Real Hardware This table shows a breakdown of the execution time for the two workloads and a comparison between IRIX and Disco running IRIX. The execution time is broken down into the user, system, and idle time.

Related Work System Software for Scalable Shared Memory Machines Virtual Machine Monitors Other System Software Structuring Techniques CC-NUMA Memory Management

Conclusion Developing system software for scalable shared memory multiprocessors without massive development effort Experimental results shows that the overhead of virtualization is modest in both processing time and memory footprints Disco provides simple solution for scalability and reliability Lower implementation cost

Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei Kuo Paper by: Edouard Bugnion, Scott Devine, Kinshuk Govil, Mendel Rosenblum

Title Text