Über SKALB – Lattice-Boltzmann-Methoden für skalierbare Multi-Physik-Anwendungen
Ende Oktober 2007 hat das Bundesministerium für Bildung und Forschung (BMBF) einen Call für Forschungsvorhaben auf dem Gebiet "HPC-Software für skalierbare Parallelrechner" im Rahmen des Förderprogramms IKT 2020 – Forschung für Innovationen veröffentlicht. Das RRZE als Konsortialführer hat zusammen mit vier weiteren universitären Gruppen unterschiedlicher Fachrichtungen, einem kleinen Spin-Off Unternehmen aus Dortmund und diversen assoziierten Partnern das Projekt SKALB – Lattice-Boltzmann-Methoden für skalierbare Multi-Physik-Anwendungen eingereicht. Nach erfolgreich überstandener Begutachtung in zwei Runden sind Anfang Dezember 2008 nun endlich die Bewilligungsbescheide eingetroffen, so dass SKALB zum 1. Januar 2009 offiziell beginnen kann.
Lattice-Boltzmann-Methoden haben sich in den letzten Jahren als Standardverfahren für numerische Strömungssimulation etabliert. Besonders bemerkenswert ist, dass dieser Ansatz schnell breite Verwendung auch jenseits der klassischen CFD Anwendungen gefunden hat und so zum Beispiel in der Verfahrenstechnik oder der Biomedizin eingesetzt wird. Deutschland konnte sich neben den USA als weltweit führend bei der numerischen Umsetzung der Methode insbesondere im Bereich der Hochleistungsrechner etablieren. Um diese führende Stellung auch bei den nun absehbaren technologischen Veränderungen erhalten zu können, haben fünf Gruppen aus ganz Deutschland mit ausgewiesener Expertise in den Bereichen Lattice-Boltzmann-Methode und Höchstleistungsrechnen die vorliegende Projektskizze gemeinsam formuliert. Bestehende Lattice-Boltzmann-Verfahren sollen so zur Lösung praxisrelevanter Multi-Physik-Anwendungsfälle auf hochskalierenden Parallelrechnern erweitert und optimiert werden. Dabei werden alle Schritte vom Preprocessing über die Simulation bis hin zur Visualisierung adressiert. Mit Blick auf neue und sich abzeichnende (heterogene) Multi-/Many-Core Architekturen sollen schließlich Potenziale und Programmieransätze exemplarisch evaluiert werden. Die umfangreiche Beteiligung assoziierter Unternehmen sichert dem Projekt den Zugriff auf neueste Hardwaretechnologien sowie den Transfer der methodischen Erkenntnisse und Simulationstechniken in die Wirtschaft.
Übergeordnetes Projektziel
Ziel von SKALB ist die effiziente Implementierung und Weiterentwicklung von Lattice-Boltzmann basierten Strömungslösern zur Simulation komplexer Multi-Physik-Anwendungen auf Rechnern der Petascale-Klasse.
Arbeitsziele gemäß den Zusammenfassungen auf den AZA-Formularen
- Sequentielle/parallele Performanceanalyse und Codeoptimierung für hochskalierende Rechner
- Erstellung von Performancemodellen und Benchmarkkernels
- Entwicklung eines skalierbaren Partitionierers für statische Gitter
- Untersuchung geeigneter Datenstrukturen
- Entwicklung dynamischer/adaptiver Lastbalanzierungskonzepten
- Untersuchung verschiedener paralleler Programmiermodelle insbesondere unter Verwendung der standardisierten Modelle MPI und OpenMP. Es sollen Erfahrungen mit PGAS (Partitioned Global Address Space) basierten Sprachen, die in Zukunft größere Aufmerksamkeit finden werden, gesammelt werden.
- Die Entwicklung der Open-Source-MPI-Implementierung OpenMPI wird am HLRS innerhalb des Projekts fortgeführt, insbesondere im Hinblick auf die Optimierung für Multi-Core-Architekturen.
- Bei der Anpassung des sequentiellen Lösers auf neue Architekturen werden wir uns auf Vektorprozessoren konzentrieren.
- Effiziente Anbindung einer Visualisierung auch für massiv parallele Simulationen.
- Entwicklung, Implementierung und Validierung adaptiver Lattice-Boltzmann-Methoden für hochskalierende Parallelrechner.
- Adaption paralleler Lattice-Boltzmann-Methoden für Grafikprozessoren.
- Entwicklung, Implementierung und Validierung von angepassten Datenkompressionsansätzen speziell für Restart und Postprocessing von Lattice-Boltzmann-Simulationen.
Uni-Dortmund: Fakultät für Mathematik, Lehrstuhl III (Angewandte Mathematik und Numerik, Prof. Turek)
- Entwicklung, Implementierung und Evaluierung numerischer Alternativen für Lattice-Boltzmann-Methoden.
- Codeoptimierung unter Berücksichtigung von Low-Level Hardware-Charakteristiken und Nicht-Standard-Hardwarearchitekturen.
- Entwicklung und Implementierung eines hybriden MPI/OpenMP-Scheduling und Loadbalancing-Konzeptes.
- Weiterentwicklung der FEAST-Basisbibliothek.
- Wissenschaftliches Benchmarking.
IANUS ist innerhalb des gemeinsamen Vorhabens wichtiges Bindeglied zwischen den wissenschaftlichen Partnern und den assoziierten Partnern aus der Industrie. Zu den Aufgaben gehört die Koordination des Benchmarkings und der Showcases und Aufbau einer Kommunikationsplattform. IANUS soll sicherstellen, dass die Entwicklungen die Wünsche zukünftiger Anwender aus der Industrie berücksichtigt.
Assoziierte Partner
Als assoziierte Projektpartner konnte fünf führende HPC-Firmen gewonnen werden, die Know-How, Entwicklungstools aber auch Rechenzeit auf geeigneten Systemen bereitstellen.Auf der Anwendungsseite sind drei Firmen als assoziierte Partner integriert. Sie liefern praxisrelevante Anwendungsfälle und stellen somit sicher, dass die Entwicklungen von SKALB auch nachhaltig genutzt werden können.
Weitere wissenschaftliche Verknüpfungen
Zwei Projektpartner (RRZE und LSS) sind seit Jahren in die Aktivitäten des bayerischen Kompetenznetzwerks für Technisch-Wissenschaftliches Hoch- und Höchstleistungsrechnen in Bayern (KONWIHR) eingebunden. Das HLRB ist Teil des Gauss Centre for Supercomputing, das RRZE ist assoziiertes Gründungsmitglied der Gauss-Allianz. Prof. Krafczyk war Sprecher des 2007 ausgelaufenen DFG-Paketantrages Lattice Boltzmann Methoden: Analysis, Numerik und Anwendungen, an dem auch die Gruppe von Prof. Turek beteiligt war.
Das Advanced Center for Computation and Communication, RIKEN, Japan, das für die Entwicklung und Installation des japanischen “Next-Generation Supercomputer” verantwortlich ist, hat dem RRZE gegenüber erklärt, dass sie eng mit SKALB zusammenarbeiten möchten.
Nächste Schritte
Für Januar 2009 ist ein offizielles Kick-Off Meeting geplant. Mehr dazu und weiteren SKALB-relevanten Themen hier in diesem Blog und auf einem noch zu schaffenden SKALB-Webauftritt.