Abstract
The Message Passing Interface (MPI) specifies a one-sided interface for Remote Memory Access (RMA), which allows one process to specify all communication parameters for both the sending and receiving side by providing support for asynchronous reads and updates of distributed shared data. While MPI RMA communication can be highly efficient, proper synchronization of possibly conflicting accesses to shared data is a challenging task. This paper presents a novel debugging tool that supports developers in finding latent synchronization errors. It dynamically intercepts RMA calls and reschedules them into pessimistic executions which are valid in terms of the MPI-3 standard. Given an application with a latent synchronization error, we force a manifestation of this error which can easily be detected with the help of program invariants. An experimental evaluation shows that the tool can uncover synchronization errors which would otherwise likely go unnoticed for a wide range of scenarios.
Dokumententyp: | Buchbeitrag |
---|---|
Fakultät: | Mathematik, Informatik und Statistik > Informatik |
Themengebiete: | 000 Informatik, Informationswissenschaft, allgemeine Werke > 004 Informatik |
ISBN: | 978-3-319-43658-6; 978-3-319-43659-3 |
Ort: | Cham |
Sprache: | Englisch |
Dokumenten ID: | 47466 |
Datum der Veröffentlichung auf Open Access LMU: | 27. Apr. 2018, 08:13 |
Letzte Änderungen: | 13. Aug. 2024, 12:55 |