PPL Logo
Parallel Debugging

Charm++ offers a variety of parallel debugging options, from the extremely basic to the extremely sophisticated. The traditional debugging methods, such as logging (via the CkPrintf routine) and interactive debugging (via the "++debug" command line option) are supported under Charm++.

In addition, Charm++ offers several additional features designed to simplify application development. Linking with "-memory paranoid" checks all dynamic heap allocation calls for common errors, such as double-delete, random-delete, read-after-delete, buffer over- and under-write errors. Charm++, when compiled without "-DCMK_OPTIMIZE", contains hundreds of assertations to catch invalid parameters and unintialized data passed to API routines.

We are working on a sophisticated parallel debugger, with the ability to set breakpoints, examine variables, objects, and messages across the entire machine. The design of this debugger is described in the paper below.
 

People
Papers
  • 10-22    Filippo Gioachin,  Debugging Large Scale Applications with Virtualization,  PhD Thesis, Department of Computer Science, University of Illinois, 2010
  • 10-23    Filippo Gioachin and Laxmikant V. Kale,  Debugging Parallel Applications via Provisional Execution,  PPL Technical report, October 2010
  • 10-12    Filippo Gioachin, Gengbin Zheng and Laxmikant V. Kale ,  Robust Non-Intrusive Record-Replay with Processor Extraction,  In Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD - VIII)
  • 10-11    Filippo Gioachin, Gengbin Zheng and Laxmikant V. Kale ,  Debugging Large Scale Applications in a Virtualized Environment,  To Appear in the Proceedings of the 23rd International Workshop on Languages and Compilers for Parallel Computing (LCPC2010)
  • 09-03    Filippo Gioachin, Chee Wai Lee, Laxmikant V. Kale ,  Scalable Interaction with Parallel Applications,  In Proceedings of TeraGrid'09
  • 08-08    Filippo Gioachin, Laxmikant V. Kale ,  Dynamic High-Level Scripting in Parallel Applications,  In Proceedings of the 23rd IEEE International Parallel and Distributed Processing Symposium (IPDPS 2009)
  • 08-06    Filippo Gioachin, Laxmikant V. Kale ,  Memory Tagging in Charm++,  Proceedings of the 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD '08)
  • 04-04    Rashmi Jyothi, Orion Sky Lawlor and L. V. Kale,  Debugging Support for Charm++,  Proceedings of PADTAD Workshop, held as part of IPDPS 2004, IEEE Press, page 294.
  • 03-13    Rashmi Jyothi,  Debugging Support for Charm++,  University of Illinois Computer Science 2003 Master's Thesis
  • 99-04    Parthasarathy Ramachandran and Laxmikant V. Kale ,  Mulitlingual Debugging Support for Data-driven and Thread-based Parallel Languages,  Lecture Notes in Computer Science: Proc. of 12th International Workshop on Languages and Compilers for Parallel Computing (LCPC '99), pages 236-250

This page maintained by Filippo Gioachin. Back to the PPL Research Page