Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.

Slides:



Advertisements
Similar presentations
Virtualization Technology
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
E Virtual Machines Lecture 3 Memory Virtualization
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.
Threads Clients Servers Code Migration Software Agents Summary
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
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.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
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.
Multiprocessors Deniz Altinbuken 09/29/09.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
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.
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.
Improving Network I/O Virtualization for Cloud Computing.
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.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
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.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
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.
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.
Virtualizing a Multiprocessor Machine on a Network of Computers Easy & efficient utilization of distributed resources Goal Kenji KanedaYoshihiro OyamaAkinori.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Presented by: Sagnik Bhattacharya Kingshuk Govil, Dan Teodosiu, Yongjang Huang, Mendel Rosenblum.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Cellular Disco Resource management using virtual clusters on shared-memory multiprocessors.
Translation Lookaside Buffer
Virtualization Technology
Is Virtualization ready for End-to-End Application Performance?
Virtual Machines Disco and Xen (Lecture 10, cs262a)
CS352H: Computer Systems Architecture
Lecture 24 Virtual Machine Monitors
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Page Replacement.
Outline Midterm results summary Distributed file systems – continued
Chapter 33: Virtual Machines
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Shared Memory Multiprocessors
CSE 471 Autumn 1998 Virtual memory
Operating Systems Structure
CSE 542: Operating Systems
Review What are the advantages/disadvantages of pages versus segments?
Chapter 33: Virtual Machines
Presentation transcript:

Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran

Outline Goal Problems & Solution Virtual Machine Monitors(VMM) Disco architecture Disco implementation Experimental results Conclusion

Goal Extend modern OS to run efficiently on shared memory multiprocessor without many changes to the OS Virtual Machine Monitors (VMM) – VM runs multiple copies of OS on a scalable multi processor

Problems The system software for scalable multi-processor machines lag behind the hardware Extensive custom modifications to OS needed to support the scalable machines Modification is implementation intensive and has reliability issues

Solution Insert a VMM between OS and hardware to resolve the problem VMM - Implemented Using Disco

Virtual Machine Monitors VMM is a software layer. VMM combined with commodity OS forms a flexible system software solution that supports large application base Virtualizes all resources of the machine exporting conventional hardware interface to OS VM communicate through distribution protocols

Disco Architecture.

Advantages Scalability Fault containment Avoid NUMAness Flexibility

Challenges facing virtual machines Overhead Resource management Communication and sharing

Disco Implementation Multithreaded shared memory program Attention given to Numa,cache aware data structure Code segment of disco is copied to memories of flash processors to satisfy cache misses-data locality Communication using shared memory

Virtual CPU(v.cpu) Disco emulates the execution of virtual cpu by using direct execution on real cpu. Scheduling - Disco set the register of real cpu to v.cpu and jump to current PC State - For each v.cpu disco keeps the data structure to maintain the state of v.cpu Virtual CPU of Disco provide abstraction of a MIPS R10000 processor

Virtual CPU (contd..) Additional data structure-privileged register and TLB content On MIPS,disco runs in kernel mode Control transfer to VM, Disco puts processor in “Supervisor mode” – to run OS of VM Supervisor mode does not give access to privileged instructions

Virtual Physical memory Disco performs physical-machine address mapping using TLB When OS tries to insert Virtual-physical address mapping in TLB,Disco emulates this and gets the machine address for that subsequent physical address. Disco has pmap data structure that contain one entry for each page of VM.

Continued.. In MIPS processor,kernel mode memory reference bypass TLB and directly access memory and I/O.Need to relink OS code and data to mapped address space. MIPS processor tag each TLB entry with address space identifier(ASID) Workload execution on top of disco suffer from increased no.of TLB misses. Second level software TLB – to lessen performance impact

NUMA Memory Management Cache misses should be satisfied from local memory to avoid latency. To accomplish this disco implement page replication and migration. Page Migration Heavily accessed page by one node will be migrated to other node. Disco transparently changes physical-machine address mapping Invalidate the TLB entry mapping the old machine page then copy the data to local page.

Continued.. Page Replication Downgrade the TLB entry of the machine page to read-only and then copy the page to local node and update its TLB entry. Disco maintain the data structure memmap contains entry for each real machine memory page.

Page replication Disco uses physical to machine mapping to replicate the pages.Virtual page from both cpu of same virtual machine map the same physical page of their virtual machine.Disco transparently maps each virtual page to machine page replica that is located local to the node.

Virtual I/O devices To virtualize I/O devices Disco intercept all device access from virtual machine and gradually pass them to physical devices In a system like Disco, the sequence would look something like: 1. VM executes instruction to access I/O 2. Trap generated by CPU (based on memory or privilege protection) transfers control to VMM. 3. VMM emulates I/O instruction, saving information about where this came from

Copy on write disk Disk reads can be serviced by monitor,if request size is multiple of machine page size,then monitor has to remap the machine pages into VM physical memory. Pages are read only and an attempt to modify will generate copy on write fault handled by monitor. Read only pages are are brought in from disk can be transparently shared between virtual machines.This creates global buffer shared across virtual machine and helps to reduce memory foot prints.

Virtual N/W interface 1)monitors n/w device remap data page from source machine address to destination machine address. 2)monitor remap the data page from drivers mbuf to client buffer cache.

Execution Overhead Experimented on a uni- processor, once running IRIX directly on the h/w and once using disco running IRIX in a single virtual machine Overhead of virtualization ranges from 3% - 16%.

Memory overhead Ran single workload of eight different instances of pmake with six different system configurations Effective sharing of kernel text and buffer cache limits the memory overheads of multiple VM’s

Scalability Ran pmake workload under six configurations IRIX Suffers from high synchronization overheads Using a single VM has a high overhead. When increased to 8 VM’s execution time reduced to 60%

NUMA Performance of UMA machine determines the lower bound for the execution time of NUMA machine Achieves significant performance improvement by enhancing the memory locality.

Conclusion Develop system software for scalable shared memory multiprocessor without massive development efforts Experiments results show that overhead of virtualization is modest Provides solution for NUMA management