Supporting reverse execution for parallel programs

  • Authors:
  • Douglas Z. Pan;Mark A. Linton

  • Affiliations:
  • Stanford Univ., Stanford, CA;Stanford Univ., Stanford, CA

  • Venue:
  • PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallel programs are difficult to debug because they run for a, long time and two executions may yield different results. Reverse execution, is a simple and powerful concept that solves both these problems. We are designing a tool for debugging parallel programs, called Recap, that provides the illusion of reverse execution using checkpoints and event recording and playback. During normal execution, Recap logs the results of system calls and shared memory reads: as well as the times that asynchronous events (signals) occur. Recap periodically checkpoints the state of a process by forking and suspending a new process. To reverse execute to a certain point in time, Recap continues the nearest checkpoint process forward in a self-contained environment, simulating all events using the log. We are implementing Recap as part of a larger environment for parallel program development.