Browse > Article

An Efficient Tool for Verifying Races in OpenMP Directive Programs without Interthread Synchronization  

Ha, Ok-Kyoon (경상대학교 정보과학과)
Kang, Moon-Hye (경상대학교 정보과학과)
Kim, Young-Joo (한국정보통신대학교 IT공학부)
Jun, Yong-Ki (경상대학교 정보과학과)
Abstract
Races must be detected for debugging OpenMP programs with directives, because they may cause unintended nondeterministic results of programs. Intel Thread Checker, an existing tool that can detects races, can not verify the existence of races and is often time-consuming and tends to require large space. To solve these problems, we developed a tool that verifies the existence of races using user requirements and analyzed model of programs. However, the tool does not have optimal performance in programs which have no synchronization for interthread coordination. This paper presents an optimal tool that applies the optimum labeling and protocol for program models without interthread coordination. For synthetic programs without interthread synchronization, the tool verifies races over 250 times faster than the previous tool on the average, even if the maximum parallelism increases in every case of which the number of total accesses are identical.
Keywords
OpenMP; Debugging; Race; Race Detection;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Petersen, P., and S. Shah, "OpenMP Support in the Intel Thread Checker," WOMPAT 2003, pp. 1-12, June 2003
2 Jun, Y. and K. Koh, "On-the-fly Detection of Access Anomalies in Nested Parallel Loops," 3rd ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 107-117, ACM, May 1993
3 Netzer, R. H. B., and B. P. Miller, "What Are Race Conditions? Some Issues and Formalizations," Letters on Prog. Lang. and Systems, 1(1): 74-88, ACM, March 1992   DOI
4 Kim, Y., M. Park, S. Park, and Y. Jun, "A Practical Tool for Detecting Races in OpenMP Programs," Proc. of 8th Int'l Conf. on Parallel Computing Technologies (PaCT), Krasnoyarsk, Russia, Lecture Notes in Computer Science, 3606: 321-330, Springer-Verlag, Sept. 2005
5 Mellor-Crummey, J. M., "On-the-fly Detection of Data Races for Programs with Nested Fork-Join Parallelism," Supercomputing, pp. 24-33, ACM/ IEEE, Nov. 1991
6 Intel Co., Getting Started with the Intel Thread Checker and Thread Profiler, 2003
7 Dinning, A., and E. Schonberg, "Detecting Access Anomalies in Programs with Critical Sections," 2nd Wrokshop on Parallel and Distributed Debugging, pp. 85-96, ACM, May 1991
8 I. Nudler, L. Rudolph, "Tools for the Efficient Development of Efficient Parallel Programs," First Israeli Conference on Computer Systems Engineering, May 1986
9 Dagum, L., and R. Menon, "OpenMP: An Industry-Standard API for Shared Memory Programming," Computational Science and Engineering, 5(1): 46-55, IEEE, January-March 1998   DOI   ScienceOn