Who am I?
I am currently working at ti&m as an architect. I am responsible for overall project
architectures especially of microservices based applications.
Before, I was 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
Rapid project.
I am also teaching at ETH, right now the lecture
Programmieren und Problemlösen.
I did a PhD in Computer Science in the
Systems Group
at the
Computer Science Department
of ETH Zürich
from 2007 to 2012 with Prof. Dr.
Timothy Roscoe.
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
in 2007.
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.
Research Interests
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.
Thesis
I did my thesis Tackling OS Complexity with Declarative Techniques in the area of operating systems in 2012.
I was lucky to join a new group at ETH Zürich and be part of this new OS from scratch since the very beginning.
As such, I was writing low-level code to startup cores, initialize registers and memory and also devices, including the
PCIe bus. While the bas system was evolving, I found my PhD topic in the area of declarative techniques helping the OS
to derive policies and configurations. I had the chance to work at all layers of the OS, from very low level assembly code,
C code for most of the functionality, up to high-level declarative language code.
Publications
- Addressing Algorithmic Bottlenecks in Elastic Machine Learning with Chicle,
Michael Kaufmann, Kornilios Kourtis, Celestine Mendler-Duenner, Adrian Schüpbach,
Thomas P. Parnell,
ArXivabs/1909.04885, September 2019
.
[pdf]
- Unification of Temporary Storage in the NodeKernel Architecture,
Patrick Stüdi, Animesh Trivedi, Jonas Pfefferle, Ana Klimovic, Adrian Schüpbach,
Bernard Metzler,
Proceedings of the 2019 USENIX Annual Technical Cpnference, Renton, USA, July 2019
.
[pdf]
- Mira: Sharing Resources for Distributed Analytics at Small Timescales,
Michael Kaufmann, Kornilios Kourtis, Adrian Schüpbach,
Martina Zitterbart,
Proceedings of the 2018 IEEE International Conference on Big Data, Seattle, USA, December 2018
.
[pdf]
- Albis: High-Performance File Format for Big Data Systems,
Animesh Trivedi, Patrick Stuedi, Jonas Pfefferle, Adrian Schüpbach,
Bernard Metzler,
Proceedings of the 2018 USENIX Annual Technical Conference (USENIX ATC’18), Boston, USA, July 2018
.
[pdf]
- 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
.
[pdf]
- 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.
[.pdf]
- Towards Database / Operating System Co-Design,
Jana Giceva, Adrian Schüpbach, Gustavo Alonso,
Timothy Roscoe.
Proceedings of the 2nd Workshop on Systems for Future
Multicore Architectures (SFMA'12), Bern, Switzerland,
April 2012.
[.pdf]
- A Declarative Language Approach to Device Configuration,
Adrian Schüpbach, Andrew Baumann, Timothy Roscoe,
Simon Peter.
ACM Transactions on Computer Systems, ACM Press, New
York, NY, USA, vol. 30, no. 1, February 2012, pp. 5:1-5:35.
[.pdf]
- 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, MT, 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
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/Spark serverless
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.
Crail/DaRPC/DiSNI
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
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.
Barrelfish
Barrelfish is
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
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 based our research on the
Maxine JVM,
a research Java Virtual machine developed at Oracle Labs and
the Barrelfish OS.
Rhizoma
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
policies.
Supervised Theses and Labs
-
Gerd Zellweger Unifying Synchronization and Events in a Multicore Operating System, Master's thesis, ETH Zurich, March 2012.
[.pdf]
-
Antoine Kaufmann Low-latency OS protocol stack analysis Bachelor's thesis, ETH Zurich, February 2012.
[.pdf]
-
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.
(c) by asq
Aktualisiert: 09.03.2019
adrian.schuepbach@gribex.net
www.gribex.net