This paper presents Fast Instrumentation Bias (FIB), a sound and complete dynamic data race detection algorithm that improves performance by reducing or eliminating the costs of enforcing analysis atomicity. In addition to checking for errors in target programs, dynamic data race detectors must introduce synchronization to guard against \emph{metadata races} that may corrupt analysis state and compromise soundness or completeness. Pessimistic analysis synchronization can account for non-trivial parts of a data-race detector's performance overhead.
The core contribution of FIB is a novel cooperative ownership-based synchronization protocol whose states and transitions are derived purely from preexisting analysis metadata and logic in a standard data race detection algorithm. By exploiting work already done by the analysis or target program, FIB ensures atomicity of dynamic analysis actions with zero additional time or space cost in the common case. Analysis of temporally thread-local or read-shared accesses completes safely with no synchronization. Uncommon write-sharing transitions require synchronous cross-thread coordination to ensure common cases may proceed synchronization-free.
We implemented FIB in the Jikes RVM Java virtual machine. Experimental evaluation shows that FIB eliminates nearly all instrumentation atomicity costs on benchmarks where data often experience windows of (even temporary) thread-local access. Adaptive extensions to the ownership policy effectively eliminate high coordination costs of the core ownership protocol on benchmarks with high rates of serialized sharing. FIB outperforms a naive pessimistic synchronization scheme by 21% on average. Compared to a tuned optimistic metadata synchronization scheme based on conventional fine-grained atomic compare-and-swap operations, FIB is competitive overall, and up to 9% faster on some benchmarks. Overall, FIB effectively exploits latent analysis and program invariants to bring strong integrity guarantees to an otherwise unsynchronized data race detection algorithm at minimal cost.
Wed 25 OctDisplayed time zone: Tijuana, Baja California change
15:30 - 17:00 | |||
15:30 22mTalk | Practical Initialization Race Detection for JavaScript Web Applications OOPSLA Christoffer Quist Adamsen Aarhus University, Anders Møller Aarhus University, Frank Tip Northeastern University DOI | ||
15:52 22mTalk | Instrumentation Bias for Dynamic Data Race Detection OOPSLA Benjamin P. Wood Wellesley College, Man Cao Ohio State University, Michael D. Bond Ohio State University, Dan Grossman University of Washington DOI | ||
16:15 22mTalk | Efficient Logging in Non-Volatile Memory by Exploiting Coherency Protocols OOPSLA DOI | ||
16:37 22mTalk | Heaps Don't Lie: Countering Unsoundness with Heap Snapshots OOPSLA Neville Grech , George Fourtounis University of Athens, Adrian Francalanza University of Malta, Yannis Smaragdakis University of Athens DOI |