next up previous
Next: Bibliography Up: Debugging Support for Charm++ Previous: 4 Implementation

Subsections

5 Conclusions and future work

The debugging solutions presented in this work provide a number of useful features for CHARM++ programmers. The parallel debugger allows the programmer to inspect the state of a running parallel program at a very high level, including the contents of array elements and network messages. It allows the programmer to follow the control flow in the parallel program by setting break points at entry methods. It provides the programmer a more focused means for switching to sequential debugging on selected processors on the fly. The record and replay mechanism allows the programmer to deterministically reproduce a program's behavior.

In the future, we will use the CHARM++ PUP framework to provide better, higher-level views of objects and messages. In particular, it should be possible to support extensive analysis and visualization of the multidimensional arrays so common in scientific computing. We will extend the functionality of the parallel debugger with the capabilities of our performance analysis tool for CHARM++, Projections [5]. Projections includes detailed tracing, network and performance statistics, together with automated analysis, that could be very useful while debugging or performance tuning. The field of parallel debugging for novel runtime systems is virtually wide open, and there an immense amount of work to be done.

5.1 Acknowledgements

This work was supported in part by the National Science Foundation (NSF NGS 0103645) and the local Department of Energy ASCI center, CSAR (DOE B341494).




next up previous
Next: Bibliography Up: Debugging Support for Charm++ Previous: 4 Implementation

January 23, 2004
Charm Homepage