Archer: Effectively Spotting Data Races in Large OpenMP Applications

Simone Atzeni, Ganesh Gopalakrishnan, Zvonimir Rakamaric, Dong H. Ahn, Ignacio Laguna, Martin Schulz, Greg L. Lee, Joachim Protze, Matthias S. Muller. 8th International Workshop on Exploiting Concurrency Efficiently and Correctly (EC2 2015), San Francisco, CA, USA.
[pdf] [bib]

Abstract: Despite decades of research on data race detection, the high performance computing community does not have effective tools to check the absence of races in serial codes being ported over to notations such as OpenMP. The problem lies more with the CS community being unaware of this need, and the HPC community having not faced this need owing to its predominant past reliance on message passing for harnessing parallelism. In this paper, we describe the results of a CS/HPC collaboration through which we have adapted an existing thread-level race checker – namely ThreadSanitizer – to become an effective OpenMP data race checker. Our success is attributable to our having chosen a judicious combination of black-listing of code blocks as well as static analysis to reduce the number of accesses being tracked. In this paper, we report our success in creating a new race checker called Archer based on this approach. Our experiments confirm not only the practicality of Archer in general terms, but also its ability to shed light on some past incidents of non-determinism observed in critical scientific simulation routines. Specifically, with the help of Archer, our team has been able to isolate data races that had vexed engineers. The deeper message in this paper is that of the importance of active collaborations between academic researchers and national lab partners—in many cases more important than technical advances that nevertheless do not transfer to usable tools. We describe Archer, its design, its successes, and comment on the future path of our research.

Bibtex:

@inproceedings{ec2_2015-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 = {Informal Proceedings of the 8th International Workshop on Exploiting Concurrency
    Efficiently and Correctly (EC2)},
  year = {2015},
  note = {Position paper},
}