Power-Aware Critical Sections (PAX)

Third party funded individual grant


Acronym: PAX

Start date : 01.01.2015

End date : 30.09.2022


Project details

Short description


Scientific Abstract

Wettlaufsituationen gleichzeitiger Prozesse innerhalb eines Rechensystems können zu teils unerklärlichen Phänomenen oder gar fehlerhaftem Laufzeitverhalten führen. Ursache sind kritische Abschnitte in nichtsequentiellen Programmen. Den Lösungen zum Schutz kritischer Abschnitte steht im Allgemeinen ein mehrdimensionaler Problemraum gegenüber: (1) prozessorlokale asynchrone Programmunterbrechungen, (2) speichergekoppelte Systeme mehr-/vielkerniger Multiprozessoren mit (2a) kohärentem oder (2b) inkohärentem Zwischenspeicher, (3) nachrichtengekoppelte Systeme mit globalem Adressraum, (4) Interferenz mit der Prozessverwaltung im Betriebssystem. Dabei treffen die Schutzverfahren pessimistische oder optimistische Annahmen über das Auftreten von Zugriffskonflikten.Die Anzahl wettstreitiger Prozesse ist anwendungsfallabhängig und hat einen großen Einfluss auf die Effektivität ihrer Koordination auf allen Ebenen eines Rechensystems. Mehraufwand, Skalierbarkeit und Dediziertheit der Schutzfunktionen bilden dabei entscheidende leistungsbeeinflussende Faktoren. Diese Einflussgröße bedingt nicht nur variierende Prozesslaufzeiten, sondern auch verschiedene Energieverbräuche. Ersteres führt zu Rauschen (noise) oder Schwankung (jitter) im Programmablauf: nichtfunktionale Systemeigenschaften, die besonders problematisch für hochparallele oder echtzeitabhängige Prozesse sind. Demgegenüber hat letzteres einerseits wirtschaftliches Gewicht wie auch ökologische Auswirkungen und tangiert andererseits die Grenzen in der Skalierung vielkerniger Prozessoren (dark silicon).In Abhängigkeit von der strukturellen Komplexität eines kritischen Abschnitts und seiner Wettstreitanfälligkeit zeichnet sich ein Zielkonflikt ab, dem durch analytische und konstruktive Maßnahmen im Vorhaben begegnet werden soll. Untersuchungsgegenstände sind eigene Spezialbetriebssysteme, die in erster Linie zur Unterstützung der parallelen und teils auch echtzeitabhängigen Datenverarbeitung ausgelegt sind, und Linux. Ziel ist die Bereitstellung (a) einer Softwareinfrastruktur zur lastabhängigen, von den Programmabschnitten selbst organisierten änderung des Schutzes vor kritischen Wettläufen gleichzeitiger Prozesse sowie (b) von Werkzeugen zur Aufbereitung, Charakterisierung und Erfassung solcher Abschnitte. Durch erhöhte Prozessaktivität bedingte und sich in Energieverbrauchs- und Temperaturanstiege manifestierende Heißpunkte (hotspots) sollen durch eine abschnittsspezifische Auswahlstrategie auf Abruf oder vorausschauend vermieden oder abgeschwächt werden können. In der zu treffenden Abwägung zur dynamischen Rekonfigurierung eines kritischen Abschnitts fließt der durch die jeweilige Auswahlstrategie verursachte Mehraufwand mit ein, um eine änderung nur dann vorzusehen, wenn auch wirklich praktischer Gewinn gegenüber der ursprünglichen Lösung zu erwarten ist. Vorher-nachher-Vergleiche an den untersuchten Betriebssystemen sollen die Effektivität des entwickelten Ansatzes aufzeigen.

Involved:

Contributing FAU Organisations:

Funding Source

Research Areas