Optimierung des Datenmanagements und des Kontrollflusses von Rechenknoten für Supercomputing (ScalNEXT); Teilprojekt KIT
Schlussbericht
Date
Authors
Editor
Advisor
Volume
Issue
Journal
Series Titel
Book Title
Publisher
Supplementary Material
Other Versions
Link to publishers' Version
Abstract
Das Verbundprojekt ScalNEXT - Optimierung des Datenmanagements und des Kontrollflusses von Rechenknoten für Supercomputing - hat sich zum Ziel gesetzt, den Einsatz von Smart Networks im HPC-Bereich zu erforschen. Smart Networks sind rekonfigurierbar und programmierbar und ermöglichen so, Aufgaben in das Netzwerk zu verlagern. Das Verbundprojekt ScalNEXT hat sich zum Ziel gesetzt, die Möglichkeiten systematisch zu erforschen und nutzbar zu machen. Die zentralen Fragestellungen befassten sich mit der Auslagerung der Kernfunktionalitäten des Datenmanagements und des Kontrollflusses von Knoten weg in das Netzwerk (auf Smart NICs und Smart Switches) für drei Anwendungsbereiche Modellierung und Simulation (ModSim), Datenanalyse und I/O (HPDA) und Maschinelles Lernen (ML/KI). Im HPC-Bereich sind traditionelle Modellierungs- und Simulationsanwendungen üblicherweise iterativ aufgebaut und über Datenparallelismus auf mehrere Rechenknoten aufgeteilt. Dabei übernehmen die Rechenknoten selbst die Verteilung der Daten und zeichnen sich auch für die Initiierung der notwendigen Kommunikation, typischerweise mittels MPI, verantwortlich. Das bedeutet, die Knoten müssen Rechenzeit investieren, die nicht für die eigentlichen Berechnungen verwendet werden kann. Programmierbare Switches und NICs bieten die Möglichkeit, die für die Berechnung der Datenverteilung und die Koordination der dafür benötigten Kommunikation notwendige Intelligenz von den Knoten auf den Switch auszulagern. Dazu muss eine Verteilungsintelligenz auf einem SmartNIC bzw. einem SmartSwitch und eine Kommunikationsschnittstelle zwischen SmartNIC bzw. SmartSwitch und Rechnerknoten entwickelt werden. Die Verteilungsintelligenz übernimmt hierbei die Aufteilung des Indexraums der Daten auf die Knoten. Die effiziente Aufteilung der Berechnungstasks innerhalb der Knoten erfolgt mittels eines Laufzeitsystems. Dieses Laufzeitsystem überwacht zusätzlich das Ausführungsverhalten auf den jeweiligen Knoten, wodurch dem Switch bei iterativen Anwendungen ein Feedback zur Verteilung und eine Möglichkeit zur Optimierung gegeben wird. So ist es auch möglich, durch eine Neuverteilung dynamisch auf Veränderungen in den Rechenknoten zu reagieren. Die Umstrukturierung wird beispielhaft an einem typischen HPC-Code (LULESH) durchgeführt und dokumentiert.
Der Arbeitsschwerpunkt des KIT im Verbundprojekt ScalNEXT lag darauf, diese Aufgaben für traditionelle Modellierungs- und Simulationsanwendungen in ein Laufzeitsystem zu integrieren. Ausgangspunkt ist das am KIT entwickelte Laufzeitsystem HALadapt, das es erlaubt das Laufzeitverhalten von Anwendungen zu beobachten und zu analysieren, und auf der Grundlage dieser Informationen eine effiziente Ausführung auf heterogenen Ressourcen zu erreichen. Die wesentliche Erweiterung besteht in der oben beschriebenen Einbindung der Netzwerk Ressourcen in den dynamischen Entscheidungsprozess.
