Archer: Effectively Spotting Data Races in Large OpenMP Applications

2016_IPDPS_Archer 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), 9690: 53--62, doi:10.1109/IPDPS.2016.68, 2016.

BibTeX

@inproceedings{2016_IPDPS_Archer,
  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)},
  editor = {Sanjai Rayadurgam and Oksana Tkachuk},
  publisher = {IEEE Computer Society},
  doi = {10.1109/IPDPS.2016.68},
  volume = {9690},
  pages = {53--62},
  year = {2016}
}