The Parallel Tools (Ptools) Consortium saw the need for an easy-to-use command-line parallel debugger and formed the High Performance Debugger Forum to address this need. This Forum met several times during 1997 and proposed the High Performance Debugging Standard. The goals of this standard are to define a useful and appropriate set of standards relevant to debugging tools for HPC systems that are programmed using Fortran 77, Fortran 90, C, or C++ and to acommodate the needs of both users and tool developers. This project is a reference implementation of a debugger that follows the standard.
The main goal of this project is to implement a reference implementation of a debugger following the standards as proposed by the High Performance Debugger Forum. The debugger will be light-weight and easy to use. The debugger will give information about the processes in concise and easy to read formats. We hope that vendors will follow our lead and provide better debuggers for parallel and multi-threaded applications. We also hope that this debugger will be modular enough that different back-ends and front-ends can easily be added later for more functionality.
The parser for the debugger has been written and work is underway to finish the reference implementation. The implementation will use GDB and DBX as the per-process debuggers and will provide an interface to use several of these in parallel. The command line debugger will be based on and integrated with graphical P2D2 debugger developed as a research project at NASA Ames. The design has several modular layers. The first layer is either the GUI or Command line interface. This layer talks to the Data Management Layer which keeps track of groups of processes and has the functionality of iterating over groups of processes. The Debugger Server layer sends to the GDB/DBX client which in turn communicates with the per-process debuggers. The client's job is to send the correct command to the debugger it is communicating with and parse the output when it receives the results. The debugger communicates with the application and the results are propagated back to the GUI or Command line interface through a series of call-backs. A beta version of the debugger should be released sometime in February 1999. For more information see the project web pages.
Visit the project web pages at
http://icl.cs.utk.edu/projects/hpd/
Visit The Ptools Consortium at
http://www.ptools.org/
Read the proposed standard at
http://www.ptools.org/hpdf/draft/