TY - GEN
T1 - Dynamic software testing of MPI applications with Umpire
AU - Vetter, Jeffrey S.
AU - de Supinski, Bronis R.
N1 - Publisher Copyright:
© 2000 IEEE.
PY - 2000
Y1 - 2000
N2 - As evidenced by the popularity of MPI (Message Passing Interface), message passing is an effective programming technique for managing coarse-grained concurrency on distributed computers. Unfortunately, debugging message-passing applications can be difficult. Software complexity, data races, and scheduling dependencies can make programming errors challenging to locate with manual, interactive debugging techniques. This article describes Umpire, a new tool for detecting programming errors at runtime in message passing applications. Umpire monitors the MPI operations of an application by interposing itself between the application and the MPI runtime system using the MPI profiling layer. Umpire then checks the application's MPI behavior for specific errors. Our initial collection of programming errors includes deadlock detection, mismatched collective operations, and resource exhaustion. We present an evaluation on a variety of applications that demonstrates the effectiveness of this approach.
AB - As evidenced by the popularity of MPI (Message Passing Interface), message passing is an effective programming technique for managing coarse-grained concurrency on distributed computers. Unfortunately, debugging message-passing applications can be difficult. Software complexity, data races, and scheduling dependencies can make programming errors challenging to locate with manual, interactive debugging techniques. This article describes Umpire, a new tool for detecting programming errors at runtime in message passing applications. Umpire monitors the MPI operations of an application by interposing itself between the application and the MPI runtime system using the MPI profiling layer. Umpire then checks the application's MPI behavior for specific errors. Our initial collection of programming errors includes deadlock detection, mismatched collective operations, and resource exhaustion. We present an evaluation on a variety of applications that demonstrates the effectiveness of this approach.
UR - http://www.scopus.com/inward/record.url?scp=84975683193&partnerID=8YFLogxK
U2 - 10.1109/SC.2000.10055
DO - 10.1109/SC.2000.10055
M3 - Conference contribution
AN - SCOPUS:84975683193
T3 - Proceedings of the International Conference on Supercomputing
BT - SC 2000 - Proceedings of the 2000 ACM/IEEE Conference on Supercomputing
PB - Association for Computing Machinery
T2 - 2000 ACM/IEEE Conference on Supercomputing, SC 2000
Y2 - 4 November 2000 through 10 November 2000
ER -