Publikation

Modeling synchronization and consistency for data race detection in remote memory access programs

Schwitanski, Simon; Müller, Matthias S. (Thesis advisor); Schulz, Martin (Thesis advisor)

Aachen : RWTH Aachen University (2025)
Doktorarbeit

Dissertation, RWTH Aachen University, 2025

Kurzfassung

Der stetig wachsende Parallelismus in heutigen Supercomputern erfordert skalierbare, parallele Programmiermethoden mit effizienten Kommunikationsmodellen. Das traditionelle Kommunikationsmodell im wissenschaftlichen Rechnen ist der Nachrichtenaustausch: Sowohl der sendende als auch der empfangende Prozess ist aktiv am Datenaustausch über Nachrichten beteiligt. Remote-Memory-Access-Modelle (RMA) stellen eine alternative Kommunikationsmethode bereit, in der Prozesse direkt auf den Speicher von anderen Prozessen zugreifen. RMA-Modelle vermeiden unnötige Synchronisation zwischen Prozessen und erzielen in modernen Supercomputern eine bessere Leistung als der klassische Nachrichtenaustausch. Sie erfordern jedoch, dass der Nutzer explizit Synchronisation und Konsistenz der Speicherzugriffe durch entsprechende API-Aufrufe sicherstellt. Andernfalls führen gleichzeitige, im Konflikt stehende Speicherzugriffe zu Data Races mit undefiniertem Verhalten. Der Nichtdeterminismus von Data Races, bekannt von Shared-Memory-Programmierung, macht ihre manuelle Erkennung komplex. Diese Arbeit untersucht Data Races in RMA-Programmen und präsentiert neue skalierbare Methoden, um diese zur Laufzeit zu erkennen. Eine Klassifikation von Data Races in den RMA-Modellen MPI RMA, OpenSHMEM und GASPI zeigt, dass Synchronisation und Konsistenz die wesentlichen Eigenschaften zur Data-Race-Erkennung in RMA sind, die ein Korrektheitsanalysewerkzeug untersuchen muss. Diese Arbeit definiert formale Modelle, die die Analyse von beiden Eigenschaften in RMA-Programmen ermöglichen. Das Synchronisationsmodell analysiert die Happened-Before-Relation von Ereignissen mithilfe eines Vektoruhraustauschs. Dieser zeichnet den Synchronisationszustand von Prozessen zur Laufzeit auf. Das Konsistenzmodell formalisiert eine Relation, die definiert, wann ein RMA-Zugriff garantiert abgeschlossen ist. Beide Modelle werden in einem generalisierten Modell zur Laufzeiterkennung von Data Races in RMA-Programmen, unabhängig vom konkret genutzten RMA-Modell, kombiniert. Das entwickelte Modell zur Erkennung von Data Races ist im Werkzeug RMASanitizer implementiert. Es kombiniert ThreadSanitizer, ein Werkzeug zur Erkennung von Data Races in Shared-Memory-Programmen, mit dem Korrektheitsanalysewerkzeug MUST, um Data Races in MPI RMA, OpenSHMEM und GASPI zur Laufzeit zu erkennen. Zur Evaluation wird RMARaceBench entwickelt, ein Benchmark zur Analyse der Klassifikationsqualität, der die Erkennungsgenauigkeit von Werkzeugen zur Race-Erkennung in RMA quantifiziert. Die Evaluation mit RMARaceBench zeigt, dass RMASanitizer die höchste Erkennungsgenauigkeit verglichen mit anderen Werkzeugen hat. Eine Overheaduntersuchung mit RMA-Proxy-Applikationen, die mit mehr als 700 Prozessen ausgeführt werden, zeigt, dass RMASanitizer in hochskalierenden Anwendungen nutzbar ist.

Einrichtungen

  • IT Center [022000]
  • Fakultät für Mathematik, Informatik und Naturwissenschaften [100000]
  • Fachgruppe Informatik [120000]
  • Lehrstuhl für Hochleistungsrechnen (Informatik 12) [123010]