Who am I?

First name: Adrian
Last name: Schüpbach
E-Mail: adrian_laurent.schuepbach@alumni.ethz.ch
~: Igis/GR/CH + Winterthur/ZH/CH
[Research | Publications | Projects | Theses | Teaching ]

Since 2013, I am working at Oracle Labs on the Rapid project. I am doing systems research and I like to actually build stuff.
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.

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.




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 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 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


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.

FS 2016 Programmieren und Problemlösen Exercises
FS 2015 Programmieren und Problemlösen Exercises
FS 2014 Programmieren und Problemlösen Exercises
HS 2012 AdvancedOperating Systems Exercise session
FS 2012 Operating Systems and Networks Exercise session
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

(c) by asq
Aktualisiert: 22.02.2014