Logo Logo
Switch Language to German
Kowalewski, Roger; Fürlinger, Karl (2016): Nasty-MPI: Debugging Synchronization Errors in MPI-3 One-Sided Applications. In: Euro-Par 2016: Parallel Processing. 22nd International Conference on Parallel and Distributed Computing, Grenoble, France, August 24-26, 2016, Proceedings. Theoretical Computer Science and General Issues, Vol. 9833. Cham: Springer. pp. 51-62
Full text not available from 'Open Access LMU'.


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.