A preliminary topological debugger for MPI programs
Simon Huband, David D. McDonald
Abstract
Simon Huband, David D. McDonald
Abstract
Most parallel programs use regular topologies to support their computation. Since they define the relationship between processes, process topologies present an excellent opportunity for debugging. The primary benefit is that patterns of expected behaviour can be abstracted and identified, and unexpected behaviour reported. However, topology support is inadequate in may environments, including the popular Message Passing Interface (MPI). Programmers typically implement topology support themselves, increasing the possibility of introducing errors. Moreover, debugger support that exploit topological information is lacking. We have undertaken to develop a debugger that exploits topological information. This paper presents DEPICT (DEbugger of Parallel but Inconsistent Communication Traces), a (preliminary) topology-based debugger for MPI. Currently, DEPICT presents high-level visualisations of parallel program communication behaviour, where logically similar processes are clearly indicated in a manner that allows the programmer insight into overall program behaviour. To assist in understanding unexpected behaviour, DEPICT allows programmers to investigate the observed semantic differences between processes. In addition to its current facilities, DEPICT's implementation details and underlying algorithms are also described.
OpenAlex reports 16 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Most parallel programs use regular topologies to support their computation. Since they define the relationship between processes, process topologies present an excellent opportunity for debugging. The primary benefit is that patterns of expected behaviour can be abstracted and identified, and unexpected behaviour reported. However, topology support is inadequate in may environments, including the popular Message Passing Interface (MPI). Programmers typically implement topology support themselves, increasing the possibility of introducing errors. Moreover, debugger support that exploit topological information is lacking. We have undertaken to develop a debugger that exploits topological information. This paper presents DEPICT (DEbugger of Parallel but Inconsistent Communication Traces), a (preliminary) topology-based debugger for MPI. Currently, DEPICT presents high-level visualisations of parallel program communication behaviour, where logically similar processes are clearly indicated in a manner that allows the programmer insight into overall program behaviour. To assist in understanding unexpected behaviour, DEPICT allows programmers to investigate the observed semantic differences between processes. In addition to its current facilities, DEPICT's implementation details and underlying algorithms are also described.
Key concepts: Debugger, Debugging, Computer science, Programmer, Exploit, Network topology, Message passing, Topology (electrical circuits)