Title :
Assertion Based Parallel Debugging
Author :
Dinh, Minh Ngoc ; Abramson, David ; Kurniawan, Donny ; Jin, Chao ; Moench, Bob ; DeRose, Luiz
Author_Institution :
Fac. of Inf. Technol., Monash Univ., Clayton, VIC, Australia
Abstract :
Programming languages have advanced tremendously over the years, but program debuggers have hardly changed. Sequential debuggers do little more than allow a user to control the flow of a program and examine its state. Parallel ones support the same operations on multiple processes, which are adequate with a small number of processors, but become unwieldy and ineffective on very large machines. Typical scientific codes have enormous multi-dimensional data structures and it is impractical to expect a user to view the data using traditional display techniques. In this paper we discuss the use of debug-time assertions, and show that these can be used to debug parallel programs. The techniques reduce the debugging complexity because they reason about the state of large arrays without requiring the user to know the expected value of every element. Assertions can be expensive to evaluate, but their performance can be improved by running them in parallel. We demonstrate the system with a case study finding errors in a parallel version of the Shallow Water Equations, and evaluate the performance of the tool on a 4,096 cores Cray XE6.
Keywords :
data structures; parallel programming; program debugging; programming languages; shallow water equations; Cray XE6; debug-time assertions; multidimensional data structures; parallel debugging; program debugging; program flow control; programming languages; scientific codes; shallow water equation; Arrays; Debugging; Distributed databases; Reactive power; Runtime; Servers; Guard; MPI; assertion; parallel debugger;
Conference_Titel :
Cluster, Cloud and Grid Computing (CCGrid), 2011 11th IEEE/ACM International Symposium on
Conference_Location :
Newport Beach, CA
Print_ISBN :
978-1-4577-0129-0
Electronic_ISBN :
978-0-7695-4395-6
DOI :
10.1109/CCGrid.2011.44