Während in modernen Rechensystemen angesichts von Multicore- und beschleunigten Systemen die Rechenleistung stetig steigt, fällt die Leistung der Speichersysteme im Vergleich dazu zurück. Im Kontext des Hochleistungsrechnen / High-Performance Computing (HPC) kann dies durch die Kombination von traditionellem Hauptspeicher mit einem kleinen Anteil an Speicher mit hoher Bandbreite teilweise ausgeglichen werden. Ebenso ist in Systemen mit Beschleunigern, die Heterogenität durch verschiedene Arten von Speichern bereits sichtbar machen. Derzeit müssen Anwendungen zur Nutzung dieser neuen Speichertechnologien allerdings stark modifiziert werden und herstellerspezifische Programmierschnittstellen (APIs) verwenden, um heterogenen Speicher auszunutzen.
Somit besteht ein Bedarf an der Entwicklung einer portablen, herstellerneutralen Sicht auf heterogene Speicher, um einen produktiven Einsatz in wissenschaftlichen und technischen Anwendungen zu ermöglichen.
Zu diesem Zweck haben I12 / IT Center, gemeinsam mit dem französischem INRIA Centre de Recherche Inria Bordeaux – Sud-Ouest, einen Forschungsantrag gestellt. In dem von der Deutschen Forschungsgemeinschaft (DFG) und der französischen Förderagentur Agence Nationale de la Recherche (ANR) über drei Jahre geförderten Projekt „Heuristics for Heterogeneous Memory“ (H2M) entwickeln die RWTH Aachen und der französische Projektpartner gemeinsam eine Unterstützung neuer Speichertechnologien wie z.B. High Bandwidth Memory (HBM) und Non-Volatile Random-Access Memory (NVRAM). Diese Technologien kommen neben dem üblichen Dynamic Random Access Memory (DRAM) immer häufiger in HPC-Systemen als zusätzliche Speicher zum Einsatz.
H2M verfolgt das Ziel portable Schnittstellen bereitzustellen, um verfügbare Speicher sowie deren Eigenschaften zu identifizieren und den Zugriff zu ermöglichen. Darauf basierend sollen Abstraktionen und Heuristiken entwickelt werden, um Anwendungsentwicklern sowie Laufzeitsystemen eine Kontrolle zu geben, in welchem Speicher Daten abgelegt werden sollen und wann Daten zwischen unterschiedlichen Arten von Speichern verschoben werden sollen.
Im Moment ist allerdings noch unklar, wie diese Abstraktionen und Heuristiken aussehen sollen, und es müssen mehrere grundlegende Fragen beantwortet werden. Aber das Projekt hat ja auch gerade erst angefangen – Kickoff war Ende Januar 2021.
Die Forschungsergebnisse von H2M werden einen konkreten Entwicklungsfahrplan für parallele Programmiersysteme definieren. Basierend auf der Leistungsforschung werden am Ende des Projekts konkrete Vorschläge entwickelt, die als Grundlage für Empfehlungen an Standardisierungsgremien dienen.
Weitere Informationen zum Projekt findet ihr auf der Projektwebseite sowie auf der Seite der Agence Nationale de la Recherche.
Verantwortlich für die Inhalte dieses Beitrags ist Christian Terboven.