Abstract
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.
Original language | English |
---|---|
Title of host publication | SC 2000 - Proceedings of the 2000 ACM/IEEE Conference on Supercomputing |
Publisher | Association for Computing Machinery |
ISBN (Electronic) | 0780398025 |
DOIs | |
State | Published - 2000 |
Externally published | Yes |
Event | 2000 ACM/IEEE Conference on Supercomputing, SC 2000 - Dallas, United States Duration: Nov 4 2000 → Nov 10 2000 |
Publication series
Name | Proceedings of the International Conference on Supercomputing |
---|---|
Volume | 2000-November |
Conference
Conference | 2000 ACM/IEEE Conference on Supercomputing, SC 2000 |
---|---|
Country/Territory | United States |
City | Dallas |
Period | 11/4/00 → 11/10/00 |
Funding
This work was performed under the auspices of the U.S. Dept. of Energy by University of California LLNL under contract W-7405-Eng-48. LLNL Document Number UCRL-JC-138650.