The Multikernel: A new OS Architecture for Scalable Multicore Systems

Date

October 15, 2009

Speaker

Andrew Baumann

Affiliation

ETH Zurich

Overview

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.

We 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. We investigate a new OS structure, the multikernel, that 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.

We have implemented a multikernel OS to show that the approach is promising, and we describe how traditional scalability problems for operating systems (such as memory management) can be effectively recast using messages and can exploit insights from distributed systems and networking. An evaluation of our prototype on multicore systems shows that, even on present-day machines, the performance of a multikernel is comparable with a conventional OS, and can scale better to support future hardware.

This is joint work with Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Sch├╝pbach and Akhilesh Singhania.

Speakers

Andrew Baumann

Andrew Baumann is a senior researcher (postdoc) in the Systems Group at ETH Zurich. His research interests include operating systems, networked and distributed systems, and software support for multi-/many-core architectures. During his PhD at the University of New South Wales, Australia, he worked on a number of L4-based operating systems, and completed a thesis in 2007 on dynamic update techniques for OS code. He has also worked with the K42 group at IBM’s T.J. Watson Research Center.

People