Prozessoren programmieren und optimieren

FPGA

Programmierbarer Prozessor: Intels Stratix ist ein flexibler Fiel Programmable Gate Array, FPGA, der neu konfiguriert werden kann, auch wenn er bereits in einer Platine verbaut ist. Foto: intel

Die Doktorarbeit in dreimal 60 oder insgesamt 180 Sekunden: Pascal Jungblut, der gerade am Lehrstuhl für Kommunikationssysteme und Systemprogrammierung der Ludwig-Maximilians-Universität (LMU) promoviert, bringt für seinen Kurzvortrag beim Festakt (Link: ab etwa 9:20 Timecode) zum 60. Geburtstag des Leibniz-Rechenzentrum (LRZ) lediglich eine Folie mit. Sie zeigt eine Platine mit einem Field Programmable Gate Array  oder FPGA, zudem zwei bunte Grafiken. „FPGA sind flexibler als bekannte Prozessoren“, erklärt der junge Informatiker. „Das sind Chips, deren Schaltkreise man konfigurieren und immer wieder verändern kann, selbst wenn sie schon in einem Computer oder Gerät verbaut sind.“ Die programmierbaren Bauteile stehen im Mittelpunkt seiner Forschung. Bislang werden sie meist nur teilweise um- und neukonfiguriert, um etwa zu regeln, wann ein Computer welche Aufgaben, in welcher Reihenfolge und Taktung abarbeitet. Dafür zeigt die erste Grafik auf der Vortragsfolie ordentlich neben- und untereinander sortierte, verschieden große, bunte Kästchen wie auf einem Stundenplan, jedes davon steht für einen Rechenauftrag. Und die können mit einem FPGA nach- oder zum Teil auch gleichzeitig nebeneinander ausgeführt werden.

LRZ60

Pascal beim Vortrag samt seiner Folie.

Supercomputing weiter beschleunigen

Pascal aber beschäftigt die Frage: Warum werden bisher fast nur Teile eines FPGA umprogrammiert, warum nicht gleich der gesamte Chip? „FPGA sind aufwändig zu programmieren, das Programmieren und das Kompilieren dauern oft Tage oder sogar Wochen. Deshalb wird das zwar in der Forschung durchaus gemacht, sonst aber werden nur Teile davon neu konfiguriert“, erklärt er sein Interesse. „Was aber passiert, wenn man die komplette Chipfläche umkonfiguriert – würde das die Steuerung und Kontrolle der Arbeitsaufträge verschlechtern oder kann – im Gegenteil – damit sogar die Effizienz steigen?“ Gute Fragen. Die Antworten sind dort von Bedeutung, wo Maschinen mit Computer vernetzt werden, etwa bei der Realisierung des Internets der Dinge (IoT). Sie könnten außerdem generell das Design von Prozessoren verbessern helfen und bei der weiteren Spezialisierung der FPGA. Außerdem sind sie interessant fürs High-Performance Computing (HPC) sowie für die Ausgestaltung künftiger Supercomputer. „Noch sind im SuperMUC-NG keine FPGA verbaut“, meint Pascal Jungblut, „aber das kann sich ändern, FPGA dienen heute auch als Beschleuniger und sollen Rechenleistung erhöhen.“

Zurzeit sind Rechenzentren weltweit damit beschäftigt, Superrechner auf das Exascale-Niveau vorzubereiten – also darauf, eine Trillion (1018) und mehr Rechenoperationen pro Sekunde durchzuführen. Neben Grafikprozessoren (GPU) und liegen die Hoffnungen unter anderem auch auf den FPGA. Diese Prozessoren sind noch vergleichsweise neu und kommen meistens dort zum Einsatz, wo es auf schnelle Verarbeitung von Signalen ankommt sowie auf flexible, veränderbare Schaltungen, um damit implementierte Funktionen zu verbessern, ohne die Hardware antasten zu müssen. Wenn diese Bauelemente zudem an spezielle Applikationen oder Algorithmen angepasst werden könnten, würde das Supercomputing weiter an Effizienz gewinnen. „Die Steuerung und Optimierung findet beim HPC oft auf anderer Ebene statt“, sagt Pascal. „Soll zum Beispiel eine Simulation auf 32 Rechenkernen ausgeführt werden, muss im Algorithmus definiert werden, wo welche Arbeitsschritte stattfinden. Ich mache das auf einem Core, und das ist ein FPGA.“ Diesen Arbeitsschritt weitergedacht: Die flexiblen Chips könnten an spezielle Aufträge angepasst werden (und vereinfachen dann die Entwicklung von Algorithemen), außerdem im Gesamten so optimiert werden, dass ein Computer mehrere Tasks, die zusammenpassen, parallel abarbeitet – auf der zweiten Grafik der Vortragsfolie verschwimmen daher die Auftragsfarben zum Regenbogen. Beide Vorgehensweisen steigern die Effizienz und Rechenleistung.

Doch diese Prozessoren haben noch einen Vorteil: Mit FPGA können Brücken zwischen unterschiedlichen Prozessortechnologien geschlagen werden, sie lassen sich beispielsweise so konfigurieren, dass sie sowohl Aufgaben eines gewohnten Prozessors (CPU) wie auch die einer GPU übernehmen, die auf die Verarbeitung von grafischen Daten spezialisiert wurde. Am LRZ wird zurzeit sogar getestet, ob FPGA klassisches Rechnen mit Quantencomputing zusammenbringen können. „Noch sind FPGA ein Nischenprodukt und daher nicht günstig. Sie werden selten genutzt“, beobachtet der Münchner Doktorand. „Das könnte aber auch ein typisches Henne-Ei-Problem sein, wenn nur wenige FPGA verfügbar sind, werden sie natürlich seltener genutzt.“

Forschen, um den Alltag zu verbessern

Um Antworten auf seine grundlegenden Fragen zu den FPGA zu finden, experimentiert der Informatiker mit den Angeboten diverser Hersteller, auch solchen, die das Bavarian Energy-, Architecture- and Software-Testbed (BEAST) enthält, die Testumgebung am LRZ, gefüllt mit neuartiger Computertechnik. Für seine Doktorarbeit hat er außerdem ein Abstraktionsmodell entwickelt, um Konfigurationskonzepte und deren Wirkung auf die Rechenleistung oder Energiebedarf zu vergleichen. Ziel ist, die Aufgabenverteilung auf Prozessoren und FPGA noch besser steuern zu können, außerdem Algorithmen für die Konfiguration von FPGA zu entwickeln oder deren partielle Rekonfiguration zu vereinfachen.: „Ich hoffe doch“, so Pascal, „dass Chip-Hersteller und damit indirekt auch Anwender:innen einmal von meiner Arbeit profitieren oder auch das LRZ, wenn es neue Computer anschafft.“

Forschungsergebnisse in den Alltag und zu den Leuten bringen, Theorie mit Praxis verbinden und Alltagsarbeiten vereinfachen – das waren auch die Gründe, sich für ein Informatik-Studium zu entscheiden: „Ich hab´ mich schon als Kind gerne mit Computern beschäftigt“, erzählt Pascal. Angespornt vom technikbegeisterten Vater und vom Opa, der als Ingenieur die neue Informationstechnologie ebenfalls neugierig testet, bringt er sich am Commodore 64 seiner Mutter die ersten Kniffe fürs Programmieren bei, baut Webseiten und entwickelt erste Programme. Für den Zivildienst lässt sich der bodenständige Ostwestfale mit Computeraufgaben aus dem kleinen Blomberg bei Detmold nach München locken: „Das war schon eine außergewöhnliche Zivi-Stelle“, erinnert er sich. „Wir betreuten die PC einer Radiologie-Station und schrieben außerdem ein Tool für die Verwaltung zum Röntgen und andere Aufgaben.“

Obwohl in Bayern salziges Lakritz schwer bis unmöglich zu beschaffen ist, bleibt der Ostwestfale nach dem Zivildienst an der Isar, meldet sich 2008 an der Technischen Universität München (TUM) für Elektrotechnik an: „Informatik schien mir zu mathe-lastig, ich kam zwar mit Mathematik gut klar, hatte aber nicht das Selbstvertrauen, das auch im Studium weiterzumachen.“ Zwei Semester später dann doch der Wechsel zur LMU und zur Informatik: Auch die Elektrotechnik forderte viele Zahlen, Gleichungen, Formeln, das Vertrauen in eigene Rechenfähigkeiten war gewachsen. Nebenher programmiert Pascal weiter – professionell und erstmals richtig gegen Geld. Agenturen, IT-Dienstleister und Unternehmen aus Berlin, Hamburg, Düsseldorf und München lassen ihn e-Commerce-Systeme optimieren, Software und Onlinefunktionalitäten an ihre Bedürfnisse anpassen, praktische Tools für Geschäfte entwickeln. Das Studium längt sich dadurch zwar, aber gleichzeitig fließen Geld in die Kasse und Wissen in den Kopf: „War schon ein cooles Gefühl, finanziell autark zu sein“, sagt er und grinst breit. „Natürlich waren auch die Erfahrungen wertvoll.“

Seine Programmierkenntnisse kommen nun auch der Doktorarbeit zugute, außerdem sind Geduld und Genauigkeit beim Austesten und Bewerten von Prozessoren gefragt. Pascal Jungblut ist keiner, der sich verzettelt. Die gradlinigen Entwicklungen sind sein Ding. Er verbrachte kein Semester im Ausland oder an einer anderen Universität. Jeder Schritt fügt sich in den nächsten, seine Ausbildung hat er breit angelegt, die Neugier trieb und treibt ihn weiter. So erkundet er für den Bachelor virtuelle Netze und deren Integration in echte Netzwerke, für den Master analysiert er das Laufzeitverhalten von Software und anderen Programmen. Jetzt geht es um die Optimierung der Auftragsverteilung auf programmierbaren Chips: „Auf das Thema bin ich während einer Veranstaltung am LRZ gekommen, Chiphersteller präsentierten eine vergleichbare Technik und stellten dabei fest, dass FPGA nur selten genutzt werden. Das wollte ich mir näher anschauen.“ Gut vernetzt ist der junge Wissenschaftler trotzdem: Pascal Jungblut gehört zum Munich Network Management-Team, eine Gruppe, die Forschende aus allen Münchner Universitäten und Hochschulen vereint und sich mit Informationstechnologien beschäftigt.

Praktische Antworten fürs Computing

Seit er als Doktorand am Lehrstuhl beschäftigt ist, erklärt Pascal Studierenden Rechnerarchitekturen, betreut Bachelor- und Masterarbeiten, löst aber keine Firmenprobleme mehr. „Pascal Jungblut unterstützt mich bei meiner Vorlesung ,Rechnernetze und verteilte Systeme´, sagt Prof. Dr. Dieter Kranzlmüller, Leiter des LMU-Lehrstuhls Kommunikationssysteme und Systemprogramnmierungen sowie des LRZ, außerdem der Doktorvater: „Ich schätze sein immenses technisches Know-how, sein organisatorisches Talent und seine freundliche Art. Er hilft mir oft auch inhaltlich weiter.“ Große Worte sind nicht Pascals Sache, auch die großen Gesten nicht: Den Vortrag unterstreichen seine Hände mit knappen Bewegungen, er redet sachlich, verständlich. Er beschreibt sich selbst als ruhig und introvertiert. Gespräche im Freundeskreis sind ihm wichtiger als laute Feiern, er rudert gern, fährt Rennrad oder zieht sich mit einem spannenden Hard Sciencefiction zurück. Das wiederum sind Bücher und Filme wie „Der Marsianer“, in denen zukünftige Forschung und Technik möglichst akkurat, nachvollziehbar und wissenschaftlich stimmig beschrieben werden.

Kolleg:innen heben seinen Pragmatismus hervor, seinen „staubtrockenen Humor und dass er kaum aus der Ruhe zu bringen ist: Pascal kann sich so herrlich über die Welt lustig machen, ich kann echt viel mit ihm lachen“, meint etwa Sophia Grunder-Culemann, ebenfalls Doktorandin am LMU-Lehrstuhl Kommunikationssysteme und Systemprogrammierung, die sich in ihrer Arbeit jedoch mit Kryptografie beschäftigt. „Außerdem ist er total pragmatisch und hilfsbereit, kann gut zuhören, gibt konstruktiven Rat und bleibt in wirklich jeder Situation gelassen.“ Einer, der präsent ist, aber niemals stört, weil er sich zurücknehmen kann. Seine Forschungsarbeit ist nahezu am Ende, muss noch zusammengetragen und ausformuliert werden. Und dann? Wissenschaft, Produktentwicklung, eine Fachkonferenz, die sich endlich einmal auf Nutzerfreundlichkeit und Verständlichkeit fokussiert – wäre alles möglich. Hauptsache, es stellen sich weiter Fragen, für die praktische Antworten gesucht werden. „Ich habe mich immer gerne mit Problemen beschäftigt , für die es noch keine Lösung gab“, meint der Experte für Prozessoren. „Und generell möchte ich den Nutzen von Computern erhöhen, sie sollen durch gute Lösungen das Leben oder die Arbeit erleichtern.“ Gut möglich, dass solche Lösungen auch in den FPGA stecken. (vs)


Pascal

Pascal Jungblut, Doktorand am Lehrstuhl Kommunikationssysteme und Systemprogrammierung der LMU München


Noch mehr junge Forschende mit spannenden Projekten: 

Ivana Iovanovic-Buha, TUM: Numerische Wissenschaften – Computational Science

Elisabeth Mayer, LRZ: Informatik und Medien/Kunst

Amir Raoofy, TUM: Informatik und High Performance Computing (HPC)

Mohamad Hayek, LRZ: Informatik und Datentransfer

Sophia Grundner-Culeman, LMU: Kryptografie

Bengisu Elis, TUM: Computational Science und Supercomputing

Daniëlle Schumann, LMU: Quantencomputing