18
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 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

  • Upload
    bran

  • View
    26

  • Download
    4

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

CS 443 Advanced OS

Fabián E. Bustamante, Spring 2005

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

E. Bugnion, S Devine, and M RosenblumStanford University

Presented by: Aaron J Beach

Page 2: 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

Page 3: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 4: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 5: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 6: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Implementation

● Managing Resources- CPUs- Memory- Advanced Hardware (NUMA)- I/O devices- Network interfaces

● Changes to OS

Page 7: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

7

CPU Management

Schedules virtual machine/CPU as task

Sets registers to virtual machine registersand runs the task directly

Controlled (supervised) access to memory

Page 8: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 9: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

9

Handling Advanced Hardware

● Must deal with possibly unconstant memory accesses

● Maintains locality between cache and memory page

Page 10: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 11: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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.

Page 12: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 13: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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

Page 14: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Experiments – Overhead - CPU

Page 15: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Experiments – Overhead - Memory

Page 16: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Experiments - Scalability

Page 17: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Dynamic Page Migration/Replication● To achieve locality, hot pages are replicated

and migrated to satisfy cache misses locally

Page 18: Disco: Running Commodity Operating Systems on Scalable Multiprocessors

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