Die Architektur der Software Professor Christian Dietrich ist neuer Leiter der Abteilung Verlässliche Systemsoftware
In der Welt der Softwareentwicklung gibt es Bereiche, die im Hintergrund wirken und dennoch von entscheidender Bedeutung für die Funktionsweise moderner Anwendungen sind. Einer dieser Bereiche ist die Systemsoftware, die dafür sorgt, dass verschiedene Programme effizient und stabil laufen. Doch was genau ist Systemsoftware und warum ist sie so wichtig? Professor Christian Dietrich ist neuer Professor für Verlässliche Systemsoftware am Institut für Betriebssysteme und Rechnerverbund der TU Braunschweig. Er erklärt uns, warum die Systemsoftware immer zwischen den Stühlen steht, welche Herausforderung sie meistern muss und was seine Forschung in diesem Bereich so faszinierend macht.
Warum haben Sie sich für die TU Braunschweig entschieden?
Die Entscheidung für die Technische Universität Braunschweig ist mir aus mehreren Gründen leicht gefallen:
Als Mitglied der TU9 ist die TU Braunschweig eine Institution, die mir schon lange ein Begriff ist und im Laufe meiner Karriere bin ich immer wieder auf herausragende Wissenschaftler*innen von hier getroffen. Besonders die positiven Worte meines Vorgängers, Professor Rüdiger Kapitza, über die TU haben diesen Eindruck noch verstärkt und mich für die Universität begeistert.
Auch während des Berufungsverfahrens hat sich dieser positive Eindruck bestätigt und es haben sich direkt tiefgehende fachliche Diskussionen ergeben. Für mich ist dies ein wesentlicher Aspekt einer Universität: ein Ort, an dem man mit den interessiertesten Menschen über die unterschiedlichsten Themen gemeinsam diskutieren kann.
Aber es waren nicht nur die Gespräche mit den Wissenschaftler*innen, die mich beeindruckt haben, sondern auch die interessierten und engagierten Studierenden. Eine Universität lebt durch ihre Studierenden, die die Räume, Gänge und Plätze mit Leben füllen, indem sie aktiv am lebendigen akademischen Austausch teilhaben.
Ein persönlicher Aspekt, der meine Entscheidung ebenfalls beeinflusst hat, ist die größere Nähe zu meiner Familie. Durch die Stelle in Braunschweig kann ich nun deutlich intensiver am Familienalltag teilnehmen und so einen besseren Ausgleich zwischen beruflichen und privaten Verpflichtungen finden.
Womit genau beschäftigen Sie sich in Ihrer Forschung? Wie würden Sie Ihre Arbeit einer Person erklären, die nicht mit dem Thema vertraut ist?
Nicht jede Software wird entwickelt, um die Probleme der Anwender*innen direkt zu lösen. Manche Software ist dafür zuständig, die Probleme anderer Programme zu lösen oder ihnen zumindest das Leben zu erleichtern. In diese Kategorie fällt die Systemsoftware, zu der beispielsweise das Betriebssystem gehört. Systemsoftware hat also keinen Selbstzweck, sondern entfaltet ihren Wert erst im Zusammenspiel.
Dabei ist die Systemsoftware nicht nur eine reine Hilfskomponente, sondern sie prägt durch ihre Dienste maßgeblich das Weltbild der Anwendungen. Man kann dies mit der Arbeit eines Architekten oder einer Architektin vergleichen: Auch die entworfenen Gebäude sind nicht per se nützlich, sondern erst dann, wenn sie von Menschen genutzt werden. Allerdings prägt die Geometrie der Räume das Leben in ihnen wesentlich. Ein Schlauchbad erfüllt zwar seinen Zweck, aber so richtig viel Spaß macht es nicht, sich an der Waschmaschine vorbei zu quetschen.
Die Systemsoftware steht immer zwischen den Stühlen: Auf der einen Seite kommt ständig neue und innovative Hardware auf den Markt, die potenziell mehr Leistung verspricht. Auf der anderen Seite stehen die Anwendungsentwickler*innen, die am liebsten nichts ändern, aber trotzdem voll profitieren möchten. In diesem Spannungsfeld, ein stabiles und zukunftsfähiges Gebäude zu entwerfen, das auf sich wandelndem Grund den anspruchsvollen Bewohner*innen eine Heimat bietet, das ist die Aufgabe der Systemsoftware.
Was sind die Hauptforschungsbereiche und -projekte, an denen Sie an der TU Braunschweig arbeiten werden?
Mein Hauptforschungsbereich an der TU Braunschweig wird die Systemsoftware für heterogene Hardware und für ressourcenintensive Plattformen, insbesondere disaggregierte Systeme, sein. Dafür baue ich gerade auch ein Team aus technisch interessierten Informatiker*innen auf, die Lust auf diese Themen haben.
Um das Konzept der heterogenen Hardware zu erklären, greife ich wieder auf eine Architektur-Analogie zurück: Traditionell sind die Ressourcen (z.B. Prozessoren) innerhalb eines Rechners alle gleichartig, ähnlich einem Haus, in dem alle Räume gleich groß und gleich geschnitten sind; umziehen von einem Zimmer in ein anderes ist also sehr einfach. Mit heterogener Hardware kombinieren wir nun aber leistungsstarke und energieeffiziente Prozessoren in einem System; wir haben also plötzlich ganz kleine und ganz große Räume. Die Herausforderung für die Systemsoftware besteht darin, die Anwendungen auf diesen „unregelmäßigen“ Plattformen optimal laufen zu lassen, egal ob diese gerade in einem kleinen oder in einem großen Zimmer leben.
Ein weiteres Themengebiet sind disaggregierte Systeme, die in der Cloud der Zukunft von herausragender Bedeutung sein werden. Dazu wieder eine Analogie: In der Welt der Immobilien mietet man meist ganze Wohnungen, und wenn die Kinder ausgezogen sind, verkommt das Kinderzimmer allzu oft zum verstaubten Abstellraum. Aber es wäre doch hervorragend, wenn man diese ungenutzten Räume an junge Familien abgeben könnte, und zwar ohne die sozialen Konflikte einer WG-Küche heraufzubeschwören. Während dies mit physischen Räumen schwer umzusetzen ist, wird dies mit Rechenressourcen in Zukunft möglich sein. Die spannende Frage dabei ist, wie man solche Systeme effizient und möglichst wenig disruptiv für die Anwender*innen gestaltet.
Was hat Sie dazu bewogen, in diesem Bereich zu forschen?
Die Informatik kann man auch als die „Lehre von der Abstraktion“ beschreiben. Denn was wir Informatiker*innen wirklich gerne machen, ist ein großes Problem durch das Aufeinanderschichten vieler kleiner Abstraktionsebenen zu lösen. So bleibt jede Ebene schön übersichtlich und kann auch wiederverwendet werden. Dafür haben wir auch so kluge Begriffe wie „Trennung der Belange“ und „Information Hiding“ entwickelt, aber im Grunde wickeln wir das stachelige Problem so lange in Abstraktionen ein, bis es nicht mehr pikst.
Der Charme der Systemsoftware-Forschung besteht darin, dass man viele dieser Schichten gleichzeitig im Blick behalten muss, um ein gutes, tragfähiges System zu entwerfen. Häufig sind wir es, die den Anwender*innen, die bequem auf den oberen Schichten arbeiten, erklären müssen, warum das, was sie tun, furchtbar langsam ist und prinzipbedingt immer langsam bleiben muss. Diese Draufsicht auf viele Schichten ist sehr vielfältig, und man sieht viele wenig bevölkerte Bereiche der Informatik und es gibt viele „rabbit holes“, in denen man sich vertiefen kann.
Wie sieht Ihr Arbeitsalltag in drei Schlagworten aus?
In der Lehre versuche ich, den Studierenden die Essenz der Konzepte zu vermitteln, denn diese Reduktion auf das Wesentliche macht das erworbene Wissen zukunfts- und anpassungsfähig. In der Forschung bleibe ich immer im technischen Detail, um nicht nur in den Himmel der abstrakten, professoralen Ideengebäude abzudriften. Und inzwischen gehört auch ganz viel Organisatorisches zu meinem Arbeitsalltag, bei dem mir mein Mailprogramm das wichtigste Werkzeug ist.