Skip to main content

Empirical Comparison of Race Detection Tools for OpenMP Programs

  • Conference paper
Book cover Grid and Distributed Computing (GDC 2009)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 63))

Included in the following conference series:

Abstract

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.

“This research was supported by the MKE (The Ministry of Knowledge Economy), Korea, under the ITRC (Information Technology Research Center) support program supervised by the IITA (Institute for Information Technology Advancement)” (IITA-2009-C1090-0904-0001).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A Theory of Data Race Detection. In: The 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD), pp. 69–78. ACM Press, New York (2006)

    Chapter  Google Scholar 

  2. Bull, J.M.: Measuring Synchronization and Scheduling Overheads in OpenMP. In: European Workshop on OpenMP (EWOMP), pp. 99–105 (1999)

    Google Scholar 

  3. Dinning, A., Schonberg, E.: Detecting Access Anomalies in Programs with Critical Sections. In: The ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 85–96. ACM Press, New York (1991)

    Chapter  Google Scholar 

  4. Jun, Y., Koh, K.: On-the-fly Detection of Access Anomalies in Nested Parallel Loops. In: 3rd ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 107–117. ACM Press, New York (1993)

    Chapter  Google Scholar 

  5. Kim, Y., Kang, M., Ha, O., Jun, Y.: Efficient Race Verification for Debugging Programs with OpenMP Directives. In: Malyshkin, V.E. (ed.) PaCT 2007. LNCS, vol. 4671, pp. 230–239. Springer, Heidelberg (2007)

    Chapter  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 

  7. Mellor-Crummey, J.M.: On-the-fly Detection of Data Races for Programs with Nested Fork-Join Parallelism. In: The ACM/IEEE conference on Supercomputing, pp. 24–33. ACM/IEEE, New York (1991)

    Chapter  Google Scholar 

  8. Netzer, R.H.B., Miller, B.P.: What Are Race Conditions? Some Issues and Formalizations. ACM Lett. Program. Lang. Syst. 1(1), 74–88 (1992)

    Article  Google Scholar 

  9. The OpenMP API specification for parallel programming, http://www.openmp.org

  10. Park, S., Park, M., Jun, Y.: A Comparison of Scalable Labeling Schemes for Detecting Races in OpneMP Programs. In: Eigenmann, R., Voss, M.J. (eds.) WOMPAT 2001. LNCS, vol. 2104, pp. 68–80. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Petersen, P., Shah, S.: OpenMP Support in the Intel Thread Checker. In: Voss, M.J. (ed.) WOMPAT 2003. LNCS, vol. 2716, pp. 1–12. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. Rinard, M.: Analysis of Multithreaded Programs. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 1–19. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ha, OK., Kim, YJ., Kang, MH., Jun, YK. (2009). Empirical Comparison of Race Detection Tools for OpenMP Programs. In: Ślęzak, D., Kim, Th., Yau, S.S., Gervasi, O., Kang, BH. (eds) Grid and Distributed Computing. GDC 2009. Communications in Computer and Information Science, vol 63. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10549-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10549-4_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10548-7

  • Online ISBN: 978-3-642-10549-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics