Bitte nicht stören: Leistungsanalyse auf Supercomputern

Deutsche und russische Forschende verbessern gemeinsam das Tuning von Supercomputeranwendungen

2021/03/03 by

Um die Effizienz von Programmen auf Supercomputern besser zu verstehen, setzen Wissenschaftlerinnen und Wissenschaftler auf Leistungsmessungen. Diese spiegeln jedoch auch zufällige Verzögerungen wider, zum Beispiel verursacht durch andere, gleichzeitig laufende Programme. Die Leistungsfähigkeit des eigentlichen Algorithmus ist so nur schwer zu bewerten. In einem deutsch-russischen Kooperationsprojekt, koordiniert von Informatikprofessor Felix Wolf an der TU Darmstadt, arbeiten Partner aus Darmstadt, Jülich und Moskau an weniger empfindlichen Analysemethoden.

Der Lichtenberg-Rechner an der Technischen Universität Darmstadt

Das Projekt ExtraNoise – Performance analysis of HPC applications in noisy environments wird finanziert von der Deutschen Forschungsgemeinschaft (DFG) und dem Russischen Fonds für Grundlagenforschung (RFBR). Es hat eine Laufzeit von drei Jahren und wird von der TU Darmstadt koordiniert.

Schlüsseltechnologie des 21. Jahrhunderts

Supercomputer sind eine Schlüsseltechnologie des 21. Jahrhunderts. Zahlreiche Anwendungsbeispiele, vom vertieften Verständnis der Materie bis zur Entdeckung neuer Materialien oder vom Studium biologischer Prozesse bis hin zu künstlicher Intelligenz, zeigen das enorme Potenzial. Jedoch ist die effiziente Nutzung solcher Systeme nach wie vor schwierig und wird, je größer und komplexer sie werden, zunehmend schwieriger. Andererseits ist das Einsparungspotenzial an Zeit und Energie, welches sich durch Tuning der Programme erreichen lässt, gewaltig.

Leistungsmessungen auf „verrauschten“ Systeme – teuer und alles andere als trivial

Der Schlüssel zum Verständnis, und damit letztendlich zur Verbesserung der Effizienz von Programmen, ist die Leistungsmessung. Leider führt ein hohes Maß an Interferenz, dem die Programme ausgesetzt sind, zu signifikanten Laufzeitvariationen. Die Interferenz wird verursacht u.a. durch andere, auf demselben System gleichzeitig laufende Anwendungen, wahrgenommen als eine Art Hintergrundrauschen. Das macht es schwierig, Leistungsmessungen zu reproduzieren – mit drastischen Konsequenzen für die Leistungsanalyse und -modellierung. Auf solchen „verrauschten“ Systemen bedürfen Leistungsmessungen mehrerer Wiederholungen, schließlich werden mithilfe statistischer Methoden Trends abgeleitet. Das ist erstens teuer und zweitens alles andere als trivial, da das Rauschen oft höchst unregelmäßigen Mustern folgt.

Leistungsanalyse weniger empfindlich für Laufzeitvariationen machen

Im Projekt ExtraNoise arbeitet Felix Wolf gemeinsam mit Dr. Bernd Mohr vom Jülich Supercomputing Centre und Dres. Dmitry Nikitenko und Konstantin Stefanov von der Lomonossow-Universität Moskau an Lösungen für dieses Problem. Als assoziierter Partner ist Informatikprofessor Torsten Hoefler von der ETH Zürich beteiligt. Ziel der Projektpartner ist es, die Leistungsanalyse von Programmen auf Supercomputern weniger empfindlich für die Laufzeitvariationen zu machen. Zusätzlich erhoffen sie sich insgesamt ein besseres Verständnis davon, wie Programme auf Interferenz reagieren und wie sich deren aktives und passives Interferenzpotenzial durch kluge Designentscheidungen beeinflussen lässt.