Replaying Distributed Programs Without Message Logging

  • Authors:
  • Robert H. B. Netzer;Yikang Xu

  • Affiliations:
  • -;-

  • Venue:
  • HPDC '97 Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computing
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Debugging long program runs can be difficult because of the delays required to repeatedly re-run the execution. Even a moderately long run of five minutes can incur aggravating delays. To address this problem, techniques exist that allow re-executing a distributed program from intermediate points by using combinations of checkpointing and message logging. In this paper, we explore another idea: how to support replay without logging the contents of any message. When no messages are logged, the set of global states from which replay is possible is constrained, and it has been unknown how to compute this set without exhaustively searching the space of all global states, whose size is exponential in the number of processes. We present a simple and efficient hybrid on-the-fly/post-mortem algorithm for detecting the necessary and sufficient conditions under which parts of the execution can be replayed without message logs. A small amount of trace (two vectors) is recorded at each checkpoint and a fast post-mortem algorithm computes global states from which replay can begin. This algorithm is independent of the checkpointing technique used.