Willkommen, Professor Reto Achermann
New@CIT |

Was waren die wichtigsten Stationen in Ihrer wissenschaftlichen Laufbahn?
Mein Interesse an Informatik begann in der dritten Klasse, als ich einen alten Desktop-Computer auseinander gebaut hatte und ihn mit in die Schule brachte, um meinen Mitschülerinnen und Mitschülern zu zeigen, was darin steckt. Rückblickend war das wahrscheinlich der Beginn meiner Laufbahn als Informatiker.
Einer der prägenden Momente war der Kurs „Systemprogrammierung und Computerarchitektur“ im dritten Semester meines Studiums an der ETH Zürich. Während einer der Vorlesungen zog Professor Timothy Roscoe einen winzigen Chip aus seiner Tasche. Es war ein Intel Single-Chip Cloud Computer – ein experimenteller Prozessor mit fast 50 Kernen, der 50 Linux-Instanzen auf demselben Chip ausführen konnte! Das faszinierte mich wirklich sehr, und so belegte ich schließlich mehrere weitere systembezogene Kurse, gefolgt von einer Bachelorarbeit, einem Systemlabor, einer Masterarbeit und schließlich meiner Dissertation.
Nach meiner Promotion an der ETH Zürich war ich als Postdoktorand und später als Assistenzprofessor an der University of British Columbia tätig. Ich hatte die Gelegenheit, mit Professorin Margo Seltzer zusammenzuarbeiten, die mich sowohl in der Forschung als auch in der Lehre enorm unterstützt hat. So konnte ich mich mit spannenden Forschungsproblemen beschäftigen und zum Beispiel mit dem Beweisassistenten Dafny über die Korrektheit eines parallelen Algorithmus diskutieren. Außerdem hielt ich meine erste Vorlesung und passte Timothy Roscoes berühmt-berüchtigten Kurs „Advanced Operating Systems“ an die Gegebenheiten der University of British Columbia an. Dieser Kurs ist mittlerweile zu einem „Capstone“-ähnlichen, „400-Level Course“ geworden – also einem sehr fortgeschrittenen Kurs im letzten Studienjahr – und hat den alten Betriebssystemkurs ersetzt.
Was sind Ihre Forschungsschwerpunkte?
An der Technischen Universität München (TUM) habe ich nun die Professur für Widerstandsfähige Rechensysteme inne. Das Hauptziel meiner Forschung ist es, sicherzustellen, dass Computersysteme jederzeit korrekt funktionieren. Nehmen wir ein Ticketverkaufssystem als Beispiel: Eine nützliche Eigenschaft ist, dass dieses System Ihnen das richtige Ticket aushändigt, den richtigen Betrag abbucht, es Ihnen innerhalb einer angemessenen Zeit (auf jeden Fall vor der Veranstaltung) zusendet und dies unabhängig davon tut, wie viele Nutzerinnen und Nutzer gleichzeitig ein Ticket kaufen möchten.
Der Aufbau eines widerstandsfähigen Systems für diese Aufgaben umfasst viele Aspekte. Das Erhalten des richtigen Tickets lässt sich als die Eigenschaft der „funktionalen Korrektheit“ formulieren. Ich nutze gerne Theorembeweiser, um einen mathematischen Beweis dafür zu erbringen, dass das System eine Eigenschaft korrekt implementiert.
Es reicht jedoch nicht aus, nur über diese Korrektheitseigenschaft nachzudenken: Das Computersystem muss das Ergebnis auch innerhalb eines bestimmten Zeitrahmens berechnen und viele Kundinnen und Kunden bedienen können. Daher müssen wir sicherstellen, dass das System gut skalierbar und effizient ist. Dies wirft viele interessante Fragen auf, denen wir nachgehen, wie zum Beispiel: Auf welchen Maschinen sollte das System laufen? Wie viele davon benötigen wir und wann sollten wir weitere hinzufügen? Ist es sinnvoll, Spezialhardware zu verwenden, um Berechnungen zu beschleunigen?
Worauf freuen Sie sich in Ihrer neuen Position an der TUM am meisten?
Ich freue mich sehr darauf, gemeinsam mit herausragenden Studierenden und Kolleginnen und Kollegen an anspruchsvollen Problemen zu arbeiten, insbesondere am Aufbau robuster, leistungsstarker Computersysteme. Bislang waren meine Erfahrungen mit den Dozierenden, Mitarbeitenden und Studierenden einfach großartig. Ich freue mich darauf, meine Forschungsgruppe aufzubauen und neue Kooperationen zu knüpfen. Und da ich in der Schweiz aufgewachsen bin, bedeutet die Stelle an der TUM natürlich auch, näher an meiner Heimat zu sein.
Was war Ihr größter wissenschaftlicher „Aha-Moment“?
Das mag albern klingen, aber es stellt sich heraus, dass ein Computer eingeschaltet sein, über ein Taktsignal verfügen und die Hardware korrekt konfiguriert sein muss, um ihn nutzen zu können.
Warum erzähle ich das? Für meine Bachelorarbeit entwickelte ich einen USB-Treiber für das Forschungsbetriebssystem Barrelfish. Das bedeutete, mit dem USB-Controller eines Smartphone-ähnlichen Geräts zu kommunizieren. Die ersten Versuche führten jedoch zu Fehlern. Die Überprüfung der für die Kommunikation mit dem USB-Controller erforderlichen Speicherkonfiguration ergab keine Probleme, doch es funktionierte immer noch nicht. Ich fragte mich: „Ist das Ding überhaupt eingeschaltet?“
Der Aha-Moment kam, als ich feststellte, dass der USB-Controller weder mit Strom versorgt war noch über ein korrekt konfiguriertes Taktsignal verfügte, sodass alle Versuche, mit ihm zu kommunizieren, zu Fehlern führten. Das brachte mich dazu, an verschiedenen Projekten an der Schnittstelle zwischen Hardware und Software zu arbeiten, um sicherzustellen, dass das Betriebssystem die Hardware des Computers korrekt programmiert.
Was steht ganz oben auf Ihrer persönlichen Bucket List?
Keine Bucket List zu haben. Aber Spaß beiseite: Ich liebe die Natur, deshalb würde ich gerne Nationalparks auf allen Kontinenten besuchen.