Communication-Induced Determination of Consistent Snapshots
IEEE Transactions on Parallel and Distributed Systems
Consistency Issues in Distributed Checkpoints
IEEE Transactions on Software Engineering
Using deterministic replay for debugging of distributed real-time systems
Euromicro-RTS'00 Proceedings of the 12th Euromicro conference on Real-time systems
Hi-index | 0.00 |
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.