Offline- und Online-Autotuning von Parallelen Programmen

Projekt: Forschungsförderung

Projektdetails

Abstract

Viele wissenschaftliche Anwendungen, z.B. Klima- oder Erdbebensimulationen, werden auf großen Parallelrechnern ausgeführt, um die Rechenzeit zu verkürzen. Diese Parallelrechner bestehen aus hunderten oder tausenden von Rechnerknoten, wobei jeder dieser Knoten einem normalen Desktop-Computer ähnlich ist. Die meisten dieser parallelen Anwendungen verwenden das Message Passing Interface (MPI) als Schnittstelle für die notwendige Datenkommunikation über das Netzwerk. Aus diesem Grund ist die Laufzeit von Anwendungen stark von der Güte der jeweiligen MPI-Bibliothek abhängig. Deshalb ist es wichtig, die bestmögliche MPI-Bibliothek für einen Rechner zur Verfügung zu stellen. In den letzten zwei Jahrzehnten wurden viele effiziente Algorithmen für MPI entwickelt, welche auch in den entsprechenden MPI-Bibliotheken zu finden sind. Das Problem ist jedoch, dass nicht jeder Algorithmus für jedes Problem geeignet ist. Aus diesem Grund muss man eine MPI-Bibliothek an ein System anpassen. Der Prozess der Optimierung soll natürlich möglichst automatisiert erfolgen. Aus diesem Grund hat unser Projekt das Ziel, die Parameter von MPI-Bibliotheken so zu optimieren, dass für jede Anwendung und Maschine effiziente Einstellungen gesetzt werden können. Das Problem hierbei ist, dass MPI-Bibliotheken mehrere hundert Parameter besitzen, welche diverse Systemeigenschaften und die Algorithmenauswahl steuern. Der Suchraum ist damit viel zu groß, um alle Parameterkombinationen mit vertretbarem Aufwand auszuprobieren. Statistische Methoden können uns helfen, die Anzahl der wichtigen Parameter zu verkleinern. Um die Auswahl der intern verwendeten Algorithmen zu optimieren, werden zusätzlich moderne Verfahren des maschinellen Lernens eingesetzt. Als Gesamtprodukt erhält man dann eine Software, die sich automatisiert an einen Parallelrechner anpasst.
StatusLaufend
Tatsächlicher Beginn/ -es Ende1/07/2128/02/25

Projektbeteiligte