Source level debugging of automatically parallelized code
- 1 December 1991
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 26 (12) , 132-143
- https://doi.org/10.1145/127695.122771
Abstract
We describe a method for providing source level debugging for programs that have been automatically parallelized for distributed memory, MIMD machines. We call this method a sequential view of parallel execution because the debugger provides the user with the illusion that he is debugging the source, sequential code even though the parallel program is executing. Sequentird view debugging is both a non-intrnsive and efficient way of providing source level debugging. If parallel execution is allowed while debugging, the program might not necessarily be in a state consistent with sequential execution when it stops after a breakpoint or an exception. In such a case, if the debugger cannot guarantee source level semantics, then it must rerun the program to put the program in a consistent state. Since rerun can be costly, it should be avoided. It is shown that the program state need not be completely consistent with sequential execution to emulate source behavior. Furthermore, program analysis is used to reduce the situations where rerun must lx used.Keywords
This publication has 7 references indexed in Scilit:
- Supporting systolic and memory communication in iWarpPublished by Association for Computing Machinery (ACM) ,1990
- Automatic Mapping Of Large Signal Processing Systems To A Parallel MachinePublished by SPIE-Intl Soc Optical Eng ,1989
- Supporting reverse execution for parallel programsPublished by Association for Computing Machinery (ACM) ,1988
- Debugging Parallel Programs with Instant ReplayIEEE Transactions on Computers, 1987
- Symbolic Debugging of Optimized CodeACM Transactions on Programming Languages and Systems, 1982
- High-Speed Multiprocessors and Compilation TechniquesIEEE Transactions on Computers, 1980
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978