ODR: output-deterministic replay for multicore debugging

10 years 11 months ago
ODR: output-deterministic replay for multicore debugging
Reproducing bugs is hard. Deterministic replay systems address this problem by providing a high-fidelity replica of an original program run that can be repeatedly executed to zero-in on bugs. Unfortunately, existing replay systems for multiprocessor programs fall short. These systems either incur high overheads, rely on non-standard multiprocessor hardware, or fail to reliably reproduce executions. Their primary stumbling block is data races – a source of nondeterminism that must be captured if executions are to be faithfully reproduced. In this paper, we present ODR–a software-only replay system that reproduces bugs and provides low-overhead multiprocessor recording. The key observation behind ODR is that, for debugging purposes, a replay system does not need to generate a high-fidelity replica of the original execution. Instead, it suffices to produce any execution that exhibits the same outputs as the original. Guided by this observation, ODR relaxes its fidelity guarantees ...
Gautam Altekar, Ion Stoica
Added 17 Mar 2010
Updated 17 Mar 2010
Type Conference
Year 2009
Where SOSP
Authors Gautam Altekar, Ion Stoica
Comments (0)