TY - GEN
T1 - PARCOACH Extension for Static MPI Nonblocking and Persistent Communication Validation
AU - Nguyen, Van Man
AU - Saillard, Emmanuelle
AU - Jaeger, Julien
AU - Barthou, Denis
AU - Carribault, Patrick
N1 - Publisher Copyright:
© 2020 IEEE.
PY - 2020/11/1
Y1 - 2020/11/1
N2 - The Message Passing Interface (MPI) is a parallel programming model used to exchange data between working units in different nodes of a supercomputer. While MPI blocking operations return when the communication is complete, non-blocking and persistent operations return before the communication is complete, enabling a developer to hide communication latency. However the usage of these latter comes with additional rules the user has to abide to. This is error prone, which makes verification tools valuable for MPI program writers. PARCOACH is a framework that detects MPI collective errors using a static/dynamic analysis. In this paper we present an extension of PARCOACH static analysis to detect misuse of MPI nonblocking and persistent communications. Our new analysis adds the detection of four new error classes related to these types of communications. Its implementation was tested on several MPI micro-benchmarks, and on some CORAL or Mantevo benchmarks on which we observed an acceptable overhead at compile-time.
AB - The Message Passing Interface (MPI) is a parallel programming model used to exchange data between working units in different nodes of a supercomputer. While MPI blocking operations return when the communication is complete, non-blocking and persistent operations return before the communication is complete, enabling a developer to hide communication latency. However the usage of these latter comes with additional rules the user has to abide to. This is error prone, which makes verification tools valuable for MPI program writers. PARCOACH is a framework that detects MPI collective errors using a static/dynamic analysis. In this paper we present an extension of PARCOACH static analysis to detect misuse of MPI nonblocking and persistent communications. Our new analysis adds the detection of four new error classes related to these types of communications. Its implementation was tested on several MPI micro-benchmarks, and on some CORAL or Mantevo benchmarks on which we observed an acceptable overhead at compile-time.
KW - Correctness
KW - MPI
KW - Nonblocking Communication
KW - Persistent Communication
KW - Static Analysis
UR - https://www.scopus.com/pages/publications/85099367011
U2 - 10.1109/Correctness51934.2020.00009
DO - 10.1109/Correctness51934.2020.00009
M3 - Conference contribution
AN - SCOPUS:85099367011
T3 - Proceedings of Correctness 2020: 4th International Workshop on Software Correctness for HPC Applications, Held in conjunction with SC 2020: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 31
EP - 39
BT - Proceedings of Correctness 2020
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 4th International Workshop on Software Correctness for HPC Applications, Correctness 2020
Y2 - 11 November 2020
ER -