Skip to main content

Efficient Thread Labeling for On-the-fly Race Detection of Programs with Nested Parallelism

  • Conference paper
Software Engineering, Business Continuity, and Education (ASEA 2011)

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

Abstract

It is quite difficult to detect data races in parallel programs, because they may lead to unintended nondeterministic executions of the program. To detect data races during an execution of program that may have nested parallelism, it is important to maintain thread information called label which is used to determine the logical concurrency between threads. Unfortunately, the previous schemes of thread labeling introduce a serious amount of overhead that includes serializing bottleneck to access centralized data structure or depends on the maximum parallelism or the depth of nested parallelism. This paper presents an efficient thread labeling, called eNR Labeling, which does not use any centralized data structure and creates thread labels on every thread operation in a constant amount of time and space even in its worst case. Furthermore, this technique allows to determine the logical concurrency between threads in a small amount of time that is proportional only to the depth of nested parallelism. Compared with three state-of-the-arts labeling schemes, our empirical results using OpenMP benchmarks show that eNR labeling reduces both time overhead by 10% and space overhead by more than 90% for on-the-fly race detection.

“This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology(2011-0026340)”.

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.

References

  1. Audenaert, K.: Clock trees: logical clocks for programs with nested parallelism. IEEE Transactions on Software Engineering 23(10), 646–658 (1997)

    Article  Google Scholar 

  2. Audenaert, K., D’Hollander, E., Joubert, F., Trottenberg, F.: Maintaining Concurrency Information for On-the-fly Data Race Detection. Advances in Parallel Computing, 319–326 (1998)

    Google Scholar 

  3. Baldoni, R., Klusch, M.: Fundamentals of distributed computing: A practical tour of vector clock systems. IEEE Distributed Systems Online 3 (February 2002)

    Google Scholar 

  4. Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: Proceedings of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD 2006, pp. 69–78. ACM, New York (2006)

    Chapter  Google Scholar 

  5. Bender, M.A., Fineman, J.T., Gilbert, S., Leiserson, C.E.: On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs. In: Proceedings of the 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2004, pp. 133–144. ACM, New York (2004)

    Google Scholar 

  6. Bücker, H.M., Rasch, A., Wolf, A.: A class of openmp applications involving nested parallelism. In: Proc. of the 2004 ACM Symp. on Applied Comput., SAC 2004, pp. 220–224. ACM, New York (2004)

    Google Scholar 

  7. Dinning, A., Schonberg, E.: An empirical comparison of monitoring algorithms for access anomaly detection. In: Proceedings of the 2nd ACM SIGPLAN Symposium on Principles & Practice of Parallel Prog., PPOPP 1990, pp. 1–10. ACM, New York (1990)

    Google Scholar 

  8. Dorta, A.J., Rodriguez, C., Sande, F.D., Gonzalez-Escribano, A.: The openmp source code repository. In: Proceedings of the 13th Euromicro Conference on Parallel, Distributed and Network-Based Processing, pp. 244–250. IEEE Computer Society, Washington, DC, USA (2005)

    Google Scholar 

  9. Farchi, E., Nir, Y., Ur, S.: Concurrent bug patterns and how to test them. In: Proceedings of the 17th International Symposium on Parallel and Distributed Processing, IPDPS 2003, p. 286. IEEE Computer Society, Washington, DC, USA (2003)

    Google Scholar 

  10. Flanagan, C., Freund, S.N.: Fasttrack: efficient and precise dynamic race detection. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, pp. 121–133. ACM, New York (2009)

    Chapter  Google Scholar 

  11. Jannesari, A., Tichy, W.F.: On-the-fly race detection in multi-threaded programs. In: Proceedings of the 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, PADTAD 2008, pp. 6:1–6:10. ACM, New York (2008)

    Google Scholar 

  12. Jun, Y.K., Koh, K.: On-the-fly detection of access anomalies in nested parallel loops. In: Proceedings of the 1993 ACM/ONR Workshop on Parallel and Distributed Debugging, PADD 1993, pp. 107–117. ACM, New York (1993)

    Chapter  Google Scholar 

  13. Kejariwal, A., Nicolau, A., Veidenbaum, A.V., Banerjee, U., Polychronopoulos, C.D.: Efficient scheduling of nested parallel loops on multi-core systems. In: Proceedings of the 2009 International Conference on Parallel Processing, ICPP 2009, pp. 74–83. IEEE Computer Society, Washington, DC, USA (2009)

    Chapter  Google Scholar 

  14. Kim, D.G., Jun, Y.K.: Space-efficient on-the-fly race detection for programs with nested parallelism. In: Parallel and Distributed Systems, pp. 245–250 (1997)

    Google Scholar 

  15. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)

    Article  MATH  Google Scholar 

  16. Mellor-Crummey, J.: On-the-fly detection of data races for programs with nested fork-join parallelism. In: Proceedings of the 1991 ACM/IEEE Conference on Supercomputing, Supercomputing 1991, pp. 24–33. ACM, New York (1991)

    Chapter  Google Scholar 

  17. Netzer, R.H.B., Miller, B.P.: What are race conditions?: Some issues and formalizations. ACM Lett. Program. Lang. Syst. 1, 74–88 (1992)

    Article  Google Scholar 

  18. Nudler, I., Rudolph, L.: Tools for the efficient development of efficient parallel programs. In: Proceedings of 1st Israeli Conference on Computer System Engineering. IEEE (1988)

    Google Scholar 

  19. O’Callahan, R., Choi, J.D.: Hybrid dynamic data race detection. In: Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2003, pp. 167–178. ACM, New York (2003)

    Google Scholar 

  20. Ronsse, M., De Bosschere, K.: Recplay: a fully integrated practical record/replay system. ACM Trans. Comput. Syst. 17, 133–152 (1999)

    Article  Google Scholar 

  21. Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15, 391–411 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ha, OK., Jun, YK. (2011). Efficient Thread Labeling for On-the-fly Race Detection of Programs with Nested Parallelism. In: Kim, Th., et al. Software Engineering, Business Continuity, and Education. ASEA 2011. Communications in Computer and Information Science, vol 257. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27207-3_47

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27207-3_47

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics