Scalable Monitoring Technique for Detecting Races in Parallel Programs
Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended nondeterministic executions of the programs. Previous on-the-fly techniques to detect races have a bottleneck caused by the need to check or serialize all accesses to each shared variable in a program that may have nested parallelism with barrier synchronization. The new scalable monitoring technique in this paper reduces the bottleneck significantly by c necking or serializing at most 2(B + 1) non-nested accesses in an iteration for each shared variable, where B is the number of barrier operations in the iteration. This technique, therefore, makes on-the-fly race detection more scalable.
KeywordsParallel Program Shared Variable Parallel Loop Nest Level Shared Memory System
Unable to display preview. Download preview PDF.
- 1.Dinning, A., and E. Schonberg, “An Empirical Comparision of Monitoring Algorithms for Access Anomaly Detection,” 2nd Symp. on Principles and Practice of Parallel Programming, pp. 1–10, ACM, March 1990.Google Scholar
- 2.Jun, Y., “Improving Scalablility of On-the-fly Detection for Nested Parallelism” TR OS-9905, Dept. of Computer Science, Gyeongsang National Univ., March 1999.Google Scholar
- 3.Jun, Y., and C. E. McDowell, “On-the-fly Detection of the First Races in Programs with Nested Parallelism” 2nd Int. Conf. on Parallel and Distributed Processing Techniques and Applications, pp. 1549–1560, CSREA, August 1996.Google Scholar
- 4.Kim, D., and Y. Jun, “An Effective Tool for Debugging Races in Parallel Programs” 3rd Int. Conf. on Parallel and Distributed Processing Techniques and Applications, pp. 117–126, CSREA, July 1997.Google Scholar
- 5.Kim, J., and Y. Jun, “Scalable On-the-fly Detection of the First Races in Parallel Programs,” 12th Int. Conf. on Supercomputing, pp. 345–352, ACM, July 1998.Google Scholar
- 7.Mellor-Crummey, J., “Compile-time Support for Efficient Data Race Detection in Shared-Memory Parallel Programs” 3rd Workshop on Parallel and Distributed Debugging, pp. 129–139, ACM, May 1993.Google Scholar
- 8.Min, S. L., and J. D. Choi, “An Efficient Cache-based Access Anomaly Detection Scheme” 4th Int. Conf. on Architectural Support for Programming Language and Operating Systems, pp. 235–244, ACM, April 1991.Google Scholar
- 9.Netzer, R. H., and B. P. Miller, “Improving the Accuracy of Data Race Detection” 3rd Symp. on Prin. and Practice of Parallel Prog., pp. 133–144, ACM, April 1991.Google Scholar
- 10.OpenMP Architecture Review Board, OpenMP Fortran Application Program Interface, Version 1.0, Oct. 1997.Google Scholar
- 11.Parallel Computing Forum, “PCF Parallel Fortran Extensions,” Fortran Forum, 10(3), ACM, Sept. 1991.Google Scholar
- 12.Perković, D., and P. Keleher, “Online Data-Race Detection vis Coherency Guarantees,” 2nd Usenix Symp. on Operating Systems Design and Implementation, pp. 47–58, ACM/IEEE, Oct. 1996.Google Scholar
- 13.Richards, B., and J. R. Larus, “Protocol-Based Data-Race Detection,” 2nd Sigmetrics Symp. on Parallel and Dist. Tools, pp. 40–47, ACM, August 1998.Google Scholar