Mc-checker: Detecting memory consistency errors in mpi one-sided applications

Z Chen, J Dinan, Z Tang, P Balaji… - SC'14: Proceedings …, 2014 - ieeexplore.ieee.org
Z Chen, J Dinan, Z Tang, P Balaji, H Zhong, J Wei, T Huang, F Qin
SC'14: Proceedings of the International Conference for High …, 2014ieeexplore.ieee.org
One-sided communication decouples data movement and synchronization by providing
support for asynchronous reads and updates of distributed shared data. While such
interfaces can be extremely efficient, they also impose challenges in properly performing
asynchronous accesses to shared data. This paper presents MC-Checker, a new tool that
detects memory consistency errors in MPI one-sided applications. MCChecker first performs
online instrumentation and captures relevant dynamic events, such as one-sided …
One-sided communication decouples data movement and synchronization by providing support for asynchronous reads and updates of distributed shared data. While such interfaces can be extremely efficient, they also impose challenges in properly performing asynchronous accesses to shared data. This paper presents MC-Checker, a new tool that detects memory consistency errors in MPI one-sided applications. MCChecker first performs online instrumentation and captures relevant dynamic events, such as one-sided communications and load/store operations. MC-Checker then performs analysis to detect memory consistency errors. When found, errors are reported along with useful diagnostic information. Experiments indicate that MC-Checker is effective at detecting and diagnosing memory consistency bugs in MPI one-sided applications, with low overhead, ranging from 24.6% to 71.1%, with an average of 45.2%.
ieeexplore.ieee.org