The International Conference for High Performance Computing, Networking, Storage and Analysis
Archer: A Low Overhead Data Race Detector for OpenMP.
Student: Simone Atzeni (University of Utah)
Supervisor: Ganesh Gopalakrishnan (University of Utah)
Abstract: On extreme-scale systems, large applications are increasingly turning to OpenMP to harness an explosion of on-node parallelism. However, code complexity in large applications can lead programmers to use OpenMP incorrectly, and data races are particularly challenging to diagnose. Current approaches to identify races include dynamic and static analyses. Unfortunately, either technique alone is often ill suited for large applications as it suffers from high run-time overhead and inaccuracy. We present Archer, a novel approach that combines static and dynamic techniques to identify data races in large OpenMP applications with low overhead while still providing high accuracy. Our LLVM-based static analysis techniques classify all of the OpenMP regions within an application and pass only those potentially unsafe regions to our run-time component that extends Google's ThreadSanitizer. Our preliminary results show that reduction in performance and memory overhead of our run-time component is proportional to the amount of code it must examine.