Abstract
Detecting data races or just races is important for debugging OpenMP programs, because races result in unintended nondeterministic executions of the program. The previous tool to detect the races in OpenMP programs monitors a serial execution of the program, but unfortunately cannot guarantee to verify the existence of races even in the programs only with the directives. This paper presents a practical tool which monitors a parallel execution of standard OpenMP program, and not only verifies the existence of races but also detects first races for each shared variable in the programs.
This work was supported in part by IT Leading R&D Support Project funded by Ministry of Information and Communication, Republic of Korea.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Choi, J., Min, S.L.: Race Frontier: Reproducing Data Races in Parallel-Program Debugging. In: 3rd Symposium on Principles and Practice of Parallel Programming, pp. 145–154. ACM, New York (1991)
Dagum, L., Menon, R.: OpenMP: An Industry-Standard API for Shared-Memory Programming. Computational Science and Engineering 5(1), 46–55 (1998)
Dinning, A., Schonberg, E.: Detecting Access Anomalies in Programs with Critical Sections. In: 2nd Workshop on Parallel and Distributed Debugging (WPDD), pp. 85–96. ACM, New York (1991)
Intel Corp., Getting Started with the Intel Thread Checker, 2200 Mission College Blvd., Santa Clara, CA 95052-8119, USA (2004)
Jun, Y., Koh, K.: On-the-fly Detection of Access Anomalies in Nested Parallel Loops. In: 3rd Workshop on Parallel and Distributed Debugging (WPDD), pp. 107–117. ACM, New York (1993)
Jun, Y., McDowell, C.E.: Scalable Monitoring Technique for Detecting Races in Parallel Programs. In: 5th Int’l Workshop on High-Level Parallel Prog. Models and Supportive Environments (HIPS), pp. 340–347. IEEE, Cancun (2000)
Jun, Y., McDowell, C.E.: On-the-fly Detection of the First Races in Programs with Nested Parallelism. In: 2nd Int’l Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA), CSREA, August 1996, pp. 1549–1560 (1996)
Kim, J., Jun, Y.: Scalable On-the-fly Detection of the First Races in Parallel Programs. In: 12th Intl. Conf. on Supercomputing (ICS), July 1998, pp. 345–352. ACM, Melbourne (1998)
Kim, Y., Jun, Y.: Restructuring Parallel Programs for On-the-fly Race Detection. In: 5th Int’l Conf. on Parallel Computing Technologies (PaCT), St. Petersburg, Russia, September 1999. Russian Academy of Science (RAS), pp. 446–451 (1999)
Kim, J., Kim, D., Jun, Y.: Scalable Visualization for Debugging Races in OpenMP Programs. In: The 3rd Int’l Conf. on Communications in Computing (CIC), Las Vegas, Nevada, June 2002, pp. 259–265 (2002)
Netzer, R.H.B., Miller, B.P.: What Are Race Conditions? Some Issues and Formalizations. Letters on Programming Lang. and Systems 1(1), 74–88 (1992)
Mellor-Crummey, J.: On-the-fly Detection of Data Races for Programs with Nested Fork-Join Parallelism. In: Supercomputing, pp. 24–33. ACM/IEEE (November 1991)
Park, H., Jun, Y.: Detecting the First Races in Parallel Programs with Ordered Synchronization. In: 6th Int’l Conf. on Parallel and Distributed Systems (ICPADS), pp. 201–208. IEEE, Tainan (1998)
Park, S., Park, M., Jun, Y.: A Comparison of Scalable Labeling Schemes for Detecting Races in OpenMP Programs. In: Int’l Workshop on OpenMP Applications and Tools (Wompat), West Lafayette, Indiana, July 2001, pp. 68–80 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, YJ., Park, MY., Park, SH., Jun, YK. (2005). A Practical Tool for Detecting Races in OpenMP Programs. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2005. Lecture Notes in Computer Science, vol 3606. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11535294_28
Download citation
DOI: https://doi.org/10.1007/11535294_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28126-9
Online ISBN: 978-3-540-31826-2
eBook Packages: Computer ScienceComputer Science (R0)