CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution

Source: Association for Computing Machinery

Favorite

Free registration required

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 paper, the authors avoid these complications by eliminating their root cause: they 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.
Format:PDF Size:311.00
Date:Mar 2010