Abstract
Message races, which can cause nondeterministic executions of a parallel program, should be detected for debugging because nondeterminism makes debugging parallel programs a difficult task. Even though there are some tools to detect message races in MPI programs, they do not provide practical information to locate and debug message races in MPI programs. In this paper, we present an on-the-fly detection tool, which is MPIRace-Check, for debugging MPI programs written in C language. MPIRace-Check detects and reports all race conditions in all processes by checking the concurrency of the communication between processes. Also it reports the message races with some practical information such as the line number of a source code, the processes number, and the channel information which are involved in the races. By providing those information, it lets programmers distinguish of unintended races among the reported races, and lets the programmers know directly where the races occur in a huge source code. In the experiment we will show that MPIRace-Check detects the races using some testing programs as well as the tool is efficient.
This work was supported in part by Research Intern Program of the Korea Science and Engineering Foundation and in part by the 2th BK21.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cypher, R., Leu, E.: The Semantics of Blocking and Nonblocking Send and Receive Primitives. In: 8th Intl. Parallel Processing Symp., April 1994, pp. 729–735. IEEE Computer Society Press, Los Alamitos (1994)
Cláudio, A.P., Cunha, J.D., Carmo, M.B.: MPVisualizer: A General Tool to Debug Message Passing Parallel Applications. In: Sloot, P.M.A., et al. (eds.) HPCN-Europe 1999. LNCS, vol. 1593, pp. 1199–1202. Springer, Heidelberg (1999)
Cláudio, A.P., Cunha, J.D., Carmo, M.B.: Monitoring and Debugging Message Passing Applications with MPVisualizer. In: 8th Euromicro Workshop on Parallel and Distributed Processing, Jan. 2000, pp. 376–382. IEEE Computer Society Press, Los Alamitos (2000)
Fidge, C.J.: Partial Orders for Parallel Debugging. In: SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, May 1988, pp. 183–194. ACM Press, New York (1988)
Krammer, B., Bidmon, K.: MARMOT: An MPI Analysis and Checking Tool. In: Proceedings of PARCO’03, Sep. 2003. Advances in Parallel Computing, vol. 13, pp. 493–500. Elsevier, Amsterdam (2003)
Krammer, B., Müller, M.S., Resch, M.M.: MPI Application Development Using the Analysis Tool MARMOT. In: Bubak, M., et al. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 464–471. Springer, Heidelberg (2004)
Kranzlmüller, D., Schulz, M.: Notes on Nondeterminism in Message Passing Programs. In: Kranzlmüller, D., et al. (eds.) PVM/MPI 2002. LNCS, vol. 2474, pp. 357–367. Springer, Heidelberg (2002)
Kranzlmüller, D., Schaubschläger, C., Volkert, J.: A Brief Overview of the MAD Debugging Activities. In: 4th International Workshop on Automated Debugging (AADEBUG 2000) (Aug. 2000)
Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)
Lei, Y., Tai, K.: Efficient Reachability Testing of Asynchronous Message-Passing Programs. In: 8th Int’l Conf. on Engineering of Complex Computer Systems, Dec. 2002, pp. 35–44. IEEE Computer Society Press, Los Alamitos (2002)
Mittal, N., Garg, V.K.: Debugging Distributed Programs using Controlled Re-execution. In: 19th Annual Symp. on Principles of Distributed Computing, Portland, Oregon, pp. 239–248. ACM Press, New York (2000)
Netzer, R.H.B., Brennan, T.W., Damodaran-Kamal, S.K.: Debugging Race Conditions in Message-Passing Programs. In: SIGMETRICS Symp. on Parallel and Distributed Tools, May 1996, pp. 31–40. ACM Press, New York (1996)
Park, M., Jun, Y.: Detecting Unaffected Race Conditions in Message-Passing Programs. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 268–276. Springer, Heidelberg (2004)
Snir, M., et al.: MPI: The Complete Reference. MIT Press, Cambridge (1996)
HPC Group: MPI Run Time Error Detection Test Suites. Iowa State University, USA (2006), http://rted.public.iastate.edu/MPI/
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Park, MY., Shim, S.J., Jun, YK., Park, HR. (2007). MPIRace-Check: Detection of Message Races in MPI Programs. In: Cérin, C., Li, KC. (eds) Advances in Grid and Pervasive Computing. GPC 2007. Lecture Notes in Computer Science, vol 4459. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72360-8_28
Download citation
DOI: https://doi.org/10.1007/978-3-540-72360-8_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72359-2
Online ISBN: 978-3-540-72360-8
eBook Packages: Computer ScienceComputer Science (R0)