Supercomputing-Rangliste und HPC-Trends

TOP500 6/2008: RoadRunner-Supercomputer durchbricht Petaflop-Schranke

Probleme bei der Softwareoptimierung

Wie so oft muss man bei dem neuen Hybridansatz aber auch Kompromisse eingehen. Vor allem der Aufwand, reale Anwendungen jenseits des Linpack-Benchmarks auf einem Hybridsystem mit hoher Rechenleistung zum Laufen zu bekommen, darf nicht unterschätzt werden. Dies wurde im Rahmen einer gesonderten Sitzung der ISC deutlich. So berichteten die Macher des RoadRunner-Projekts, dass auf dem System letzten Endes nur eine Handvoll Anwendungen laufen sollen.

Die Portierung dieser ausgesuchten Anwendungen wurde gleichzeitig mit der Verwirklichung des Hardwareprojekts in den letzten zwei Jahren mit erheblichem Personalaufwand vorangetrieben und ist noch nicht abgeschlossen. Das macht klar, dass eine solche hybride Lösung noch nicht als Arbeitspferd in einem „normalen“ Supercomputerzentrum eingesetzt werden kann. Dort arbeiten meist Hunderte von Benutzern und Dutzende von unterschiedlichsten Anwendungen.

Komplexe Architektur: Je ein Opteron-Blade als Kontrollrechner und zwei Cell-Blades für die Rechenarbeit bilden beim RoadRunner eine Einheit. (Quelle: IBM)
Komplexe Architektur: Je ein Opteron-Blade als Kontrollrechner und zwei Cell-Blades für die Rechenarbeit bilden beim RoadRunner eine Einheit. (Quelle: IBM)

Dieses Problem wird sich erst dann entspannen, wenn deutlich bessere Entwicklungswerkzeuge für die Portierung einer gewachsenen Anwendung auf eine solche Plattform existieren. Gleichzeitig stellt sich die Frage, ob das aktuelle Programmierparadigma im HPC (High-performance computing) auch weiterhin geeignet ist. Dabei kombiniert man klassische Programmiersprachen wie Fortran, C oder C++ mit MPI-Befehlen. MPI (Message Passing Interface) ist eine im HPC etablierte Standardschnittstelle, die explizite Kommunikationsoperationen zwischen den Rechenknoten in die Programmlogik integriert.

„Hello World“ mit MPI: Bei MPI muss man den eigentlichen Programmcode mit Verwaltungsanweisungen für die Rechenknoten mischen. (Quelle: rac.uits.iu.edu/hpc/mpi_tutorial/index.shtml)
„Hello World“ mit MPI: Bei MPI muss man den eigentlichen Programmcode mit Verwaltungsanweisungen für die Rechenknoten mischen. (Quelle: rac.uits.iu.edu/hpc/mpi_tutorial/index.shtml)

In den USA werden daher bereits seit einiger Zeit Forschungsprogramme für neue Programmierparadigmen und -konzepte vorangetrieben. Dadurch soll die Programmierung der immer komplexer werdenden Höchstleistungsrechner wieder vereinfacht werden. Die Wissenschaftler sollen so wieder mehr Zeit für ihr eigentliches Problem haben und sich weniger um die Verwaltung der Rechnerknoten kümmern müssen.