Archer: Effectively Spotting Data Races in Large OpenMP Applications

IPDPS 2016 screenshot

Abstract

OpenMP plays a growing role as a portable programming model to harness on-node parallelism; yet, existing data race checkers for OpenMP have high overheads and generate many false positives. In this paper, we propose the first OpenMP data race checker, Archer, that achieves high accuracy, low overheads on large applications, and portability. Archer incorporates scalable happens-before tracking, exploits structured parallelism via combined static and dynamic analysis, and modularly interfaces with OpenMP runtimes. Archer significantly outperforms TSan and Intel Inspector XE, while providing the same or better precision. It has helped detect critical data races in the Hypre library that is central to many projects at Lawrence Livermore National Laboratory and elsewhere.

Citation

Simone Atzeni, Ganesh Gopalakrishnan, Zvonimir Rakamaric, Dong H. Ahn, Ignacio Laguna, Martin Schulz, Greg L. Lee, Joachim Protze, Matthias S. Muller
Archer: Effectively Spotting Data Races in Large OpenMP Applications
Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS), 53--62, doi:10.1109/IPDPS.2016.68, 2016.

BibTeX

@inproceedings{2016_ipdps_agralslpm,
  title = {Archer: Effectively Spotting Data Races in Large OpenMP Applications},
  author = {Simone Atzeni and Ganesh Gopalakrishnan and Zvonimir Rakamaric and Dong H. Ahn and Ignacio Laguna and Martin Schulz and Greg L. Lee and Joachim Protze and Matthias S. Muller},
  booktitle = {Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS)},
  publisher = {IEEE Computer Society},
  pages = {53--62},
  doi = {10.1109/IPDPS.2016.68},
  year = {2016}
}

Acknowledgements

We would like to thank the anonymous reviewers for their constructive comments. This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 (LLNL-PROC-679754). Support is gratefully acknowledged from the National Science Foundation under grants ACI-1535032 and CCF-7298529.