Browse > Article

A Verification Tool of Data Races in Programs with OpenMP Directives  

Kim, Young-Joo (한국정보통신대학교 IT공학부)
Jun, Yong-Kee (경상대학교 정보과학과)
Abstract
Races in programs with OpenMP directives must be detected for debugging, because they may cause unexpected result by non-deterministic executions. But, Thread Checker of Intel corporation, a well-known existing tool for detecting the races, is not practical because this tool does not verify the existence of races and is known that the cost for race detection is too big. This paper presents a web-based tool which verify the existence of races with an optimal functionality and performance using the results from the property analysis of OpenMP program as well as the user requirements. Our tool is proved to be practical in the aspect of functionality and performance by experiments using synthetic programs, because the suggested tool can verify the existence of race and shows O(n) as the ratio of time consumption while Thread Checker can not verify the existence of race and shows $O(n^2)$ as the ratio, where n is the number of total accesses.
Keywords
OpenMP Programs; Race Verification; Intel Thread Checker;
Citations & Related Records
연도 인용수 순위
  • Reference
1 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
2 Petersen, P., and S. Shah, 'OpenMP Support in the Intel Thread Checker,' Proc. of the Int'l Workshop on OpenMP Application and Tools (WOMPAT), Berlin Heidelberg, Lecture Notes in Computer Science, 2716: 1-12, Springer-Verlag, 2003
3 Rinard. M., 'Analysis of Multithreaded Programs,' Int'l Static Analysis Symposium (SAS), Lecture Notes in Computer Science, 2126: 1-19, Springer- Verlag, July 2001
4 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
5 Park, H., and Y. Jun, 'Two-Pass On-the-fly Detection of the First Races in Shared-Memory Parallel Programs,' Proc. of the 2nd Symp. on Parallel and Distributed Tools (SPDT), ACM, Welches, Oregon, August 1998
6 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
7 Intel Corp., Threading Methodology: Principle and Practices, Version 2.0, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA, 2003
8 Nudler, I., and L. Rudolph, 'Tools for the Efficient Development of Efficient Parallel Programs,' In 1st Israeli Conference on Computer System Engineering, 1986
9 Kusano, K., S. Satoh, and M. Sato, 'Performance Evaluation of the Omni OpenMP Compiler,' 3rd Int'l Symp. on High Performance Computing, pp. 403-414, Springer-Verlag, 2000
10 Park, S., M. Park, and Y. Jun, 'A Comparision of Scalable Labeling Schemes for Detecting Races in OpenMP Programs,' Int'l Workshop on OpenMP Applications and Tools (Wompat), pp. 66-80, West lafayette, Indiana, July 2001
11 Kim, J., and Y. Jun, 'Scalable On-the-fly Detection of the First Races in Parallel Programs,' Proc. of the 12nd Int'l Conf. on Supercomputing (ICS), pp. 345-352, ACM, Melbourne, Australia, July 1998
12 Netzer, R. H. B., and B. P. Miller, 'What Are Race Conditions? Some Issues and Formalizations,' Letters on Programming Lang. and Systems, 1(1): 74-88, ACM, March 1992   DOI   ScienceOn
13 Intel Corp., Getting Started with the Intel C++ Compiler 9.0 for Windows, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA, 2004
14 Dinning, A., and E. Schonberg, 'An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection,' 2nd Symp. on Principles and Practice of Parallel Programming, pp. 1-10, ACM, March 1990
15 Intel Corp., VTune(TM) Performance Analyzer 8.0 Release Notes, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA, 2006
16 Banerjee, U., B. Bliss, Z. Ma, and P. Petersen, 'A Theory of Data Race Detection,' Proc. of Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD), pp. 69-78, ACM, Portland, USA, July 2006
17 OpenMP Architecture Review Board, OpenMP Application Programs Interface, Version 2.5, May 2005
18 Intel Corp., Getting Started with the Intel Thread Checker, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA, 2004
19 Dinning, A., and E. Schonberg, 'Detecting Access Anomalies in Programs with Critical Sections,' 2nd Workshop on Parallel and Distributed Debugging, pp. 85-96, ACM, May 1991
20 Intel Corp., Intel Thread Checker for Windows 3.0 Release Notes, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA, 2005