CELERITY: advanCed modELing for scalablE distRIbuted runTime sYstems
Final Report Abstract
High Performance Computing (HPC) spielt eine grundlegende Rolle beim Erreichen wissenschaftlichen Fortschritts, da Verbesserungen in vielen Bereichen der Wissenschaft entscheidend von Fortschritten in der Computermodellierung und Rechenleistung abhängen. Die nächste große Hürde für die HPC-Community ist der Übergang von Peta- zu Exascale, der schwierige Forschungsherausforderungen mit sich bringt, wie z. B. Programmiermodelle für wissenschaftliche Produktivität, skalierbares Systemsoftwaredesign und Energieeffizienz. Wir haben die CELERITY Programmierumgebung vorgestellt. Sie ermöglich die effiziente Entwicklung von energie- und leistungs-effizienten, leicht zu programmierenden, und vorhersagbar skalierenden parallelen Anwendungen für homogene sowie heterogene HPC-Cluster. CELERITY beinhaltet eine High-Level Programmiersprache, die dem Programmierer Low-Level Aufgaben abnimmt wie zum Beispiel die Partitionierung und Distribution von Tasks, was besonders bei heterogenen verteilten Architekturen ins Gewicht fällt. Um hohe Performanz vom High-Level aus zu erreichen, kombiniert CELERITY neuartige statische Kernel-Analyse mit dynamischen Informationen entnommen aus dem verteilen Laufzeitsystem, wodurch Modellierung und Vorhersagen paralleler Skalierbarkeit sowie Energieverbrauch erreicht werden für eine gegebene zu modellierende Applikation. In diesem Rahmen stellten wir zwei Machine- Learning-basierte Modelle vor zur Vorhersage der Skalierbarkeit und Energieeffizienz, welche sowohl Single- als auch Multi-Task Applikationen unterstützen. Wir evaluierten unsere Arbeit auf zwei den Hochleistungs-Rechenclustern JSC und CINECA, in Jülich bzw. Italien. Die Projektarbeit wurde dabei ohne signifikante Abweichungen vom ursprünglichen Plan und ohne wissenschaftliche Fehlversuche durchgeführt. CELERITY hat zur Entwicklung des Khronos SYCL 2020 Industrie-Standards sowie zur generellen Verbreitung des offenen SYCL-Ecosystems beigetragen. Es wir von mehreren Forschungsgruppen und Industriepartnern verwendet, sowie auch im europäischen EuroHPC-Projekt LIGATE, welches eine Anwendung darstellt auf pharmazeutische Forschung zur Beschleunigung von Wirkstoffforschungs-Programmen, welche auch im Rahmen der COVID-Forschung zum Einsatz kamen.
Publications
-
OpenABL: A Domain-Specific Language for Parallel and Distributed Agent-Based Simulations. Euro-Par 2018: 505-518
Biagio Cosenza, Nikita Popov, Ben H. H. Juurlink, Paul Richmond, Mozhgan Kabiri Chimeh, Carmine Spagnuolo, Gennaro Cordasco, Vittorio Scarano
-
Celerity: High-Level C++ for Accelerator Clusters. Euro-Par 2019: 291-303
Peter Thoman, Philip Salzmann, Biagio Cosenza, Thomas Fahringer
-
Predictable GPUs Frequency Scaling for Energy and Performance. ICPP 2019: 52:1-52:10
Kaijie Fan, Biagio Cosenza, Ben H. H. Juurlink
-
Accurate Energy and Performance Prediction for Frequency-Scaled GPU Kernels. Computation 8(2): 37 (2020)
Kaijie Fan, Biagio Cosenza, Ben H. H. Juurlink
-
SYCL-Bench: A Versatile Cross-Platform Benchmark Suite for Heterogeneous Computing. Euro-Par 2020: 629-644
Sohan Lal, Aksel Alpay, Philip Salzmann, Biagio Cosenza, Alexander Hirsch, Nicolai Stawinoga, Peter Thoman, Thomas Fahringer, Vincent Heuveline
-
SYCL-Bench: A Versatile Single- Source Benchmark Suite for Heterogeneous Computing. IWOCL 2020: 10:1
Sohan Lal, Aksel Alpay, Philip Salzmann, Biagio Cosenza, Nicolai Stawinoga, Peter Thoman, Thomas Fahringer, Vincent Heuveline
-
Easy and efficient agent-based simulations with the OpenABL language and compiler. Future Gener. Comput. Syst. 116: 61-75 (2021)
Biagio Cosenza, Nikita Popov, Ben H. H. Juurlink, Paul Richmond, Mozhgan Kabiri Chimeh, Carmine Spagnuolo, Gennaro Cordasco, Vittorio Scarano