Who am I?
I joined the
Systems Group
in the
Computer Science Department
at ETH Zürich
as a PhD student in 2007. My advisor is
Timothy Roscoe.
Before joining the group, I studied computer science at
ETH Zürich and got my Diploma/MSc
in 2007.
Research Interests
My main research interests include operating systems design, applying
constraint logic programming techniques to hardware programming and
resource management on multicore machines as well as finding an ideal interface
between manycore operating systems and managed language runtimes such as Java
to let (legacy) applications better use the underlying hardware.
Publications
- Early experience with the Barrelfish OS and the Single-Chip
Cloud Computer,
Simon Peter, Adrian Schüpbach, Dominik Menzi, Timothy Roscoe.
Proceedings of the 3rd Intel Multicore Applications
Research Community Symposium (MARC), Ettlingen, Germany,
July 2011.
[.pdf]
-
A Declarative Language Approach to Device Configuration,
Adrian Schüpbach, Andrew Baumann, Timothy Roscoe,
Simon Peter.
Proceedings of the Sixteenth International Conference
on Architectural Support for Programming Languages and
Operating Systems (ASPLOS 2011), Newport Beach, CA, USA,
March 2011.
[.pdf]
-
Design Principles for End-to-End Multicore Schedulers,
Simon Peter, Adrian Schüpbach, Paul Barham, Andrew Baumann,
Rebecca Isaacs, Tim Harris, Timothy Roscoe.
Proceedings of the 2nd Usenix Workshop on Hot Topics
on Parallelism (HotPar '10), Berkeley, CA, USA, June 2010.
[.pdf]
-
The multikernel: a new OS architecture for scalable
multicore systems,
Andrew Baumann, Paul Barham, Pierre-Evariste Dagand,
Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe,
Adrian Schüpbach, Akhilesh Singhania.
SOSP '09: Proceedings of the 22nd ACM symposium on
Operating systems principles, Big Sky, MO, USA, ACM Press,
October 2009.
[.pdf]
-
Rhizoma: a runtime for self-deploying, self-managing
overlays,
Qin Yin, Adrian Schüpbach, Justin Cappos, Andrew Baumann,
Timothy Roscoe.
Proceedings of ACM Middleware 2009, ACM Press,
Urbana-Champaign, IL, USA, October 2009.
[.pdf]
-
Your computer is already a distributed system.
Why isn't your OS?,
Andrew Baumann, Simon Peter, Adrian Schüpbach,
Akhilesh Singhania, Timothy Roscoe, Paul Barham,
Rebecca Isaacs.
Proceedings of the 12th Workshop on Hot Topics in
Operating Systems (HotOS-XII), Monte Verita, Switzerland,
May 2009.
[.pdf]
-
Embracing diversity in the Barrelfish manycore
operating system.,
Adrian Schüpbach, Simon Peter, Andrew Baumann,
Timothy Roscoe, Paul Barham, Tim Harris, Rebecca Isaacs.
Proceedings of the Workshop on Managed Many-Core
Systems (MMCS), Boston, MA, USA, June 2008.
[.pdf]
Projects
Barrelfish
I'm currently working on Barrelfish,
a new operating system for heterogeneous many-core machines written from
scratch. As part of this, I'm building a system knowledge base (SKB)
which contains detailed system and hardware information as declarative
facts.
The SKB is used to gather detailed hardware information as well as
runtime information about the system and running applications.
Based on this information, declarative algorithms and queries
derive valid hardware configurations as well as intelligent resource
allocation policies. Being a central user-space service in Barrelfish,
it has global knowledge about the complete state of the system. The
system and applications can query the SKB at any time and run their own
declarative algorithms based on the stored data.
Alpenrhein
Alpenrhein is a joint project with Michael Duller. We explore how an
interface between the OS and the managed runtime system should look
in terms of information flow in both direction to improve
hardware resource utilization.
By extending the interface between the runtime system and the OS,
legacy application written on top of the runtime system can
benefit from modern manycore systems without modification.
Semantic information about the application within the runtime system
provides deeper insight into a new or legacy application and allows
the system
to automatically derive resource needs in terms of memory, caches, cores
and interconnect. Communication, synchronization, computation and
memory allocation information is provided to the SKB which then
gets a global view and can provide feedback to all running instances
in the system.
We are currently basing our research on the
Maxine JVM,
a research Java Virtual machine developed at Oracle Labs and
the Barrelfish OS.
Rhizoma
Rhizoma is a selfmanaging overlay which deploys an application to a
number of nodes in the internet or on a cluster
based on application requirements. Additionally, Rhizoma manages itself
by moving itself to nodes which have the
necessary resources to run a controller.
In collaboration with Qin Yin,
we implemented a prototype with algorithms
implemented in EclipseCLP to derive the necessary resource allocation
policies.
Supervised Theses and Labs
-
Dominik Menzi Support for heterogeneous cores for Barrelfish Master's thesis, ETH Zurich, April 2011.
[.pdf]
-
Kaveh Razavi Barrelfish Networking Architecture Distributed Systems Lab, ETH Zurich, September 2010.
[.pdf]
-
Jianyuan Li Performance Analysis and Improvement of GuestVM for running OSGi-based MacroComponents Master's thesis, ETH Zurich, August 2010.
[.pdf]
-
Amin Baumeler, Rainer Voigt Barrelfish Demultiplexer Distributed Systems Lab, ETH Zurich, September 2009.
[.pdf]
-
Animesh Trivedi Hotplug in a multikernel operating system. Master's thesis, ETH Zurich, August 2009.
[.pdf]
Teaching
I like teaching a lot and regularly have the opportunity to prepare
teaching material as well as standing in front of exercise classes and
teach the material. Sometimes I had the opportunity to be a head
assistant and organize the exercise sessions.
|
HS 2011
|
Computer Architecture and Systems Programming
|
Exercise session
|
|
FS 2011
|
Operating Systems and Networks
|
Exercise session
|
|
HS 2010
|
Computer Architecture and Systems Programming
|
Exercise session
|
|
FS 2010
|
Operating Systems and Networks
|
|
|
FS 2009
|
Computer Networks
|
|
|
FS 2008
|
Computer Networks
|
|
|
SS 2007
|
Computer Networks
|
Exercise session
|
|
SS 2006
|
Computer Networks
|
Exercise session
|
|
WS 2005/2006
|
Computer Architecture
|
Exercise session
|