Detailseite
Fehlertoleranz und Ressourcen-Elastizität für globale Taskpools
Antragstellerin
Professorin Dr. Claudia Fohry
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2015 bis 2020
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 279378532
Zu den Herausforderungen der Parallelverarbeitung gehören die Steigerung der Produktivität der Programmierung sowie der Umgang mit Hardwarefehlern und veränderlichen Ressourcen.Aktuelle parallele Programmiersysteme setzen unter anderem auf das Modell das Partitioned Global Address Space (PGAS) sowie die Verwendung von Tasks. Unter Tasks versteht man parallel ausführbare Teilaufgaben, die zur Programmlaufzeit erzeugt, in einem Taskpool (TP) verwaltet und später an freie Rechenressourcen zugewiesen werden. Typische Tasks paralleler Programme können weitere Tasks erzeugen. Innerhalb eines Rechners erfolgt die Taskverwaltung oft automatisiert durch das Laufzeitsystem. Global kann sie im Anwendungsprogramm oder in einem Framework implementiert werden, wenn dies zur Lastenbalancierung für irreguläre Anwendungen erforderlich ist.Fehlertoleranz (FT) wird häufig auf Systemebene realisiert, anwendungsspezifische Techniken können jedoch effizienter sein. DieForschung dazu wurde bisher durch fehlendeSprachunterstützung behindert. Seit kurzem bietet die PGAS-Sprache X10 Ausnahmebehandlung für Hardwarefehler. Orthogonal dazu unterstützt X10 zwei weitere interessante Konzepte: ein Framework für globale TPs sowie Ressourcen-Elastizität (RE). Unter RE versteht man die Möglichkeit, in ein laufendes Programm neue Ressourcen zu integrieren bzw. vorhandene herauszulösen.Im Projekt wollen wir die drei neuen Möglichkeiten zusammenbringen, mit dem Ziel der Entwicklung globaler FT/RE-Taskpools. Dazu sind zunächst algorithmische Techniken für den Umgang mit angekündigten oder plötzlichen Änderungen der verfügbaren Ressourcen zu entwickeln. Diese sollen schrittweise von einfachen auf allgemeinere TP-Schemen erweitert werden.Programmierung und Experimente sind weitere zentrale Methoden des Projekts. Die Algorithmen sollen zunächst effizient in X10 und später, unter Berücksichtigung der Entwicklung im Sprachbereich, in einem weiteren Programmiersystem umgesetzt werden. Da sich die Systeme noch in der Entwicklung befinden, trägt das Projekt als Nebeneffekt zu ihrem Fortschritt bei. Im Ergebnis der Implementierung werden prototypische Frameworks entstehen, deren Quellcode wir veröffentlichen werden. Experimente zur Validierung und Effizienzbewertung werden neben einfachen Benchmarks auch Branch-and-Bound Verfahren der kombinatorischen Optimierung sowie ein Simulationsprogramm aus der Umweltsystemtechnik berücksichtigen.
DFG-Verfahren
Sachbeihilfen