Title
IFRit: interference-free regions for dynamic data-race detection
Abstract
We propose a new algorithm for dynamic data-race detection. Our algorithm reports no false positives and runs on arbitrary C and C++ code. Unlike previous algorithms, we do not have to instrument every memory access or track a full happens-before relation. Our data-race detector, which we call IFRit, is based on a run-time abstraction called an interference-free region (IFR). An IFR is an interval of one thread's execution during which any write to a specific variable by a different thread is a data race. We insert instrumentation at compile time to monitor active IFRs at run-time. If the runtime observes overlapping IFRs for conflicting accesses to the same variable in two different threads, it reports a race. The static analysis aggregates information for multiple accesses to the same variable, avoiding the expense of having to instrument every memory access in the program. We directly compare IFRit to FastTrack and ThreadSanitizer, two state-of-the-art fully-precise data-race detectors. We show that IFRit imposes a fraction of the overhead of these detectors. We show that for the PARSEC benchmarks, and several real-world applications, IFRit finds many of the races detected by a fully-precise detector. We also demonstrate that sampling can further reduce IFRit's performance overhead without completely forfeiting precision.
Year
DOI
Venue
2012
10.1145/2384616.2384650
OOPSLA
Keywords
Field
DocType
interference-free region,active ifrs,specific variable,different thread,dynamic data-race detection,conflicting access,memory access,data-race detector,data race,state-of-the-art fully-precise data-race detector,arbitrary c,concurrency
Parsec,Concurrency,Computer science,Compile time,Static analysis,Parallel computing,Thread (computing),Dynamic data,Interference (wave propagation),Detector
Conference
Volume
Issue
ISSN
47
10
0362-1340
Citations 
PageRank 
References 
45
0.92
18
Authors
5
Name
Order
Citations
PageRank
Laura Effinger-Dean1622.60
Brandon Lucia269032.24
Luis Ceze32183125.93
Dan Grossman4121871.43
Hans Boehm563238.83