Skip to main content

Debugging OpenMP Programs Using Event Manipulation

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2104))

Abstract

Debugging nondeterministic parallel programs is accepted as one of the harder problems of software engineering. One source of nondeterminsm are semaphores used to establish and control critical sections. As some threads compete for a semaphore, the point of time by which a specific thread locks a specific semaphore is not determined and may change during subsequent executions. A technique for debugging programs containing such race conditions is event manipulation, which allows the user to investigate the effects of different ordering in accesses to semaphores during subsequent re-executions. This allows to detect hidden errors, that may otherwise occur only sporadically. The technique described in this paper targets at OpenMP programs, and is therefore the first approach to perform event manipulation on shared memory applications.

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. Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R., “Parallel Programming in OpenMP”, Academic Press, Morgan Kaufmann Publishers (2001)

    Google Scholar 

  2. Helmbold, D.P., McDowell, C.E., Wang, J.-Z., “Detecting Data Races by Analyzing Sequential Traces”, Proc. HICCS-24, Hawaii Intl. Conference on System Sciences, Vol. 2, Hawaii, USA, pp. 408–417 (January 1991).

    Google Scholar 

  3. Kranzlmüller, D., Grabner, S., Volkert, J., “Debugging with the MAD Environment”, Parallel Computing, Vol. 23,No. 1-2, pp. 199–217 (Apr. 1997).

    Article  MATH  Google Scholar 

  4. Kranzlmüller, D., “Event Graph Analysis for Debugging Massively Parallel Programs”, PhD Thesis, GUP Linz, Johannes Kepler University Linz, http://www.gup.uni-linz.ac.at/~dk/thesis (Sept. 2000).

  5. Lamport, L., “Time, Clocks, and the Ordering of Events in a Distributed System”, Communications of the ACM, pp. 558–565 (July 1978).

    Google Scholar 

  6. Leu, E., Schiper, A., and Zramdini, A., “Execution Replay on Distributed Memory Architectures”, Proc. 2nd IEEE Symposium on Parallel & Distributed Processing, Dallas, TX, USA, pp. 106–112 (Dec. 1990).

    Google Scholar 

  7. Netzer, R.H.B., Miller, B.P., “What are Race Conditions?–Some Issues and Formalizations”, ACM Letters on Programming Languages and Systems, Vol. 1,No. 1, pp. 74–88 (March 1992).

    Article  Google Scholar 

  8. Netzer, R.H.B., “Optimal Tracing and Replay for Debugging Shared-Memory Parallel Programs”, Proc. of the 3rd ACM/ONRWorkshop on Parallel and Distributed Debugging, San Diego, CA, USA (May 1993).

    Google Scholar 

  9. van Rick, M., Tourancheau, B., “The Design of the General Parallel Monitoring System”, Programming Environments for Parallel Computing, IFIP, North Holland, pp. 127–137 (1992).

    Google Scholar 

  10. Ronsse, M.A., De Bosschere, K., Chassin de Kergommeaux, J., “Execution Replay and Debugging”, Proc. AADEBUG 2000, 4th Intl. Workshop on Automated Debugging, Munich, Germany, pp. 5–18 (August 2000).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kobler, R., Kranzlmüller, D., Volkert, J. (2001). Debugging OpenMP Programs Using Event Manipulation. In: Eigenmann, R., Voss, M.J. (eds) OpenMP Shared Memory Parallel Programming. WOMPAT 2001. Lecture Notes in Computer Science, vol 2104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44587-0_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-44587-0_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42346-1

  • Online ISBN: 978-3-540-44587-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics