KONWIHR Project: FASTEST-hybrid

Suche


Hybride Parallelisierung des Finite-Volumen Strümungslösers FATEST-3D

Project summary

Im Rahmen der Multicore-Software-Initiative des KONWIHR wurde am Regionalen Rechenzentrum Erlangen eine umfassende Analyse des Single-Core Performance und der Skalierbarkeit von Fastest-3D durchgeführt. Die Implementierung der daraus abgeleiteten Maßnahmen führte zu einer erheblichen Steigerung der Single-Core Performance sowie der Skalierbarkeit von Fastest-3D.

Der Strömungslöser Fastest-3D wird bereits seit den 90er Jahren in seiner urspr├╝nglichen Version in Erlangen am Lehrstuhl für Strömungsmechanik entwickelt. Heute wird Fastest-3D in verschiedenen Varianten an Instituten der TU-Darmstadt, der FAU Erlangen-Nürnberg und der Helmut-Schmidt-Universität Hamburg weiterentwickelt und u. a. auf Probleme der turbulenten Strömung, Verbrennung und Fluid-Struktur-Akustik Interaktion angewandt.

Während die in Fastest-3D verwendeten Methoden kontinuierlich weiterentwickelt wurden, waren die Parallelisierung und Single-Core-Optimierungen immer noch stark auf den Einsatz auf Vektorrechnern ausgelegt. Um auch in Zukunft HPC-Ressourcen effizient nutzen zu können, waren entsprechende Anpassungen in Fastest-3D notwendig.

Ausgangspunkt für alle Optimierungsmaßnahmen war eine detaillierte Analyse von Fastest-3D sowohl auf einem Sockel als auch im Rahmen von Skalierungsläufen auf SuperMUC. Ca. 50% der Rechenzeit wird zum Lösen des linearen Gleichungssystems verwendet. Gleichzeitig konnte mittels des Tools likwid-perfctr aus der am RRZE entwickelten LIKWID-Toolsuite ermittelt werden, dass die Performance der meisten Komponenten von Fastest-3D durch die Hauptspeicherbandbreite limitiert ist. Dies führt zu einem typischen Sättigungsverhalten ├╝ber die Kerne eines Multicore-Chips und lässt darauf hoffen, dass die Verwendung einfach genauer Gleitkommazahlen eine deutliche Verbesserung der Performance nach sich zieht.

Die parallele Skalierbarkeit mit MPI wurde auf dem LiMa-Cluster des RRZE mittels des Intel Trace Analyzers durchgeführt. Daraus war zuerkennen, dass die Verwendung von blockierenden MPI Funktionen zu einer partiellen Serialisierung führt. Zu Steigerung der Single-Core Performance und der parallelen Skalierbarkeit wurden deshalb zwei wesentliche Maßnahmen implementiert:

  • Der lineare Gleichungslöser (SIP-Solver) wurde mit einfacher Genauigkeit implementiert, um die Nutzung der begrenzten Speicherbandbreite zu verbessern. Im Idealfall ergibt sich dadurch eine Halbierung der Code-Balance.
  • Die Verwendung von nicht-blockierenden Kommunikationsaufrufen vermeidet unnötige Wartezeiten von MPI-Prozessen und hebt die künstliche Serialisierung der Kommunikation auf. Außerdem wird eine fullduplex-Kommunikation ermöglicht. Ein Überlapp der Kommunikation mit der Rechnung ist hier nicht das Ziel.

Zur Messung des Effektes dieser Implementierungen in Fastest-3D wurden Skalierungsläufe auf SuperMUC für eine typische Konfiguration von Fastest-3D mit konstanter Problemgröße durchgeführt. Fastest-3D kann mittels der überarbeiteten Kommunikationsroutinen deutlich mehr Knoten bei einer bestimmten Problemgröße effizient nutzen. Außerdem kann im Bereich hoher paralleler Effizienz mittels des einfach genauen Gleichungslösers eine zusätzliche Beschleunigung erzielt werden (der stärkere Abfall der Effizienz bei großen Knotenzahlen ist selbstverständlich zu erwarten). Bei aktuell durchgeführten Simulationen wurde bei einer minimalen parallelen Effizienz von mehr als 50% eine Beschleunigung der Simulation um fast das Zehnfache erzielt. Details zur Implementierung und weitere Performancedaten finden sich unter http://arxiv.org/abs/1303.4538.

Der Erfolg dieses Projektes zeigt, dass mit relativ geringem Aufwand an Arbeitskraft und finanziellen Mitteln bestehende Software wieder fit für den Einsatz auf aktuellen Systemen gemacht werden kann. Die KONWIHR-Softwareinitiative ist dafür das ideale Förderinstrument.

KONWIHR funding

  • KONWIHR funding: two months during Multicore-Software-Initiative 2013

Contact:

  • PD Dr. Stefan Becker & Christoph Scheit, LS Prozessmaschinen und Anlagentechnik, FAU