ARCHER: Effectively Spotting Data Races in Large OpenMP Applications

被引:62
作者
Atzeni, Simone [1 ]
Gopalakrishnan, Ganesh [1 ]
Rakamaric, Zvonimir [1 ]
Ahn, Dong H. [2 ]
Laguna, Ignacio [2 ]
Schulz, Martin [2 ]
Lee, Gregory L. [2 ]
Protze, Joachim
Mueller, Matthias S. [3 ]
Mueller, Matthias S. [3 ]
机构
[1] Univ Utah, Salt Lake City, UT 84112 USA
[2] Lawrence Livermore Natl Lab, Livermore, CA USA
[3] Rhein Westfal TH Aachen, Aachen, Germany
来源
2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2016) | 2016年
关键词
data race detection; OpenMP; high performance computing; static analysis; dynamic analysis;
D O I
10.1109/IPDPS.2016.68
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 (R) 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.
引用
收藏
页码:53 / 62
页数:10
相关论文
共 32 条
[1]  
[Anonymous], 2007, P THE 6 JOINT M EUR
[2]  
[Anonymous], ADV SIM COMP SEQ
[3]  
[Anonymous], 1997, Advanced compiler design implementation
[4]   GPUVerify: A Verifier for GPU Kernels [J].
Betts, Adam ;
Chong, Nathan ;
Donaldson, Alastair F. ;
Qadeer, Shaz ;
Thomson, Paul .
ACM SIGPLAN NOTICES, 2012, 47 (10) :113-131
[5]  
Boehm Hans-J., 2011, Proceedings of the 3rd USENIX conference on Hot topic in parallelism, HotPar'11, P3
[6]  
Chapman B., 2007, USING OPENMP PORTABL
[7]  
Das M, 2015, ACM SIGPLAN NOTICES, V50, P283, DOI [10.1145/2858788.2688552, 10.1145/2688500.2688552]
[8]   The OpenMP source code repository [J].
Dorta, AJ ;
Rodríguez, C ;
de Sande, F ;
González-Escribano, A .
13TH EUROMICRO CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, PROCEEDINGS, 2005, :244-250
[9]  
Eichenberger Alexandre E., 2013, OpenMP in the Era of Low Power Devices and Accelerators. 9th International Workshop on OpenMP, IWOMP 2013. Proceedings: LNCS 8122, P171, DOI 10.1007/978-3-642-40698-0_13
[10]  
Erickson J., 2012, DYNAMIC ANAL DATA RA