skip to main content
10.1145/1181309.1181315acmotherconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article

Accurate and efficient filtering for the Intel thread checker race detector

Published: 21 October 2006 Publication History

Abstract

Debugging data races in parallel applications is a difficult task. Error-causing data races may appear to vanish due to changes in an application's optimization level, thread scheduling, whether or not a debugger is used, and other effects. Further, many race conditions cause incorrect program behavior only in rare scenarios and may lie undetected during software testing.Tools exist today that do a decent job in finding data races in multi-threaded applications. Some data-race detection tools are very efficient and can detect data races with less than a 2x performance penalty. Most such tools, however, do not provide enough information to the user, require recompilation, or impose other usage restrictions. Other tools, such as the one considered in this paper (Intel's Thread Checker), provide users with plenty of useful information and can be used with any application binary, but have high overheads - often over 200x. It is the goal of this paper to speed up Thread Checker by filtering out the vast majority of memory references that are highly unlikely to be involved in data races. In our work, we develop filters that filter 90-100% of all memory references from the datarace detection algorithm, resulting in speedups of 2.2-5.5x, with an average improvement of 3.3x.

References

[1]
G.-I. Cheng, M. Feng, C. E. Leiserson, K. H. Randall, and A. F. Stark. Detecting data races in Cilk programs that use locks. In Symposium on Parallel Algorithms and Architectures, 1998.
[2]
J.-D. Choi, K. Lee, A. Loginov, R. O'Callahan, V. Sarkar, and M. Sridharan. Efficient and precise datarace detection for multithreaded object-oriented programs. In International Symposium on Programming Language Design and Implementation, 2002.
[3]
J.-D. Choi and H. Srinivasan. Deterministic replay of Java multithreaded applications. In SIGMETRICS Symposium on Parallel and Distributed Tools, pages 48--59, 1998.
[4]
C. Fidge. Logical time in distributed computing systems. Computer, 24(8):28--33, 1991.
[5]
Intel Corporation. Intel Thread Checker. http://www.intel.com/support/performancetools/threadchecker.
[6]
T. C. Karunaratna. Nondeterminator-3: A provably good data-race detector which runs in parallel. MIT CSAIL report, 2005.
[7]
F. Mattern. Virtual time and global states of distributed systems. In International Workshop on Parallel and Distributed Algorithms, pages 215--226, 1989.
[8]
J. Mellor-Crummey. On-the-fly detection of data races for programs with nested fork-join parallelism. In Supercomputing, 1991.
[9]
R. H. B. Netzer and B. P. Miller. Improving the accuracy of data race detection. International Symposium on Principles and Practice of Parallel Programming, 26(7):133--144, 1991.
[10]
R. O'Callahan and J.-D. Choi. Hybrid dynamic data race detection. In International Symposium on Principles and Practice of Parallel Programming, pages 167--178, 2003.
[11]
M. Prvulovic and J. Torrellas. ReEnact: Using thread-level speculation mechanisms to debug data races in multithreaded codes. In International Symposium on Computer Architecture, pages 110--121, 2003.
[12]
M. Ronsse and K. D. Bosschere. RecPlay: A fully integrated practical record/replay system. ACM Transactions on Computer Systems, 17(2):133--152, 1999.
[13]
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems, 15(4):391--411, 1997.
[14]
S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 programs: Characterization and methodological considerations. In International Symposium on Computer Architecture, pages 24--36, 1995.
[15]
M. Xu, R. Bodik, and M. D. Hill. A "Flight Data Recorder" for enabling full-system multiprocessor deterministic replay. In International Symposium on Computer Architecture, pages 122--135, 2003.
[16]
Y. Yu, T. Rodeheffer, and W. Chen. Racetrack: Efficient detection of data race conditions via adaptive tracking. In International Symposium on Operating Systems and Principles, 2005.

Cited By

View all
  • (2022)Hybrid Static-Dynamic Analysis of Data Races Caused by Inconsistent Locking Discipline in Device DriversIEEE Transactions on Software Engineering10.1109/TSE.2021.3138735(1-1)Online publication date: 2022
  • (2021)Automating Testing of Visual Observed Concurrency2021 IEEE/ACM Ninth Workshop on Education for High Performance Computing (EduHPC)10.1109/EduHPC54835.2021.00010(32-42)Online publication date: Nov-2021
  • (2019)Rapid Identification of Shared Memory in Multithreaded Embedded Systems with Static SchedulingWorkshop Proceedings of the 48th International Conference on Parallel Processing10.1145/3339186.3339195(1-8)Online publication date: 5-Aug-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ASID '06: Proceedings of the 1st workshop on Architectural and system support for improving software dependability
October 2006
76 pages
ISBN:1595935762
DOI:10.1145/1181309
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 October 2006

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. data-race detection

Qualifiers

  • Article

Conference

ASPLOS06

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Hybrid Static-Dynamic Analysis of Data Races Caused by Inconsistent Locking Discipline in Device DriversIEEE Transactions on Software Engineering10.1109/TSE.2021.3138735(1-1)Online publication date: 2022
  • (2021)Automating Testing of Visual Observed Concurrency2021 IEEE/ACM Ninth Workshop on Education for High Performance Computing (EduHPC)10.1109/EduHPC54835.2021.00010(32-42)Online publication date: Nov-2021
  • (2019)Rapid Identification of Shared Memory in Multithreaded Embedded Systems with Static SchedulingWorkshop Proceedings of the 48th International Conference on Parallel Processing10.1145/3339186.3339195(1-8)Online publication date: 5-Aug-2019
  • (2019)Detecting Data Races Caused by Inconsistent Lock Protection in Device Drivers2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER.2019.8668017(366-376)Online publication date: Feb-2019
  • (2018)Modern debuggingCommunications of the ACM10.1145/318627861:11(124-134)Online publication date: 26-Oct-2018
  • (2018)A Semantics-Driven Approach to Improving DataRaceBench’s OpenMP Standard CoverageEvolving OpenMP for Evolving Architectures10.1007/978-3-319-98521-3_13(189-202)Online publication date: 29-Aug-2018
  • (2018)Runtime and Memory Evaluation of Data Race Detection ToolsLeveraging Applications of Formal Methods, Verification and Validation. Verification10.1007/978-3-030-03421-4_13(179-196)Online publication date: 30-Oct-2018
  • (2017)Software Analysis Techniques for Detecting Data RaceIEICE Transactions on Information and Systems10.1587/transinf.2017EDR0004E100.D:11(2674-2682)Online publication date: 2017
  • (2017)DataRaceBenchProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3126908.3126958(1-14)Online publication date: 12-Nov-2017
  • (2017)ProRaceACM SIGARCH Computer Architecture News10.1145/3093337.303770845:1(149-162)Online publication date: 4-Apr-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media