Abstract
Building powerful machines is only one part of high performance computing. Obviously, such supercomputers must be programmed efficiently to obtain the desired performance. This task is difficult and time consuming due to huge amounts of data being processed and critical anomalies like deadlocks and race conditions.This paper focuses on race conditions in shared-memory programs, which are introduced due to nondeterministic behavior at synchronization or communication operations. Such programs may yield different results, even if the same input data is provided. This complicates testing anddebugging, where techniques for re-executingand controlling the nondeterminism of such programsare needed. Sucha sophisticated technique is event manipulation, whichallows to steer race conditions in parallel programs.While originally applied to message-passing programs, the latest event manipulation approach addresses OpenMP shared-memoryprograms. This paper describes the principal idea of shared-memory event manipulation and demonstrates its application for a simple mutual exclusion example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.,Parallel Programming in OpenMP, Academic Press, Morgan Kaufmann Publishers (2001).
Fidge, C.J., Fundamentals of Distributed System Observation, IEEE Software, Vol. 13,No. 6, pp. 77–83 (November 1996).
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).
Hu, Y.C., Lu, H., Cox, A.L., Zwaenepoel, W., OpenMP for Networks of SMPs, Journal of Parallel and Distr. Computing, Vol. 60(12), pp. 1512–1530 (Dec. 2000).
Kacsuk, P., Systematic Macrostep Debugging of Message Passing Parallel Programs, Future Generation Computer Systems, North-Holland, Vol. 16,No. 6, pp. 597–607 (April 2000).
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., Schaubschläger, Ch., Volkert, J.,The Completeness Problem of Parallel Program Testing, Proc. SCI 2000, Orlando, Florida, USA, Vol. VII, pp. 435–440 (July 2000).
Kranzlmüller, D., Event Graph Analysis for Debugging Massively Parallel Programs, PhD Thesis, GUP Linz, Joh. Kepler University Linz (September 2000). http://www.gup.uni-linz.ac.at/~dk/thesis
Lamport, L., Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM, pp. 558–565 (July 1978).
LeBlanc, T.J., Mellor-Crummey, J.M., Debugging Parallel Programs with Instant Replay, IEEE Trans. on Computers, Vol. C-36,No. 4, pp. 471–481 (April 1987).
Lewis, T.G., Foundations of Parallel Programming-A Machine-Independent Approach, IEEE Computer Society Press, Los Alamitos, CA, USA (1993).
Miller, B.P., Choi, J.-D., A Mechanism for Efficient Debugging of Parallel Programs, Proc. PLDI’88, ACM SIGPLAN’88 Conference on Programming Language Design and Implementation, Atlanta, Georgia, pp. 135–153 (June 1988).
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/ONR Workshop 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., Levrouw, L.J., On the Implementation of a Replay Mechanism, Proc. EuroPar’ 96, LNCS, Vol. 1123, Lyon, France, pp. 70–73 (August 1996).
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
Kranzlmüller, D., Kobler, R., Volkert, J. (2001). Event Manipulation for Nondeterministic Shared-Memory Programs. In: Hertzberger, B., Hoekstra, A., Williams, R. (eds) High-Performance Computing and Networking. HPCN-Europe 2001. Lecture Notes in Computer Science, vol 2110. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48228-8_29
Download citation
DOI: https://doi.org/10.1007/3-540-48228-8_29
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42293-8
Online ISBN: 978-3-540-48228-4
eBook Packages: Springer Book Archive