Disco: Running Commodity Operating Systems on Scalable Multiprocessors - PowerPoint PPT Presentation

About This Presentation
Title:

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Description:

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

Number of Views:143
Avg rating:3.0/5.0
Slides: 19
Provided by: northw159
Category:

less

Transcript and Presenter's Notes

Title: Disco: Running Commodity Operating Systems on Scalable Multiprocessors


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

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,replicati
    on)- 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
Write a Comment
User Comments (0)
About PowerShow.com