CORDIS - Forschungsergebnisse der EU
CORDIS

An Exascale Programming, Multi-objective Optimisation and Resilience Management Environment Based on Nested Recursive Parallelism

Article Category

Article available in the following languages:

Neue Werkzeugkette für den Bereich des Hochleistungsrechnens bietet optimale Kompromisse zwischen Leistung und Ressourceneffizienz

Das Projekt AllScale bietet Programmierern im Bereich des Hochleistungsrechnens eine Werkzeugkette zur Steigerung der Entwicklungsproduktivität, Portabilität und Laufzeiteffizienz von parallelen Anwendungen. Es wurden bereits erfolgreich Prototypen für Simulationen in den Bereichen Weltraumwetter, Umweltgefährdung und Strömungsdynamik eingesetzt.

Digitale Wirtschaft icon Digitale Wirtschaft

Der Markt für Hochleistungsrechner wächst stetig. In dieser neuen Ära der Datenverarbeitung geht es allerdings nicht nur um Hardware: Um den Erwartungen der Branche gerecht zu werden, muss das Potenzial von Hochleistungsrechnern zur parallelen Datenverarbeitung in eine neue Generation paralleler Anwendungen übertragen werden. Diese sollen dabei helfen, ein ausgewogenes Verhältnis zwischen erhöhter Leistung und geringerem Energieverbrauch zu schaffen. Keine leichte Aufgabe, besonders angesichts der Beobachtung, dass die letzten 5 oder 10 % der Leistungsverbesserungen, die Programmierer für ihre Anwendung benötigen, den Energieverbrauch um 30 % oder mehr erhöhen können. Die Optimierung des Hochleistungsrechnens dreht sich vor allem darum, Kompromisse zwischen diesen beiden Zielen zu finden. Das Projekt AllScale bietet die Lösung. Seine Werkzeugkette soll voraussichtlich die Entwicklungsproduktivität, Portabilität und Laufzeiteffizienz steigern und gleichzeitig die Ressourceneffizienz von moderat- bis hin zu massiv-parallelen Systemen verbessern. „Unsere Programmierumgebung basiert auf einem weit verbreiteten Standard (C++), der die Darstellung von Parallelität auf einem hohen Abstraktionsniveau ermöglicht. Anstatt verschiedene Programmierparadigmen zu bündeln – was praktisch zu Informations- und Leistungsverlust führt – nutzen wir rekursive Parallelität, um globale Synchronisation zu vermeiden.“ Dies ermöglicht eine extrem große Anzahl paralleler Aufgaben für Anwendungen, bei denen sämtliche massiv-parallelen Prozessorarchitekturen ausgelastet sein müssen“, erklärt Prof. Thomas Fahringer, Projektkoordinator im Auftrag der Universität Innsbruck. Die AllScale-Umgebung ist robust gegenüber Hardwarefehlern und das zugrunde liegende Laufzeitsystem kann auf mehrere Ziele ausgerichtet werden, einschließlich Laufzeit, Ressourceneffizienz und Energieverbrauch. Im Gegensatz zu herkömmlichen Ansätzen zur parallelen Programmierung, die eine Kombination vorhandener Programmierparadigmen wie MPI und OpenMP vorsehen, legt AllScale Wert auf eine Entwicklungsumgebung, die sich auf jegliches Maß erweitern lässt. Es bietet Programmierern eine einheitliche API, um Parallelität auf hohem Abstraktionsniveau mithilfe von C++-Standardvorlagen darzustellen. Eine weitere wesentliche Verbesserung besteht in der Verwendung verschachtelter rekursiver Parallelität zur Vermeidung globaler Kommunikation und Synchronisation, da letztere normalerweise zu schwerwiegenden Problemen bei der Skalierbarkeit von großen Hochleistungsrechensystemen führt. Obwohl die Anwendungs- und Selbstoptimierung paralleler Programme früher fast ausschließlich auf der Minimierung der Ausführungszeiten beruhte, konzentriert sich AllScale schließlich auf den Bedarf moderner Architekturen nach einer intelligenten Verwaltung des Energiehaushalts und -bedarfs. „AllScale bietet eine multiobjektive Planungs- und Optimierungskomponente, mit der die Ausführung so gesteuert werden kann, dass dynamische, benutzergesteuerte und konstruktive Kompromisse zwischen Laufzeit, Energieverbrauch und Ressourceneffizienz erzielt werden“, erläutert Prof. Fahringer. AllScale wurde ausgiebig getestet und bei Pilotprojekten in den Bereichen Weltraumwetter, Umweltgefährdung (z. B. die Ölpest im Golf von Mexiko) und Strömungsdynamik eingesetzt. Diese drei Anwendungen sind dafür bekannt, Hochleistungsrechensysteme sowohl hinsichtlich Rechenaufwand als auch Produktivität an ihre Grenzen zu bringen. „In der Weltraumwetter-Simulation erzielte AllScale auf Hochleistungsrechensystemen mit gemeinsamem und verteiltem Speicher sowie einer großen Anzahl von Kernen hervorragende Ergebnisse in Bezug auf die magnetische Dipolbildung der Erde“, so Prof. Fahringer. „Was die Strömungsdynamik betrifft, so konnten wir die serielle Ausführungszeit durch die Skalierbarkeit des gemeinsamen Speichers, wie bei einer MPI-Implementierung, erheblich verkürzen. Zur Anwendung im Bereich der Umweltgefährdung haben wir die Skalierbarkeit von AllScale schließlich für Systeme im Peta-Bereich demonstriert. Bei allen drei Anwendungen konnten wir den Lösungsprozess deutlich effizienter gestalten und so die Produktivität steigern.“ Auch wenn das Projekt nun abgeschlossen ist, soll der Einsatz der AllScale-Technologie in allen Pilotanwendungen fortgesetzt werden, um die Leistung weiter zu verbessern. Die Werkzeugkette von AllScale wurde unter einer quelloffenen Lizenz veröffentlicht und die Software wird nun von mehreren Gruppen im Rahmen neuer Projekte und Kooperationen in ganz Europa erweitert und verbessert.

Schlüsselbegriffe

AllScale, Hochleistungsrechnen, Software, Anwendungen, Effizienz, Parallelität, parallele Programmierung, Laufzeit, Weltraumwetter, Ölpest im Golf von Mexiko, Strömungsdynamik

Entdecken Sie Artikel in demselben Anwendungsbereich