CONCURRENT DEADLOCK DETECTION IN PARALLEL PROGRAMS

W. Haque

Keywords

Parallel programming, distributed memory, shared memory, MPI

Abstract

Many parallel programs have been developed that use message passing for communication. This leads to efficient and portable programs, but their complexity makes them hard to debug. One of the common problems in such programs is the detection of deadlocks. A deadlock detector, MPIDD, has been developed for dynamically detecting deadlocks in parallel programs that are written using C++ and MPI. The detection code for most of the blocking and non-blocking point-to-point and collective routines has been implemented. The code has been tested against an extensive test suite, application programs, and some publicly available benchmarks. The detector takes advantage of the MPI’s profiling layer, requires no significant modification of user’s code, and incurs very little overhead when invoked. Portability of the detector code is also a key advantage.

Important Links:

Go Back