Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  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
{tbergan,owen,devietti,luisceze,djg}@cs.washington.edu
http://sampa.cs.washington.edu/
Abstract
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