DASH - Hierarchical Arrays for Efficient and Productive Data-Intensive Exascale Computing
Exascale-Systeme werden zwischen 2018 und 2020 verfügbar sein und neben extreme hoher Skalierbarkeit einen mehrstufigen hierarchischen Aufbau besitzen. Die effiziente und produktive Programmierung solcher Systeme wird ist eine große Herausforderung, vor allem im Zusammenhang mit daten-intensiven Anwendungen. Unter Verwendung der vielversprechenden Partitioned Global Address Space (PGAS) Programmierung wird das Projekt eine Datenstruktur-orientierte C++-Template-Bibliothek entwickeln, die hierarchische PGAS-Abstraktionen für wichtige Datencontainer wie mehrdimensionale Arrays, Listen, Hash-Tabellen bereitstellt. Sie wird Entwicklern insbesondere erlauben, verteilte Datenstrukturen an die Hierarchie-Ebenen anzupassen und ihr Layout zu kontrollieren.
Im Gegensatz zu anderen PGAS-Ansätzen wie UPC ist DASH nicht als neue Sprache oder Spracherweiterung konzipiert, die spezielle Compiler-Unterstützung benötigt, um die globale Adressraum-Semantik zu realisieren. Stattdessen nutzt sie Operator-Überladung und andere Möglichkeiten von C++, um die Semantik der verteilten hierarchischen Datenstruktur als Bibliothek anzubieten. Als darunterliegendes Kommunikationsmodell werden einseitige MPI-Operationen oder die GASNET-Bibliothek zum Einsatz kommen. Dabei wird DASH mit weit verbreiteten Parallelisierungsmodellen wie MPI koexistieren, so dass die DASH-Datenstrukturen schrittweise in bestehende Anwendungen eingefügt werden können. Daneben werden effiziente I/O-Lösungen zu/aus den hierarchischen Strukturen sowie DASH-optimierte Algorithmen wie map-reduce bereitgestellt. Als exemplarische Anwendungsfälle werden innerhalb des Projekts eine Molekulardynamik-Simulation und eine Anwendung der Geowissenschaften auf die DASH-Datenstrukturen portiert.
Partner
- SCC des KIT
- LMU München
- HLRS Stuttgart
- CEODE, Chinese Academy of Science Remote Sensing Driver Application Prof. Lizhe Wang, Dr. Yan Ma (assoziiert)
Projektwebseite
http://www.dash-project.org/
ZIH-Kontakt
Dr. Andreas Knüpfer
2. Förderphase
02/2016-01/2019
Förderung
DFG (Schwerpunktprogramm Software for Exascale Computing)