Sciweavers

ASPLOS
2010
ACM

CoreDet: a compiler and runtime system for deterministic multithreaded execution

14 years 6 months ago
CoreDet: a compiler and runtime system for deterministic multithreaded execution
The behavior of a multithreaded program does not depend only on its inputs. Scheduling, memory reordering, timing, and low-level hardware effects all introduce nondeterminism in the execution of multithreaded programs. This severely complicates many tasks, including debugging, testing, and automatic replication. In this work, we avoid these complications by eliminating their root cause: we develop a compiler and runtime system that runs arbitrary multithreaded C/C++ POSIX Threads programs deterministically. A trivial non-performant approach to providing determinism is simply deterministically serializing execution. Instead, we present a compiler and runtime infrastructure that ensures determinism but resorts to serialization rarely, for handling interthread communication and synchronization. We develop two basic approaches, both of which are largely dynamic with performance improved by some static compiler optimizations. First, an ownership-based approach detects interthread communica...
Tom Bergan, Owen Anderson, Joseph Devietti, Luis C
Added 17 May 2010
Updated 17 May 2010
Type Conference
Year 2010
Where ASPLOS
Authors Tom Bergan, Owen Anderson, Joseph Devietti, Luis Ceze, Dan Grossman
Comments (0)