Talk by Andrew Baumann - Composing OS extensions safely and efficiently with Bascule

Date

TITLE:   Composing OS extensions safely and efficiently with Bascule

SPEAKER: Andrew Baumann, Microsoft Research

HOST:    Andy Warfield

DATE/TIME: December 3, Tuesday, 3:00 pm

LOCATION: ICCS 238

ABSTRACT:
Library OS (LibOS) architectures implement the OS personality as a
user-mode library, giving each application the flexibility to choose
its LibOS. This approach is appealing for many reasons, not least the
ability to extend or customise the LibOS. Recent work with Drawbridge
showed that an existing commodity OS (Windows 7) could be refactored
to produce a LibOS while retaining application compatibility.

This talk presents Bascule, an architecture for LibOS extensions based
on Drawbridge. Rather than relying on the application developer to
customise a LibOS, Bascule allows OS-independent extensions to be
attached at runtime. Extensions interpose on a narrow binary interface
of primitive OS abstractions, such as files and virtual memory. Thus,
they are independent of both guest and host OS, and composable at
runtime. Since an extension runs in the same process as an application
and its LibOS, it is safe and efficient.

Bascule demonstrates extension reuse across diverse guest LibOSes
(Windows and Linux) and host OSes (Windows and Barrelfish). Current
extensions include file system translation, checkpointing, and
architecture adaptation.

BIO:
Andrew Baumann is a researcher in the OS group at Microsoft Research,
Redmond. His research interests include operating systems, distributed
systems, and software support for multi-/many-core architectures. Past
institutions include The University of New South Wales (BE/PhD), IBM
T.J. Watson (extended internship), and ETH Zurich (postdoc). Past and
current projects include the L4 microkernel, Mungi
single-address-space OS, K42 multiprocessor OS, Barrelfish multikernel
OS, and Drawbridge LibOS.