Instrumentation bias for dynamic data race detection

7Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.

Abstract

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 analysis atomicity. In addition to checking for errors in target programs, dynamic data race detectors must introduce synchronization to guard against metadata races that may corrupt analysis state and compromise soundness or completeness. Pessimistic analysis synchronization can account for nontrivial performance overhead in a data race detector. 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, 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 analysis atomicity costs on programs where data often experience windows of thread-local access. Adaptive extensions to the ownership policy eectively eliminate high coordination costs of the core ownership protocol on programs with high rates of serialized sharing. FIB outperforms a naïve pessimistic synchronization scheme by 50 on average. Compared to a tuned optimistic metadata synchronization scheme based on conventional ne-grained atomic compare-and-swap operations, FIB is competitive overall, and up to 17 faster on some programs. Overall, FIB eectively exploits latent analysis and program invariants to bring strong integrity guarantees to an otherwise unsynchronized data race detection algorithm at minimal cost.

References Powered by Scopus

Time, Clocks, and the Ordering of Events in a Distributed System

5950Citations
N/AReaders
Get full text

How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs

1599Citations
N/AReaders
Get full text

Eraser: A Dynamic Data Race Detector for Multithreaded Programs

1027Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Renaissance: Benchmarking suite for parallel applications on the JVM

74Citations
N/AReaders
Get full text

SmartTrack: Efficient predictive race detection

26Citations
N/AReaders
Get full text

Atomicity checking in linear time using vector clocks

21Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Wood, B. P., Cao, M., Bond, M. D., & Grossman, D. (2017). Instrumentation bias for dynamic data race detection. Proceedings of the ACM on Programming Languages, 1(OOPSLA). https://doi.org/10.1145/3133893

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 6

67%

Lecturer / Post doc 2

22%

Researcher 1

11%

Readers' Discipline

Tooltip

Computer Science 8

89%

Nursing and Health Professions 1

11%

Save time finding and organizing research with Mendeley

Sign up for free