Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution

Summary: CoreDet: A Compiler and Runtime System
for Deterministic Multithreaded Execution
Tom Bergan Owen Anderson Joseph Devietti Luis Ceze Dan Grossman
University of Washington, Computer Science and Engineering
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 communica-
tion and synchronization. We develop two basic approaches, both


Source: Anderson, Richard - Department of Computer Science and Engineering, University of Washington at Seattle
Yang, Junfeng - Department of Computer Science, Columbia University


Collections: Computer Technologies and Information Sciences