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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R., “Parallel Programming in OpenMP”, Academic Press, Morgan Kaufmann Publishers (2001)
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).
Kranzlmüller, D., Grabner, S., Volkert, J., “Debugging with the MAD Environment”, Parallel Computing, Vol. 23,No. 1-2, pp. 199–217 (Apr. 1997).
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).
Lamport, L., “Time, Clocks, and the Ordering of Events in a Distributed System”, Communications of the ACM, pp. 558–565 (July 1978).
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).
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).
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).
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).
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).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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