Efficient Deterministic Replay of Multithreaded Programs Based on Efficient Tracking of Cross-Thread Dependences ∗

semanticscholar(2014)

引用 0|浏览3
暂无评分
摘要
Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rare bugs and to achieve deterministic execution, e.g., for replication. Existing multithreaded record & replay approaches have serious limitations such as relying on custom hardware or slowing programs by an order of magnitude. This paper introduces an approach for multithreaded record & replay based on tracking and reproducing shared memory dependences accurately and efficiently. We extend prior work that introduces an efficient dependence recorder, by developing a new analysis for replaying dependences. To demonstrate multithreaded record & replay, we make substantial modifications to a Java virtual machine to control sources of nondeterminism in the JVM that affect application-level determinism such as garbage collection and class loading. We also introduce a research methodology that enables us to demonstrate replay in the inherently nondeterministic JVM. Overall the performance of both recorded and replayed executions compares favorably with existing software-based record & replay approaches.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要