Schneller Rechnen durch verbesserte Kooperation

- .
Die Leistung der wissenschaftlichen Großrechner wächst rasant. Die existierende Software nutzt die Kapazität der Computer jedoch oft nicht voll aus. Am Forschungszentrum Jülich entwickeln Wissenschaftler deshalb eine Methode, die zeitraubende Fehler in den Programmen findet. Das Zauberwort heißt "kooperatives Arbeiten". Die 16.000 Prozessoren des Superrechners JUBL am Forschungszentrum Jülich müssen zusammenarbeiten, so wie die Angestellten in einem Betrieb. Je besser sie sich aufeinander abstimmen, umso effektiver erreichen sie das Ergebnis. Deshalb analysiert Prof. Dr. Felix Wolf, der in Jülich die Nachwuchsgruppe "Leistungsanalyse paralleler Programme" leitet, die Arbeitsabläufe im Computer. "Die Leistung der modernen Rechner wird oft nur zu einem sehr geringen Prozentsatz genutzt", erklärt Felix Wolf seine Motivation. Mit zunehmender Komplexität der Computer nimmt auch das Problem zu: Immer mehr Prozessoren müssen Teilprogramme parallel abarbeiten und zwischendurch ihre Daten austauschen. "Genau dort liegt das Problem vieler Programme", so der Informatiker. Die Programmierer müssen die Arbeitsteilung zwischen den Prozessoren mit in den Code einbauen. "Wenn ein Prozessor Input von einem anderen benötigt, um weiter zu rechnen, und diesen nicht rechtzeitig bekommt, geht wertvolle Rechenzeit verloren".
Außer der Diagnose ist auch die Optimierung der Programme für parallele Rechner Ziel des Helmholtz-Virtuellen Instituts "High-Productivity Supercomputing", als dessen Sprecher Felix Wolf fungiert. Mit von der Partie im Virtuellen Institut sind außer dem Forschungszentrum Jülich, die RWTH Aachen, die Technische Universität Dresden und die University of Tennessee. Wie viel Potenzial in der Optimierung der Software liegt, zeigt das Simulationsprogramm von Wolfs Kooperationspartner Marek Behr von der RWTH Aachen. Er berechnet am JUBLSupercomputer die Geometrie von Blutpumpen. Das sind fingergroße Wunderwerke, die implantiert werden und beim Pumpen die empfindlichen Blutkörperchen nicht zerstören dürfen. Deshalb muss der Computer die Strömung der vielen kleinen Teilchen im Blut berechnen. Im letzten Jahr konnten Felix Wolf und seine Mitarbeiter die benötigte Rechenzeit bereits auf ein Drittel reduzieren. Das Ende der Fahnenstange ist vermutlich noch nicht erreicht.
Zur weiteren Analyse baut Felix Wolf eine Art Sensoren in das Simulationsprogramm ein. "Das sind wiederum kleine Programmstücke, die bei jedem Rechenschritt winzige leistungsrelevante Ereignisse der einzelnen Prozessoren protokollieren", erklärt er. Sein Programmpaket SCALASCA (Scalable Performance Analysis of Large-Scale Applications) wertet die Daten aus. Aufgrund dieser Ergebnisse können die Programmierer im nächsten Schritt den Code verbessern. Ein großer Teil der heute gängigen Diagnosesoftware kann bisher keine Programme analysieren, die sämtliche Prozessoren des Jülicher Supercomputer nutzen. SCALASCA nimmt jetzt dagegen auch Software unter die Lupe, die alle 16.000 Prozessoren rechnen lässt. Damit können Programmierer auch aus dem JUBL und anderen Supercomputern der neuen Generationen das Beste herausholen.

