1 / 18

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

E. Bugnion, S Devine, and M Rosenblum Stanford University Presented by: Aaron J Beach. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. Disco: The main idea. Decouple Operating System from machine hardware. OS runs on virtual machine

bran
Télécharger la présentation

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E. Bugnion, S Devine, and M Rosenblum Stanford University Presented by: Aaron J Beach Disco: Running Commodity Operating Systems on Scalable Multiprocessors

  2. Disco: The main idea Decouple Operating System from machine hardware. OS runs on virtual machine Virtual machine is assigned resources by Disco which manages a pool of processing elements/memory resources

  3. Goals and Challenges Run operating systems efficiently on scalable multi-processor systems Reduce overhead associated with Disco layer Scale above and below the Disco layer (i.e. Many VMs and PEs) Do this with a small implementation effort that does not require major changes to the OS

  4. The Problem Innovative Hardware(scalable shared memory multiprocessors Requires significant changes to system software to support hardware advantages(i.e. Partitioning OS up into units and others) Since modern system software is so large this requires large amounts of development time Challenges- Overhead (memory,processing,replication)- Resource Management (idle loop)- Sharing/Communication

  5. Virtual Machines Run operating systems efficiently on scalable multi-processor systems Reduce overhead associated with Disco layer Scale above and below the Disco layer (i.e. Many VMs and PEs) Do this with a small implementation effort that does not require major changes to the OS

  6. Implementation Managing Resources- CPUs- Memory- Advanced Hardware (NUMA)- I/O devices- Network interfaces Changes to OS

  7. CPU Management Schedules virtual machine/CPU as task Sets registers to virtual machine registersand runs the task directly Controlled (supervised) access to memory

  8. Memory Management Another level of address translation Gives each virtual machine a memory space starting at zero in the proper address size Uses TLB for physical-to-machine translation Stamps entries with address space identifier to avoid flushing TLB when changing address spaces

  9. Handling Advanced Hardware Must deal with possibly unconstant memory accesses Maintains locality between cache and memory page

  10. Managing I/O device access First translates into correct address Then gives the device exclusively to the machine This makes it so that the device does not have to actually be virtualized for each machine, simply access must be managed

  11. Managing Network Interfaces Goals- avoid duplication of data if possible How - sharing Data loaded into the cache can be accessed by other Machines, enabling communication between machines.

  12. Changes to OS and lower system Minimal changes, mostly to hardware abstraction level (HAL)... very funny Had to map machine address into supervisor segment (changing header files) OS downcalls resource information to Disco Specialized OS: SPLASHOSvery basic OS supporting SPLASH-2 appsmade with Disco in mind

  13. Experiments Two main things we are interested in- Overhead- Scalability Simulated on SimOS because FLASH system is not yet ready Overhead- Compare with the same OS running directly on the hardware (memory & CPU slowdown) Scalability- Measure running with different # of processors and virtual machines

  14. Experiments – Overhead - CPU

  15. Experiments – Overhead - Memory

  16. Experiments - Scalability

  17. Dynamic Page Migration/Replication To achieve locality, hot pages are replicated and migrated to satisfy cache misses locally

  18. Overview and Conclusions Two approaches to scalable shared memory- Large OS development- Statically partition and run multiple OS Disco is more flexible and takes less implementation to support a new OS Disco is like unimaginitive microkernel(just mirrors interface of hardware) Low overhead Scalability Supports advanced hardware Small development effort modifying OS

More Related