Parallele Programmierung

Das Hochleistungsrechnen bietet für viele wissenschaftliche und ingenieurtechnische Disziplinen großes Potential, das nur ausgeschöpft werden kann, wenn die Kenntnisse aus den Anwendungsbereichen mit geeigneten Algorithmen sowie passenden Parallelisieruns- und Implementierungs-Methoden kombiniert werden.

Skalierbare parallele Programmierung

Die Gruppe zum Schwerpunkt beschäftigt sich mit der Entwicklung von Methoden und Werkzeugen zur optimalen Ausnutzung aller verfügbaren Ressourcen. Wir beginnen beim einzelnen Core und wir enden nicht eher als beim kompletten Höchstleistungsrechner.
 

Tuning

Wir optimieren Software ganzheitlich. Unser Anspruch ist das umfassende Verständnis der Methoden und Algorithmen und deren Umsetzung unter genauer Kenntnis von Rechnerarchitektur und Möglichkeiten der Werkzeuge.
 

Numerische Löser

GaspiLS ist eine numerische Löserbibliothek die vollständig auf den Konzepten des GPI Programmiermodells aufsetzt und damit auf optimale Skalierbarkeit getrimmt ist.

GPI

GPI ist die Kommunikationsbibliothek der Wahl, wenn es um hoch skalierende Anwendungen geht. GPI erlaubt echt asynchrone und parallele Kommunikation aller Threads und erzielt optimale Überlappung von Kommunikation und Berechnung. Schnelle und teilweise kostenfreie Benachrichtigungen entfernter Komponenten und genau definierte Systemzustände im Fehlerfall machen GPI zur weltweit führenden Lösung.
 

GPI-Space

GPI-Space abstrahiert die Komplexität großer Maschinen ohne die Effizienz in Frage zu stellen. Basierend auf einem generischen fehlertoleranten und skalierbaren Laufzeitsystem für dynamische Umgebungen, einer Petri-Netz basierten Workflow Engine und skalierbarem virtuellem Speicher erlaubt GPI-Space die Entwicklung spezifischer Entwicklungs- und Ausführungsumgebungen.

Beispielprojekte

 

Constraint-Solving

Ein Teil des Softwareportfolios von SAP ist der Variantenkonfigurator. Im Projekt entwickeln wir wesentliche Teile der zugrundeliegenden Bibliothek.

 

SafeClouds

Weitere Informationen zum EU-Projekt SafeClouds auf unserer Projektseite »Verteilte Infrastruktur zur Datenanalyse in der Luftfahrt«.

 

European Processor Initiative

In der European Processor Initative (EPI) wird ein neuer leistungsfähiger Mikroprozessor entwickelt, welcher unter anderem in Supercomputern eingesetzt wird.

Projekt INTERWinE

Exascale Modellierung und Implementierung

Das Projekt INTERWinE befasst sich mit dem Problem der Modellierung von Modelldesign und Implementierung für die Exascale. Die ersten Exascale-Computer werden sehr hochparallele Systeme sein, die aus einer Hierarchie der architektonischen Ebenen bestehen.

 

Wir bringen das Programmiermodell GASPI und deren Implementierung GPI in das Projekt ein und evaluiert die Interoperabilitätsanforderungen mit einer Reihe von Anwendungen wie dem Computational Fluid Dynamics Code TAU des DLR (Deutsche Luft- und Raumfahrt) zur aerodynamischen Simulation.

Projekt ExaNoDe

Exascale Computing

Gemeinsam mit 13 weiteren europäischen Partnern sind wir am Projekt ExaNoDe (European Exascale Processor Memory Node Design) beteiligt. Dieses Projekt prüft, entwickelt und steuert die Grundelemente für hocheffiziente, integrierte Mehrkanal-Hochleistungs-Computerteile, die auf Exascale Computing ausgerichtet sind.

 

Unsere Aufgabe ist es dabei die Fraunhofer GASPI/GPI Programmierschnittstelle zu entwickeln, die eine Open-Source Kommunikationsbibliothek zwischen Computerknoten darstellt. Die API wurde so ausgearbeitet, dass sie eine Vielzahl von möglichen Speichergrößen aufnehmen kann. GASPI /GPI stellt konfigurierbare Speichersegmente zur Verfügung, die die Hardwarekonfiguration abbilden und sie für Anwendungen bereitstellen.

BMBF-Projekt

HighPerMeshes

Die Lösung partieller Differentialgleichungen mit Computerhilfe wird in vielen Bereichen der Wissenschaft eingesetzt, um das Verhalten komplexer Systeme vorherzusagen Ein Beispiel ist die Vorhersage von Verschleißerscheinungen im menschlichen Kniegelenk, wo Knochen, Muskeln und Bänder miteinander interagieren. Beim Projekt HighPerMeshes, das vom Paderborn Center for Parallel Computing der Uni Paderborn geleitet wird, entwickeln wir gemeinsam Simulationsmethoden und die entsprechende Software, um solche Prozesse zu untersuchen. Wir bringen unsere Expertise in der Entwicklung und Anwendung neuer Softwaretools wie GPI-2 ein.

Abgeschlossene Projekte

EPiGRAM – Programmiermodelle für Exascale Systeme

Das 2016 abgeschlossene EPiGRAM Projekt beschäftigte sich mit Programmiermodellen für Exascale Systeme. Der erste  Exascale Rechner wird wahrscheinlich in den nächsten zehn Jahren gebaut werden. Während sich die genauen Systemarchitekturen noch weiterentwickeln, kann man davon ausgehen, dass sie weitgehend auf multicore CPUs mit hierarchischem Speicher basieren, die von Beschleunigern unterstützt werden.

Programmiermodelle sind erforderlich, um Anwendungen auf diesen Plattformen effizient ablaufen zu lassen. Das Message Passing Interface (MPI) hat sich als De-facto-Standard für die parallele Programmierung auf aktuellen Petascale-Maschinen erwiesen. Partitionierte Global Address Space (PGAS) Sprachen und Bibliotheken werden zunehmend als Alternativen oder Ergänzungen zum MPI betrachtet. Diese Modelle werden auch in Exascale-Systemen eine wichtige Rolle spielen. Im EPiGRAM Projekt haben wir einige der Beschränkungen von MPI- und PGAS-Programmiermodellen studiert.

Das GASPI-Programmiermodell mit seiner GPI-Implementierung, die von Fraunhofer ITWM entwickelt und gepflegt wird, ist der EPiGRAM PGAS Vertreter. Im Rahmen von EPiGRAM haben wir  Lücken geschlossen, die für Exascale Rechner entscheidend sind , und GASPI und GPI-2 kompletter und robuster gemacht. Innerhalb des EPiGRAM wurde gezeigt, daß die  RTM-Applikation bis zu 60k-Cores am SuperMUC Supercomputer nahezu linear skaliert.

EXA2CT – Schaffung von Exascale-Codes

Das 2016 abgeschlossene EXA2CT-Projekt vereinte Experten an der Spitze der Entwicklung von Lösern, verwandten algorithmischen Techniken und HPC-Softwarearchitekten für Programmiermodelle und Kommunikation.

Im Rahmen des Projektes wurden modulare Open-Source-Proto-Anwendungen produziert, die die im Projekt entwickelten Algorithmen und Programmierungstechniken demonstrieren, um die Schaffung von echten Exascale-Codes zu unterstützen. Technologien, die in EXA2CT entwickelt wurden, sind beispielsweise fortgeschrittene Bibliotheken wie ExaShark und GASPI / GPI, die dazu beitragen, massiv parallele Maschinen zu programmieren, um Algorithmen zu verbessern, die durch eine bessere überlappende Kommunikation und Berechnung und durch Erhöhung der arithmetischen Intensität verbessert werden. All dies wurde auf branchenrelevanten Prototypen verifiziert.

Tom van der Aa (ExaScience Lifelab am imec in Belgien) erklärt, dass im Projekt gezeigt werden konnte, dass das Programmier-API GPI-2 von Fraunhofer ITWM das MPI übertrifft.

Mehr Informationen zum Projekt auf der EXA2CT Website