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.
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.
- 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 ] [
- 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 ] [
- 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 ] [
- 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 ] [
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 [
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
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 ]
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
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)
Systems Research Group. Consensus protocols in the context of The Machine.
BSc Computer Science, ETH Zurich
Reto Achermann. Barrelfish USB Subsystem . Bachelor's thesis, ETH Zurich, August 2013. [ .pdf ]
MSc Computer Science, ETH Zurich
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
Systems Programming and Computer Architecture
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.
Introductory Programming in MATLAB
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.
Introduction to parallel programming: deterministic
and non-deterministic programs, models for parallel
computation, synchronization, communication, and
Data Modelling and Data Bases
Data modelling (ER and UML class diagrams), relational
data model, relational design theory (normal forms), SQL,
database integrity, security, transactions and data
acreto [at] inf.ethz.ch
+41 44 633 70 15
Dept. of Computer Science
CAB E 69, ETH Zürich