Empirical Comparison of Race Detection Tools for OpenMP Programs
Data races or races which occur in parallel programs such as OpenMP programs must be detected, because they may lead to unpredictable results of program executions. There are three representative tools which detect races which can occur in OpenMP programs: Thread Analyzer of Sun Inc., Thread Checker of Intel Corporation, and RaceStand of GNU. Two of these tools, Thread Checker and RaceStand, are known with their power for race detection through empirical analysis. But Thread Analyzer has not been analyzed empirically about its power for race detection and we cannot know exactly its race verification capability as well as its efficiency. This paper empirically analyzes the verification capability of Thread Analyzer using a set of synthetic programs which has nested parallelism or inter-thread coordination, and compares three race detection tools in an aspect of efficiency through OpenMP Micro-benchmarks of EPCC that measures loop scheduling and array operations. We predicted that Thread Analyzer verifies the existence of races in most OpenMP programs. And we found that Thread Analyzer is faster than Thread Checker about 5 times and 2 times slower than RaceStand in arraybench of EPCC. Also, it shows similar time variation with Thread Checker and is about 20 times slower than RaceStand in schedbench of EPCC.
KeywordsOpenMP programs races race detection tools verification efficiency parallel loop programs
Unable to display preview. Download preview PDF.
- 2.Bull, J.M.: Measuring Synchronization and Scheduling Overheads in OpenMP. In: European Workshop on OpenMP (EWOMP), pp. 99–105 (1999)Google Scholar
- 6.Kim, Y., Kim, D., Jun, Y.: An Empirical Analysis of Intel Thread Checker for Detecting Races in OpenMP Programs. In: IEEE International Conference on Computer and Information Science, pp. 409–414. IEEE Press, New York (2008)Google Scholar
- 9.The OpenMP API specification for parallel programming, http://www.openmp.org
- 13.SUN Microsystems, Inc.: Sun Studio 12: Thread Analyzer User’s Guide (2007)Google Scholar
- 14.Terboven, C.: Comparing Intel Thread Checker and Sun Thread Analyzer. In: Minisymp. on Scalability and Usability of HPC Prog. Tools Workshop, Parallel Computing (ParCo), NIC, NIC Series, Juelich, vol. 38, pp. 669–676 (2007)Google Scholar