Efficiency of e-NR Labeling for On-the-fly Race Detection of Programs with Nested Parallelism

  • Sun-Sook Kim
  • Ok-Kyoon Ha
  • Yong-Kee Jun
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 151)


On-the-fly race detector using Lamport’s happened-before relation needs thread labeling scheme for generating unique identifiers which maintain logical concurrency information for the parallel thread. e-NR labeling creates the NR labels by inheriting from the parent thread a pointer to their shared information, so it requires constant amount of time and space overhead on every fork/join operation. Previous work compares e-NR labeling only with OS labeling using a set of synthetic programs to support that e-NR labeling is efficient in detecting races during an execution of programs with nested parallelism. This paper compares empirically e-NR labeling with BD labeling that shows the same complexity of space and time with OS labeling. The results using OpenMP benchmarks with nested parallelism show that e-NR labeling is more efficient than T-BD labeling by at least 2 times in total monitoring time for race detection, and by at least 3 times in average space for maintaining thread labels.


Empirical comparison thread labeling race detection nested parallelism e-NR labeling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Audenaert, K.: Clock trees: logical clocks for programs with nested parallelism. IEEE Transactions on Software Engineering 23(10), 646–658 (1997)CrossRefGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Bücker, H.M., Rasch, A., Wolf, A.: A class of openmp applications involving nested parallelism. In: Proceedings of the 2004 ACM Symposium on Applied Computing, SAC 2004, pp. 220–224. ACM, New York (2004)Google Scholar
  4. 4.
    Dinning, A., Schonberg, E.: Detecting access anomalies in programs with critical sections. SIGPLAN Not. 26, 85–96 (1991)CrossRefGoogle Scholar
  5. 5.
    Dorta, A.J., Rodriguez, C., Sande, F., 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 (2005)Google Scholar
  6. 6.
    Ha, O.K., Kim, S.S., Jun, Y.K.: Efficient thread labeling for monitoring programs with nested parallelism. In: Kim, T.H., Vasilakos, T., Sakurai, K., Xiao, Y., Zhao, G., Lzak, D. (eds.) Communication and Networking. CCIS, vol. 120, pp. 227–237. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  7. 7.
    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, p. 6. ACM, New York (2008)Google Scholar
  8. 8.
    Jun, Y.K., Koh, K.: On-the-fly detection of access anomalies in nested parallel loops. SIGPLAN Not. 28, 107–117 (1993)CrossRefGoogle Scholar
  9. 9.
    Lamport, L.: Ti clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefzbMATHGoogle Scholar
  10. 10.
    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 1991, pp. 24–33. ACM, New York (1991)Google Scholar
  11. 11.
    Netzer, R.H.B., Miller, B.P.: What are race conditions?: Some issues and formalizations. ACM Lett. Program. Lang. Syst. 1, 74–88 (1992)CrossRefGoogle Scholar
  12. 12.
    Park, S.H., Park, M.Y., Jun, Y.K.: A comparison of scalable labeling schemes for detecting races in openmp programs. In: Eigenmann, R., Voss, M. (eds.) WOMPAT 2001. LNCS, vol. 2104, pp. 68–80. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    The openmp api specification for parallel programming.,

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Sun-Sook Kim
    • 1
  • Ok-Kyoon Ha
    • 2
  • Yong-Kee Jun
    • 2
  1. 1.Specialized Graduate School for Aerospace EngineeringSouth Korea
  2. 2.Department of InformaticsGyeongsang National UniversityJinjuSouth Korea

Personalised recommendations