License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2017.15
URN: urn:nbn:de:0030-drops-72722
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7272/
Huang, Jeff ;
Rajagopalan, Arun K.
What'’s the Optimal Performance of Precise Dynamic Race Detection? –A Redundancy Perspective
Abstract
In a precise data race detector, a race is detected only if the execution exhibits a real race. In such tools, every memory access from each thread is typically checked by a happens-before algorithm. What’s the optimal runtime performance of such tools? In this paper, we identify that a significant percentage of memory access checks in real-world program executions are often redundant: removing these checks affects neither the precision nor the capability of race detection. We show that if all such redundant checks were eliminated with no cost, the optimal performance of a state-of-the-art dynamic race detector, FastTrack, could be improved by 90%, reducing its runtime overhead from 68X to 7X on a collection of CPU intensive benchmarks. We further develop a purely dynamic technique, ReX, that efficiently filters out redundant checks and apply it to FastTrack. With ReX, the runtime performance of FastTrack is improved by 31% on average.
BibTeX - Entry
@InProceedings{huang_et_al:LIPIcs:2017:7272,
author = {Jeff Huang and Arun K. Rajagopalan},
title = {{What'’s the Optimal Performance of Precise Dynamic Race Detectionl –A Redundancy Perspective}},
booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)},
pages = {15:1--15:22},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-035-4},
ISSN = {1868-8969},
year = {2017},
volume = {74},
editor = {Peter M{\"u}ller},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2017/7272},
URN = {urn:nbn:de:0030-drops-72722},
doi = {10.4230/LIPIcs.ECOOP.2017.15},
annote = {Keywords: Data Race Detection, Dynamic Analysis, Concurrency, Redundancy}
}
Keywords: |
|
Data Race Detection, Dynamic Analysis, Concurrency, Redundancy |
Collection: |
|
31st European Conference on Object-Oriented Programming (ECOOP 2017) |
Issue Date: |
|
2017 |
Date of publication: |
|
16.06.2017 |