Skip to main content

Dynamic Instrumentation for Nested Fork-join Parallelism in OpenMP Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 7709))

Abstract

It is important to determine the logical concurrency of OpenMP programs, because it helps detecting data races between two threads in an execution of the program. RaceStand have been developed to detect on-the-fly data races for OpenMP applications. Unfortunately, the previous tool does not detect data races or reports false positives for nested fork-join parallelism which uses function calls for the execution of parallel regions by its defective source code instrumentation. In this paper, we present an instrumentor to determine logical concurrency of parallel threads using a dynamic binary instrumentation technique based on Pin software framework. We implemented a Pin-tool as data race detection tool including our instrumentor, and empirically compared the correctness of the Pin-tool with previous tool using a set of synthetic programs considering nested parallelism and function calls.

“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(2012-0007434)”.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bach, M., Charney, M., Cohn, R., Demikhovsky, E., Devor, T., Hazelwood, K., Jaleel, A., Luk, C.K., Lyons, G., Patil, H., Tal, A.: Analyzing parallel programs with pin. Computer 43(3), 34–41 (2010)

    Article  Google Scholar 

  2. Dagum, L., Menon, R.: Openmp: an industry standard api for shared-memory programming. Computational Science Engineering 5(1), 46–55 (1998)

    Article  Google Scholar 

  3. Ha, O.-K., Kim, Y.-J., Kang, M.-H., Jun, Y.-K.: Empirical Comparison of Race Detection Tools for OpenMP Programs. In: Ślęzak, D., Kim, T.-h., Yau, S.S., Gervasi, O., Kang, B.-H. (eds.) GDC 2009. CCIS, vol. 63, pp. 108–116. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Ha, O.K., Kuh, I.B., Tchamgoue, G.M., Jun, Y.K.: On-the-fly detection of data races in openmp programs. In: Proceedings of the 2012 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, PADTAD 2012, pp. 1–10. ACM, New York (2012)

    Chapter  Google Scholar 

  5. Ha, O., Jun, Y.: Efficient Thread Labeling for On-the-fly Race Detection of Programs with Nested Parallelism. In: Kim, T.-h., Adeli, H., Kim, H.-k., Kang, H.-j., Kim, K.J., Kiumi, A., Kang, B.-H. (eds.) ASEA 2011. CCIS, vol. 257, pp. 424–436. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  6. Kuh, I.B., Ha, O.K., Jun, Y.K.: Tracing logical concurrency for dynamic race detection in openmp programs. In: Proceedings of the 1st International Conference on Software Technology, SoftTech 2012. SERSC, pp. 222–224 (2012)

    Google Scholar 

  7. Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2005, pp. 190–200. ACM, New York (2005)

    Chapter  Google Scholar 

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

  9. Patil, H., Pereira, C., Stallcup, M., Lueck, G., Cownie, J.: Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs. In: Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2010, pp. 2–11. ACM, New York (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Meng, Y., Ha, OK., Jun, YK. (2012). Dynamic Instrumentation for Nested Fork-join Parallelism in OpenMP Programs. In: Kim, Th., Lee, Yh., Fang, Wc. (eds) Future Generation Information Technology. FGIT 2012. Lecture Notes in Computer Science, vol 7709. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35585-1_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35585-1_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35584-4

  • Online ISBN: 978-3-642-35585-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics