On the implementation of a replay mechanism
Parallel programs can be nondeterministic: consecutive runs with the same input can result in different executions. Therefore we cannot use cyclic debugging techniques. In order to be able to use those techniques we need a tool that traces information about an execution so it can be replayed for debugging. Because the recording interferes with the program, possibly perturbating the execution, we must limit the amount of information and keep the algorithm simple. This paper presents an implementation of the ROLT replay mechanism for a multithreaded operating system (Solaris).
Unable to display preview. Download preview PDF.
- [LAV94]Luk J. Levrouw, Koenraad M. Audenaert, and Jan M. Van Campenhout. A new trace and replay system for shared memory programs based on Lamport Clocks. In Proceedings of the Second Euromicro Workshop on Parallel and Distributed Processing, pages 471–478. IEEE Computer Society Press, January 1994.Google Scholar
- [LM87]Thomas J. LeBlanc and John M. Mellor-Crummey. Debugging parallel programs with Instant Replay. IEEE Transactions on Computers, C-36(4):471–482, April 1987.Google Scholar
- [Net93]Robert H.B. Netzer. Optimal tracing and replay for debugging sharedmemory parallel programs. In Proceedings ACM/ONR Workshop on Parallel and Distributed Debugging, pages 1–11, May 1993.Google Scholar
- [RLB95]M.A. Ronsse, L.J. Levrouw, and K. Bastiaens. Efficient coding of execution-traces of parallel programs. In J. P. Veen, editor, Proceedings of the ProRISC/IEEE Benelux Workshop on Circuits, Systems and Signal Processing, pages 251–258. STW, Utrecht, March 1995.Google Scholar