Who am I?
I am currently working at the IBM Zurich Research Laboratory (IBM Research) in the systems
field. My main research areas include fast networks, including RDMA infiniband and RoCE networks,
as well as fast I/O processing in general. I am also working on
serverless programming and do research in the area on how to do machine learning or how to do
inference on serverless platforms in an efficient way.
From 2013 to 2017 I was working at Oracle Labs on the
I am also teaching at ETH, right now the lecture
Programmieren und Problemlösen.
I did a PhD in Computer Science in the
Computer Science Department
of ETH Zürich
from 2007 to 2012 with Prof. Dr.
My PhD thesis is about "Tackling OS Complexity with Declarative Techniques".
Before joining the group, I studied computer science at
ETH Zürich and got my Diploma/MSc
I did a lot of teaching, starting as a student, then as assistant at ETH and
during the last years as lecturer at ETH Zurich. Some of the lectures can be found here: teaching.
My main research interests include operating systems design, high-speed networking (RDMA, Infiniband/RoCE), applying
constraint logic programming techniques to hardware programming and
resource management on multicore machines, serverless cloud computing, machine learning and systems
aspects in many areas.
- Mira: Sharing Resources for Distributed Analytics at Small Timescales,
Michael Kaufmann, Kornilios Kourtis, Adrian Schüpbach,
Proceedings of the 2018 IEEE International Conference on Big Data, Seattle, USA, December 2018
[Link will follow]
- Albis: High-Performance File Format for Big Data Systems,
Animesh Trivedi, Patrick Stuedi, Jonas Pfefferle, Adrian Schüpbach,
Proceedings of the 2018 USENIX Annual Technical Conference (USENIX ATC’18), Boston, USA, July 2018
- COD: Database / Operating System Co-Design,
Jana Giceva, Tudor-Ioan Salomie, Adrian Schüpbach,
Gustavo Alonso, Timothy Roscoe,
Proceedings of the 6th Biennial Conference on
Innovative Data Systems Research (CIDR'13), Asilomar, CA, USA, January 2013
- Unifying Synchronization and Events in a Multicore OS,
Gerd Zellweger, Adrian Schüpbach, Timothy Roscoe.
Proceedings of the 3rd AsiaPacific Workshop on Systems
(ApSys'12), Seoul, Korea, July 2012.
- Towards Database / Operating System Co-Design,
Jana Giceva, Adrian Schüpbach, Gustavo Alonso,
Proceedings of the 2nd Workshop on Systems for Future
Multicore Architectures (SFMA'12), Bern, Switzerland,
- A Declarative Language Approach to Device Configuration,
Adrian Schüpbach, Andrew Baumann, Timothy Roscoe,
ACM Transactions on Computer Systems, ACM Press, New
York, NY, USA, vol. 30, no. 1, February 2012, pp. 5:1-5:35.
- Early experience with the Barrelfish OS and the Single-Chip
Simon Peter, Adrian Schüpbach, Dominik Menzi, Timothy Roscoe.
Proceedings of the 3rd Intel Multicore Applications
Research Community Symposium (MARC), Ettlingen, Germany,
A Declarative Language Approach to Device Configuration,
Adrian Schüpbach, Andrew Baumann, Timothy Roscoe,
Proceedings of the Sixteenth International Conference
on Architectural Support for Programming Languages and
Operating Systems (ASPLOS 2011), Newport Beach, CA, USA,
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.
The multikernel: a new OS architecture for scalable
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, MT, USA, ACM Press,
Rhizoma: a runtime for self-deploying, self-managing
Qin Yin, Adrian Schüpbach, Justin Cappos, Andrew Baumann,
Proceedings of ACM Middleware 2009, ACM Press,
Urbana-Champaign, IL, USA, October 2009.
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,
Proceedings of the 12th Workshop on Hot Topics in
Operating Systems (HotOS-XII), Monte Verita, Switzerland,
Embracing diversity in the Barrelfish manycore
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.
Serverless in the cloud/OpenWhisk
Currently I am investigating how OpenWhisk functions can leverage
a fast distributed storage system like Crail for application data
and potentionally for argument passing between function invocations
in the case that IBM composer is being used.
Mira is a scheduler for Spark applications on heterogeneous clusters.
It replaces the original Spark scheduler. A new project, based on Mira,
aims at keeping Spark executors running and being able to dynamically
connect and disconnect to new Spark applications to keep them warm and
reduce starting overheads significantly. I implemented the first
version of Spark serverless and integrated this version with Mira.
Apache Crail (incubating)
is a high-performance distributed data store for ephemeral
data based on RDMA networking and NVMf devices. It uses DaRPC and DiSNI
to enable high-performance communication over RDMA in Java.
My main contribution is on performance analysis and improvement
of the DaRPC and DiSNI layers.
GPFS is the general parallel file system, an IBM product.
I mainly work on the RDMA subsystem, including implementation
of features, bug fixes and customer support.
a new operating system for heterogeneous many-core machines written from
scratch. During my PhD I was building a system knowledge base (SKB)
which contains detailed system and hardware information as declarative
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 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
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 based our research on the
a research Java Virtual machine developed at Oracle Labs and
the Barrelfish OS.
Rhizoma is a self-managing 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 Eclipse-CLP to derive the necessary resource allocation
Supervised Theses and Labs
Gerd Zellweger Unifying Synchronization and Events in a Multicore Operating System, Master's thesis, ETH Zurich, March 2012.
Antoine Kaufmann Low-latency OS protocol stack analysis Bachelor's thesis, ETH Zurich, February 2012.
Dominik Menzi Support for heterogeneous cores for Barrelfish Master's thesis, ETH Zurich, April 2011.
Kaveh Razavi Barrelfish Networking Architecture Distributed Systems Lab, ETH Zurich, September 2010.
Jianyuan Li Performance Analysis and Improvement of GuestVM for running OSGi-based MacroComponents Master's thesis, ETH Zurich, August 2010.
Amin Baumeler, Rainer Voigt Barrelfish Demultiplexer Distributed Systems Lab, ETH Zurich, September 2009.
Animesh Trivedi Hotplug in a multikernel operating system. Master's thesis, ETH Zurich, August 2009.
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.
(c) by asq