What's the optimal performance of precise dynamic race detection? - A redundancy perspective Conference Paper uri icon

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.

published proceedings

  • Leibniz International Proceedings in Informatics, LIPIcs

author list (cited authors)

  • Huang, J., & Rajagopalan, A. K.

complete list of authors

  • Huang, J||Rajagopalan, AK

publication date

  • June 2017