Archer: Effectively Spotting Data Races in Large OpenMP Applications

Share

Simone Atzeni, Ganesh Gopalakrishnan, Zvonimir Rakamaric, Dong H. Ahn, Ignacio Laguna, Martin Schulz, Greg L. Lee, Joachim Protze, Matthias S. Muller. 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2016), Chicago, IL, USA.
[pdf] [bib]

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.

Bibtex:

@inproceedings{ipdps2016-agralslpm,
  author = {Simone Atzeni and Ganesh Gopalakrishnan and Zvonimir Rakamari\'c and
    Dong H. Ahn and Ignacio Laguna and Martin Schulz and Greg L. Lee and
    Joachim Protze and Matthias S. M\"uller},
  title = {Archer: Effectively Spotting Data Races in Large {OpenMP} Applications},
  booktitle = {Proceedings of the 30th IEEE International Parallel and
    Distributed Processing Symposium (IPDPS)},
  publisher = {IEEE},
  year = {2016},
  pages = {53--62},
}