Chameleon: Eine Taskbasierte Programmierumgebung zur Entwicklung reaktiver HPC Anwendungen

Der technische Aufbau von High Performance Computing (HPC) Systemen wird zunehmend komplexer. Dem Aspekt der immer größer werdenden dynamischen Variabilität widmet sich das Projekt Chameleon. Die heute verbreiteten Programmieransätze sind oft nur schlecht für hochvariable Systeme geeignet und können in Zukunft möglicherweise nur einen Teil der wahren Leistungsfähigkeit moderner Systeme nutzen.

Chameleon entwickelt eine taskbasiertes Programmierumgebung die besser auf Systeme mit dynamischer Variabilität vorbereitet ist als heute weit verbreitet bulk-synchronous Programmiermodelle.

Die dynamischen Leistungsdaten, die zur effizienten Ausführung von Tasks nötig sind, werden bei Chameleon von einer Überwachungs- bzw. Introspektionskomponente bereitgestellt. Hier werden, weitgehend ohne negative Beeinflussung der Zielanwendung, Leistungskennzahlen ermittelt und der Anwendung selbst, bzw. dem Ausführungssystem von Chameleon, zur Verfügung gestellt. Beispielsweise kann die Rechenlast oder die elektrische Leistungsaufnahme der Komponenten des Rechensystems überwacht und den anderen Teilen von Chameleon zur Verfügung gestellt werden.

Die Fähigkeit von Chameleon auf dynamische Variabilität reagieren zu können soll anhand von zwei Anwendungen erprobt werden. SeiSol simuliert komplexe Erdbebenszenarien und die daraus folgende Ausbreitung seismischer Wellen. Die knotenlokale Parallelisierung basiert hier auf einer eigens implementierten Taskqueue, die Vorrangrelationen zwischen den Tasks berücksichtigt. Durch eine reaktive Task-basierte Implementierung soll durch Chameleon diese Taskqueue vereinfacht und die Skalierung verbessert werden. sam(oa)² ermöglicht Finite-Volumen- und Finite-Elemente Simulationen auf dynamisch adaptiven Dreiecksgittern. Es implementiert Lastbalancierung mit Hilfe raumfüllender Kurven und kann unter anderem für die Simulation von Tsunami Ereignissen verwendet werden. Im Rahmen von Chameleon soll eine dynamische Ausführung von Tasks auf entfernten MPI-Prozessen ermöglicht werden und eine reaktive Infrastruktur für allgemeine 1D-Lastverteilungsprobleme entwickelt werden.

BMBF Logo Chameleon wird als Projekt auf dem Gebiet “Grundlagenorientierte Forschung für HPC-Software im Hoch- und Höchstleistungsrechnen” im Rahmen des Förderprogramms “IKT 2020 – Forschung für Innovationen” vom Bundesministerium für Bildung und Forschung (BMBF) gefördert.