Debugging Support for Charm++

PPL Paper Number: 03-13

Authors:
Rashmi Jyothi
Parallel Programming Laboratory, Department of Computer Science, University of Illinois at Urbana-Champaign

University of Illinois Computer Science 2003 Master's Thesis


Abstract

The approaches adopted so far for debugging programs written in Charm++, a data driven parallel programming language, have been the traditional logging method via printf statements and the "++debug" command-line option which runs the parallel program attaching an instance of a standard sequential debugger like gdb to every individual process of the parallel program. This thesis presents the implementation of a parallel debugger for Charm++ which extends the existing debugging support for Charm++ and among its functionalities includes the capability to set breakpoints, examine variables, objects and messages in queues across the parallel set-up. Also outlined is a simple record and replay mechanism for Charm++ to replay message execution in a recorded order of occurrence. This approach is extremely useful in debugging a parallel program when a bug manifests itself because of an unusual ordering of events.


[postscript] [PDF] [bibtex] [text reference]