Andrew Baumann

ETH zurich

Commodity computer systems contain more and more processor cores and exhibit increasingly diverse architectural tradeoffs, including memory hierarchies, interconnects, instruction sets and variants, and IO configurations.

Previous high-performance computing systems have scaled in specific cases, but the dynamic nature of modern client and server workloads, coupled with the impossibility of statically optimizing an OS for all workloads and hardware variants pose serious challenges for operating system structures.


In this talk, I will argue that the challenge of future multicore hardware is best met by embracing the networked nature of the machine, rethinking OS architecture using ideas from distributed systems.  Our new OS structure, termed the "multikernel", treats the machine as a network of independent cores, assumes no inter-core sharing at the lowest level, and moves traditional OS functionality to a distributed system of processes that communicate via message-passing.


Barrelfish, a concrete multikernel implementation, is currently under development at ETH Zurich in collaboration with Microsoft Research Cambridge.  I will show how traditional OS scalability problems (such as memory management) are effectively recast using messages and can exploit insights from distributed systems.  An evaluation of Barrelfish shows that, even on present-day multicore systems, performance is comparable with a conventional OS, and can scale better to support future hardware.  I will also discuss ongoing work and ideas for the future.


Barrelfish is joint work with Paul Barham, Richard Black, Pierre-Evariste Dagand, Tim Harris, Orion Hodson, Rebecca Isaacs, Ross McIlroy, Simon Peter, Timothy Roscoe, Adrian Schüpbach and Akhilesh Singhania.


B17 Upson Hall

Tuesday, March 9, 2010

Refreshments at 3:45pm in the Upson 4th Floor Atrium


Computer Science


Spring 2010

The Barrelfish Operating system for scalable and heterogeneous multicore systems