About Me

Reto Achermann

PhD Student, Systems Group, Department of Computer Science, ETH Zurich

My name is Reto Achermann. I graduated from ETH Zurich in 2014 with a MSc in Computer Science with specialization in Distributed Systems. Currently, I doing my PhD in the Systems Group, Department of Computer Sience, ETH Zurich. My advisor is Prof. Timothy Roscoe.

barrelfish logo I am part of the Barrelfish team. Barrelfish is a research operating system with a distinct architecture called the multikernel. Barrelfish treats a single machine as a distributed system. My work involves several device drivers such as USB, DMA engines and the Xeon Phi co-processor. My key interest is how to program modern, heterogeneous multiprocessors. A multi-core is inherently complex showing many similarities to distributed systems. Therefore we need to treat multi-core machines as such and hence rethink the way we write software for a multi-core machine to account for interconnect networks, NUMA regions and even failures.



  • Reto Achermann, Lukas Humbel, David Cock and Timothy Roscoe ETH Zurich. Formalizing Memory Accesses and Interrupts . April 2017. 2nd Workshop on Models for Formal Analysis of Real Systems (MARS 2017), Uppsala, Sweden, . [ .bib ] [ .pdf ]
  • Stefan Kaestle, Reto Achermann, Roni Haecki, Moritz Hoffmann, Sabela Ramos, and Timothy Roscoe, ETH Zurich. Machine-Aware Atomic Broadcast Trees for Multicores . November 2016. 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI'16). [ .bib ] [ .pdf ]
  • Izzat El Hajj (University of Illinois at Champaign-Urbana), Alexander Merritt (Georgia Institute of Technology), Gerd Zellweger (ETH Zurich), Dejan Milojicic (Hewlett Packard Labs), Reto Achermann (ETH Zürich), Wen-Mei Hwu (University of Illinois at Champaign-Urbana), Karsten Schwan (Georgia Institute of Technology), Timothy Roscoe (ETH Zurich), and Paolo Faraboschi (Hewlett Packard Labs) SpaceJMP: Programming with Multiple Virtual Address Spaces . April 2016. 21th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XXI). [ .bib ] [ .pdf ]
  • Stefan Kaestle, Reto Achermann and Timothy Roscoe, ETH Zurich; Tim Harris, Oracle Labs, Cambridge. Shoal: Smart Allocation and Replication of Memory For Parallel Programs . July 2015. 2015 USENIX Annual Technical Conference. [ .bib ] [ .pdf ]
  • Simon Gerber, Gerd Zellweger, Reto Achermann, Kornilios Kourtis, Timothy Roscoe ETH Zurich; and Dejan Milojicic (HP Labs, Palo Alto). Not Your Parents' Physical Address Space. May 2015. 15th Workshop on Hot Topics in Operating Systems (HotOS XV). [ .bib ] [ .pdf ]


  • Reto Achermann and Timothy Roscoe. Formalizing Address Spaces November 2016. OSDI'16. [ .pdf ]
  • Izzat El Hajj, Alexander Merritt , Gerd Zellweger, Dejan Milojicic, Reto Achermann, Paolo Faraboschi, Wen-mei Hwu, Timothy Roscoe and Karsten Schwan. SpaceJMP: Programming with Multiple Virtual Address Spaces. April 2016. ASPLOS 2016 [ .pdf ]
  • Reto Achermann, Stefan Kaestle, Moritz Hoffmann and Timothy Roscoe. Naucrates October 2015. SOSP 2015. [ .pdf ]
  • Stefan Kaestle, Reto Achermann, Timothy Roscoe (ETH Zurich) and Tim Harris (Oracle Labs, Cambridge, UK). Shoal: smart allocation and replication of memory for parallel programs. April 2015. EuroSys 2015. [ .pdf ]



State: Completed

Stefan Kaestle, Reto Achermann, Roni Haecki, Moritz Hoffmann, Sabela Ramos and Timothy Roscoe, ETH Zurich

The performance of tree-based group communication primitives such as broadcasts and reductions highly depend on the tree topology and and message send order. Furthermore, there is no single topology which works well across a wide variety of machines. In this project, we present Smelt a framework that contstructs good trees for any machine.

[ Code ] [ Results ]


State: Completed

Stefan Kaestle, Reto Achermann, Timothy Roscoe, ETH Zurich; Tim Harris, Oracle Labs Cambridge. February 2014.

Modern machines feature highly complex memory hiearchies and NUMA topologies which makes it hard for programmers to allocate and manipulate memory. We present Shoal, a runtime library for smart memory allocation based on data access patterns and hardware characteristics.

[ Read More ]

Distributed Systems Lab

State: Completed

Reto Achermann, Antoine Kaufmann. Bulk Transfer over Network. Distributed Systems Lab, ETH Zurich, February 2014. [ .pdf ]

Efficient bulk transfer of data within a machine (shared memory) and between machines over network is is crucial for the performance of distributed systems. During this project, we investigated a unified design for bulk transfer over shared memory and network in collaboration with Jeremia Baer and Claudio Foellmi.


Hewlett Packard Laboratories, Palo Alto (CA)

September 2015 - December 2015

Systems Research Group. Consensus protocols in the context of The Machine.


BSc Computer Science, ETH Zurich

2009 - 2013

Reto Achermann. Barrelfish USB Subsystem . Bachelor's thesis, ETH Zurich, August 2013. [ .pdf ]

MSc Computer Science, ETH Zurich

2013 - 2014, Specialization: Distributed Systems, with distinction

Reto Achermann. Message passing and bulk transport on heterogenous multiprocessors. Master's thesis, ETH Zurich, October 2014. http://dx.doi.org/10.3929/ethz-a-010262232


multiprocessors operating systems networks heterogeneous architectures systems programming accelerators devices

Systems Programming and Computer Architecture

Fall 2016

Introduction to computer architecture and system programming: Instruction sets, storage hiearchies, runtime structures with an emphasis on computers as engines for the execution of compiled programs. Interaction between system software and the hardware. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered.
Course Catalogue

Introductory Programming in MATLAB

Spring 2016, Spring 2017

The lecture "Introductory Programming in MATLAB" provides a basic knowledge about imperative programming. Additionally, the students learn how to apply imperative programming in modeling of domain specific systems.
Course Catalogue

Parallel Programming

Fall 2015

Introduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.
Course Catalogue

Data Modelling and Data Bases

Spring 2014

Data modelling (ER and UML class diagrams), relational data model, relational design theory (normal forms), SQL, database integrity, security, transactions and data warehousing (OLAP)
Cource Catalogue

Supervised student thesis and lab projects

Dynamic Linking and Loading in Barrelfish

State: Completed

David Keller. ETH Zurich. Bachelor's thesis. August 2015.   [ .pdf ]

Design and implementation of dynamic linking support in the Barrelfish Operating system.


Reto Achermann

acreto [at] inf.ethz.ch

+41 44 633 70 15

Dept. of Computer Science
CAB E 69, ETH Zürich
Universitätstrasse 6
8092 Zürich