Neue Publikation: H2M – Exploiting Heterogeneous Shared Memory Architectures

07.06.2023

Auszeichnung Editor's Choice Paper

Im DFG-geförderten Projekt "Heuristics for Heterogeneous Memory" (H2M) entwickeln die RWTH Aachen University und der französische Projektpartner Inria gemeinsam eine Unterstützung neuer Speichertechnologien wie z.B. High Bandwidth Memory (HBM) und Non Volatile Memory (NVRAM). Diese Technologien werden zunehmend neben dem herkömmlichen Dynamic Random Access Memory (DRAM) in HPC-Systemen eingesetzt. HBM bietet eine höhere Bandbreite, aber eine geringere Größe als DRAM. NVM bietet größere Kapazitäten, ist jedoch langsamer als DRAM. Angesichts dieser Unterschiede stellt sich die Frage, wie Systeme mit heterogenem Speicher effizient genutzt werden können und wo Daten gespeichert werden sollten.

Derzeit erfordert die Verwendung neuer Speichertechnologien erhebliche Modifikationen der Anwendungen und den Einsatz plattform- oder herstellerspezifischer Application Programming Interfaces (APIs). Das Ziel von H2M ist es, portable Schnittstellen bereitzustellen, um verfügbaren Speicher zu identifizieren und den Zugriff darauf zu ermöglichen. Auf dieser Grundlage werden Allokationsabstraktionen und Heuristiken entwickelt, um Anwendungsentwickler*innen und Laufzeitsystemen die Kontrolle darüber zu geben, wo Daten gespeichert und wann Daten zwischen verschiedenen Arten von Speichern verschoben werden sollen.

Die sonst üblichen Memory Allokationsfunktionen wie malloc (in C) und new (in C++) werden dabei durch eine neue Allokationsfunktion (h2m_alloc_w_traits) abstrahiert. Anwendungsentwickler*innen können dieser Allokation zusätzliche Eigenschaften (Traits) übergeben, die beispielsweise beschreiben, wie die Daten verwendet, darauf zugegriffen werden soll oder welche Anforderungen die Allokation erfüllen muss.

Das H2M-Laufzeitsystem kann dann mithilfe von Strategien, die sowohl Traits als auch die im System verfügbaren Speichertypen berücksichtigen, den geeigneten Speicher zur Ablage der Daten bestimmen. Das neue Konzept wird mit diversen Proxy Applikationen, sogenannten Mini-Apps, und Benchmarks auf unterschiedlichen Architekturen evaluiert. Dabei wird auch untersucht, ob eine dynamische Verschiebung von Daten zwischen Speichertypen zu Effizienzsteigerungen führen kann, insbesondere in Szenarien, in denen Datenobjekte in verschiedenen Ausführungsphasen unterschiedlich verwendet werden oder Zugriffsmuster auf Daten sich stark ändern.

Die vollständige Publikation finden Sie bei ScienceDirekt.

Weitere Informationen finden Sie auf der Projektwebseite (en).

Foto einer Nahaufnahme von Computerteilen und Speicher Urheberrecht: © Freepik