Forschung Kompakt
Programmiermodell für zukünftige Supercomputer
Der Bedarf an noch schnelleren, noch effektiveren aber auch energiesparenden Computerclustern wächst in jeder Branche. Ein neues, asynchrones Programmiermodell liefert einen entscheidenden Baustein, um die nächsten Supercomputer zu realisieren.
High Performance Computing ist eine der Schlüsseltechnologien für zahllose Anwendungen, die für uns mittlerweile selbstverständlich sind.Das reicht von der Google-Suche über die Wettervorhersage und Klimasimulation bis hin zur Bio-Informatik. Stichwort Big Data, auch hier wächst der Bedarf an noch schnelleren, noch effektiveren aber auch energiesparenden Computerclustern.
Die Anzahl der Prozessoren pro System ist dabei mittlerweile im Millionenbereich angekommen und wird zukünftig noch stärker anwachsen als bisher. Weitgehend unverändert geblieben über die letzten 20 Jahre ist das bei Supercomputern verwendete Programmiermodell, das Message Passing Interface – MPI. Es sorgt dafür, dass die Mikroprozessoren in den verteilten Systemen kommunizieren können. Mittlerweile stößt es aber an seine Grenzen.
»Ich hatte eine Berechnungs- und Simulationsaufgabe für seismische Daten zu lösen«, sagt Dr. Carsten Lojewski vom Fraunhofer-Institut für Techno- und Wirtschaftsmathematik ITWM. »Aber mit bisherigen Methoden ging das nicht. Probleme waren mangelnde Skalierbarkeit, die Begrenzung auf eine blocksynchrone, zweiseitige Kommunikation und die fehlende Fehlertoleranz. Darum habe ich aus eigenem Interesse heraus angefangen, ein neues Programmiermodell zu entwickeln«. Am Ende dieser Entwicklung stand GPI – das Global Adress Space Programming Interface, das die parallele Architektur von Hochleistungsrechnern maximal effizient nutzt.
Universelle Programierschnittstelle
GPI beruht auf einem komplett neuen Denkansatz: auf einem asynchronen Kommuni- kationsmodell. Jeder Prozessor kann dabei wahlfrei auf alle Daten direkt zugreifen – egal auf welchem Speicher sie liegen und ohne andere parallel ablaufende Prozesse zu beeinflussen. Gemeinsam mit Rui Machado ebenfalls vom ITWM und Dr. Christian Simmendinger von der T-Systems Solutions for Research erhält Dr. Carsten Lojewski einen der diesjährigen Joseph-von-Fraunhofer-Preise.
Ähnlich wie das Programmiermodell von MPI ist GPI nicht als parallele Programmiersprache entwickelt worden, sondern als parallele Programmierschnittstelle und kann daher universell eingesetzt werden. Der Bedarf für eine solche hochskalierbare, flexible und fehlertolerante Schnittstelle ist groß und wächst, allzumal auch die Anzahl der Prozessoren in den Superrechnern exponentiell ansteigt.
Beispiel Aerodynamik
Erste erfolgreiche Beispiele zeigen, wie gut sich GPI umsetzen lässt: »High Performance Computing hat sich mittlerweile zu einem universellen Werkzeug in Wissenschaft und Wirtschaft entwickelt, als festes Element des Designprozesses etwa im Automobil- oder Flugzeugbau«, sagt Dr. Christian Simmendinger. »Beispiel Aerodynamik: Einer der Simulationseckpfeiler im europäischen Aerospace-Umfeld, die Software TAU, wurde in einem Projekt mit dem Deutschen Zentrum für Luft- und Raumfahrt DLR auf die GPI-Plattform portiert. Mit dem Ergebnis, das wir die parallele Effizienz erheblich steigern konnten«. GPI ist zwar ein Werkzeug für Spezialisten, aber mit dem Potenzial, die algorithmische Entwicklung für leistungsfähige Software zu revolutionieren. Es gilt als Schlüssel, um die nächste Generation von Supercomputern zu ermöglichen – Exascale-Rechner, die 1000mal schneller sind als heutige Großrechner.