Skip to main content

Efficient Thread Labeling for Monitoring Programs with Nested Parallelism

  • Conference paper
Communication and Networking (FGCN 2010)

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

Abstract

It is difficult and cumbersome to detect data races occurred in an execution of parallel programs. Any on-the-fly race detection techniques using Lamport’s happened-before relation needs a thread labeling scheme for generating unique identifiers which maintain logical concurrency information for the parallel threads. NR labeling is an efficient thread labeling scheme for the fork-join program model with nested parallelism, because its efficiency depends only on the nesting depth for every fork and join operation. This paper presents an improved NR labeling, called e-NR labeling, in which every thread generates its label by inheriting the pointer to its ancestor list from the parent threads or by updating the pointer in a constant amount of time and space. This labeling is more efficient than the NR labeling, because its efficiency does not depend on the nesting depth for every fork and join operation. Some experiments were performed with OpenMP programs having nesting depths of three or four and maximum parallelisms varying from 10,000 to 1,000,000. The results show that e-NR is 5 times faster than NR labeling and 4.3 times faster than OS labeling in the average time for creating and maintaining the thread labels. In average space required for labeling, it is 3.5 times smaller than NR labeling and 3 times smaller than OS labeling.

“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 NIPA(National IT Industry Promotion Agency)” (NIPA-2010-(C1090-1031-0007)).

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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.

Similar content being viewed by others

References

  1. Audenaert, K.: Clock Tree: Logical Clocks for programs with Nested Parallelism. IEEE Transactions on Software Engineering 23(10), 646–658 (1997)

    Article  Google Scholar 

  2. Baldoni, R., Raynal, M.: Fundamentals of Distributed Computing: A Practical Tour of Vector Clock Systems. IEEE Distributed Systems Online 3(2) (2002)

    Google Scholar 

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

    Google Scholar 

  4. Fidge, C.J.: Logical Time in distributed Computing Systems. Computer, 28–33 (1991)

    Google Scholar 

  5. Jannesari, A., Tichy, W.F.: On-the-fly Race Detection in Multi-threaded Programs. In: The 2008 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD), pp. 1–10. ACM Press, New York (2008)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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 

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

  11. 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 

  12. 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 

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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ha, OK., Kim, SS., Jun, YK. (2010). Efficient Thread Labeling for Monitoring Programs with Nested Parallelism. In: Kim, Th., Vasilakos, T., Sakurai, K., Xiao, Y., Zhao, G., Ślęzak, D. (eds) Communication and Networking. FGCN 2010. Communications in Computer and Information Science, vol 120. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17604-3_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17604-3_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17603-6

  • Online ISBN: 978-3-642-17604-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics