Modular Techniques and Interfaces for Data Race Detection in Multi-Paradigm Parallel Programming
Seiten
2021
epubli (Verlag)
978-3-7541-5324-6 (ISBN)
epubli (Verlag)
978-3-7541-5324-6 (ISBN)
- Titel leider nicht mehr lieferbar
- Artikel merken
Diese Arbeit präsentiert einen Analyseworkflow, mit dem Speicherzugriffsanomalien wie Dataraces in hybrid parallelen Anwendungen (MPI+OpenMP) gefunden werden können.
Die Rechenkerne eines Sockels beziehungsweise eines Rechenknotens können auf gemeinsamen, geteilten Speicher zugreifen. Wärend MPI auch zum parallelen Programmieren auf geteiltem Speicher eingesetzt wird, kann explizite Nutzung von geteiltem Speicher, wie etwa mit OpenMP, die Skalierbarkeit einer Anwendung verbessern. Die kombinierte Nutzung von MPI und OpenMP ist daher im Hochleistungsrechnen regelmäßig anzutreffen.
Speicherzugriffsanomalien wie Dataraces gehören zu der größten Herausforderung im parallelen Programmieren. An Techniken zur Erkennung von Dataraces wird seit Jahrzehnten gearbeitet; sowohl statische wie dynamische Werkzeuge wurden entwickelt. In dieser Arbeit geht es nicht darum, komplett neue Analyseverfahren zu entwickeln, sondern existierende Analyseverfahren, welche überwiegend auf niedriger Abstraktionebene arbeiten, für die hohe Abstraktionsebene der parallelen Programmiersprachen verfügbar zu machen. Dazu entwickelt und präsentiert diese Arbeit einen Analyseworkflow, mit dem Speicherzugriffsanomalien in hybrid parallelen Anwendungen gefunden werden können.
Als Grundlage trägt diese Arbeit parallele Varianten von Speicherzugriffsanomalien zusammen, wie sie aus dem sequenziellen Programmieren bekannt sind, identifiziert aber die spezifischen Fehlermuster für Programmieren mit verteiltem und gemeinsamem Speicher. Die Arbeit identifiziert weiterhin die Synchronisierungs-, Nebenläufigkeits- und Speicherzugriffssemantiken, die von den Standards der höheren parallelen Programmierparadigmen explizit und implizit vorgegeben sind, um diese auf die Analyse abzubilden. Als besondere Herausforderung bei der Abbildung von hoher Sprachabstraktion auf niedrige Analyseabstraktion erweist sich die Abbildung der Nebenläufigkeit. Diese Arbeit erweitert die Analyse auf Basis von Vektoruhren um die Möglichkeit Nebenläufigkeit innerhalb einer Ausführeinheit abzubilden.
Die Rechenkerne eines Sockels beziehungsweise eines Rechenknotens können auf gemeinsamen, geteilten Speicher zugreifen. Wärend MPI auch zum parallelen Programmieren auf geteiltem Speicher eingesetzt wird, kann explizite Nutzung von geteiltem Speicher, wie etwa mit OpenMP, die Skalierbarkeit einer Anwendung verbessern. Die kombinierte Nutzung von MPI und OpenMP ist daher im Hochleistungsrechnen regelmäßig anzutreffen.
Speicherzugriffsanomalien wie Dataraces gehören zu der größten Herausforderung im parallelen Programmieren. An Techniken zur Erkennung von Dataraces wird seit Jahrzehnten gearbeitet; sowohl statische wie dynamische Werkzeuge wurden entwickelt. In dieser Arbeit geht es nicht darum, komplett neue Analyseverfahren zu entwickeln, sondern existierende Analyseverfahren, welche überwiegend auf niedriger Abstraktionebene arbeiten, für die hohe Abstraktionsebene der parallelen Programmiersprachen verfügbar zu machen. Dazu entwickelt und präsentiert diese Arbeit einen Analyseworkflow, mit dem Speicherzugriffsanomalien in hybrid parallelen Anwendungen gefunden werden können.
Als Grundlage trägt diese Arbeit parallele Varianten von Speicherzugriffsanomalien zusammen, wie sie aus dem sequenziellen Programmieren bekannt sind, identifiziert aber die spezifischen Fehlermuster für Programmieren mit verteiltem und gemeinsamem Speicher. Die Arbeit identifiziert weiterhin die Synchronisierungs-, Nebenläufigkeits- und Speicherzugriffssemantiken, die von den Standards der höheren parallelen Programmierparadigmen explizit und implizit vorgegeben sind, um diese auf die Analyse abzubilden. Als besondere Herausforderung bei der Abbildung von hoher Sprachabstraktion auf niedrige Analyseabstraktion erweist sich die Abbildung der Nebenläufigkeit. Diese Arbeit erweitert die Analyse auf Basis von Vektoruhren um die Möglichkeit Nebenläufigkeit innerhalb einer Ausführeinheit abzubilden.
Herr Protze wurde 2021 an der RWTH Aachen University promoviert. Er ist leitender Entwickler der dynamischen Korrektheitsanalysewerkzeuge MUST und Archer zur automatischen Erkennung von Programmierfehlern in parallelen MPI + OpenMP Programmen. Er ist Leiter der Arbeitsgruppe für Softwarewerkzeuge im OpenMP Sprachkomitee.
| Erscheinungsdatum | 30.11.2022 |
|---|---|
| Sprache | englisch |
| Maße | 148 x 210 mm |
| Gewicht | 461 g |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Schlagworte | Debugging • Hochleistungsrechnen • HPC • Korrektheitsanalyse • message passing interface • OpenMP • Parallelprogrammierung |
| ISBN-10 | 3-7541-5324-2 / 3754153242 |
| ISBN-13 | 978-3-7541-5324-6 / 9783754153246 |
| Zustand | Neuware |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Mehr entdecken
aus dem Bereich
aus dem Bereich
Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen …
Buch (2023)
Hanser (Verlag)
CHF 125,95