Deterministic Replay of Multithread Applications Using Virtual Machine

Jiageng Yu,Yiwei Ci,Peng Zhou,Yanjun Wu,Chen Zhao
DOI: https://doi.org/10.1109/waina.2012.124
2012-01-01
Abstract:The deterministic replay technology usually is used to reproduce non-deterministic failures, especially the concurrency failures which are hard to debug with cyclic-debugging techniques. Previous techniques either incur large overhead or require custom hardware extensions. They have also suffered from the interference with irrelevant processes. This paper introduces WDRVirt, a new software based replay system that provides deterministic replay for concurrent applications. This paper makes three contributions. First, WDRVirt enforces a deterministic replay for the interleaving of lock acquisitions with low performance overhead. Second, different from the previous works, we customize the lightweight virtual machine execution environment as the container for the target program. WDRVirt replays the container to avoid the interference with other irrelevant processes. At last, WDRVirt is deployed into both virtual machine(VM) and virtual machine manager(VMM) to deal with different types of non-deterministic event. We have implemented this system based on the Xen virtualization platform. Our experiments with real-world benchmarks demonstrate the effectiveness of WDRVirt.
What problem does this paper attempt to address?