Abstract

This paper discusses a new debugging strategy for parallel programs, called parallel relative debugging. Relative debugging allows a user to compare the execution of one program to another, and this can be used to trace errors. This technique has been found to significantly aid in problem determination. A prototype sequential relative debugger, called Guard, has already been constructed and has been used in a number of real world situations. However, the control logic it uses is not sufficiently powerful to support the debugging of parallel applications. In this paper we describe how dataflow can be used to provide a very rich control mechanism that is well suited to the parallel environment. We illustrate the system by a worked example.