내포병렬성을 가진 공유메모리 프로그램의 수행중 최초경합 탐지를 위한 효율적 기법

Efficient On-the-fly Detection of First Races in Shared-Memory Programs with Nested Parallelism

  • 발행 : 2003.08.01

초록

내포병렬성을 가진 공유메모리 병렬프로그램의 효과적인 디버깅을 위해서, 프로그램의 비결정적 수행을 최초로 초래하는 경합을 효율적으로 탐지하는 것이 중요하다. 이러한 최초경합을 수행 중에 탐지하는 기존의 기법은 두 번의 프로그램 수행을 통해서 탐지하면서 각 공유변수마다 프로그램의 최대병렬성에 의존적인 크기의 접근역사를 유지하므로 비효율적인 수행시간과 기억공간을 요구한다. 본 논문에서는 두 번의 프로그램 수행을 통해서 수행 중에 각 공유변수에 대한 접근역사를 상수적 크기로 유지하므로, 각 접근사건의 수행 시에 상수적 복잡도의 사건비교 횟수와 기억 공간만을 요구하는 새로운 최초경합 탐지기법을 제안한다. 그러므로 본 기법은 내포병렬성을 가진 공유메모리 병렬프로그램의 디버깅을 위해서 보다 효율적이고 실용적인 경합탐지를 가능하게 한다

For debugging effectively the shared-memory programs with nested parallelism, it is important to detect efficiently the first races which incur non-deterministic executions of the programs. Previous on-the-fly technique detects the first races in two passes, and shows inefficiencies both in execution time and memory space because the size of an access history for each shared variable depends on the maximum parallelism of program. This paper proposes a new on-the-fly technique to detect the first races in two passes, which is constant in both the number of event comparisons and the space complexity on each access to shared variable because the size of an access history for each shared variable is a small constant. This technique therefore makes on-the-fly race detection more efficient and practical for debugging shared-memory programs with nested parallelism.

키워드

참고문헌

  1. Netzer R. H. B., and B. P. Miller, 'What are Race Conditions? Some Issues and Formalizations,' Letters on Programming Lang. and Systems, 1(1):74-88, ACM, 1992 https://doi.org/10.1145/130616.130623
  2. Choi J., and S. Min. 'Race Frontier Reproducing Data Races in Parallel Program Debugging,' 3rd Symp. On Principles and Practice of Parallel Programming, pp. 145-154, ACM, 1991 https://doi.org/10.1145/109625.109641
  3. Jun Y., and C. E. McDowell, 'On the fly Detection of the First Races in Programs with Nested Parallelism,' 2nd Int'l Conf. on Parallel and Distributed Processing Techniques and Applications, pp. 1549-1560, CSREA, 1996
  4. Kim J., and Y. Jun, 'Scalable On the fly Detection of the First Races in Parallel Programs,' 12nd Int'l Conf. on Super computing, pp. 345-352, ACM, 1998 https://doi.org/10.1145/277830.277914
  5. Park H., and Y. Jun, 'Detecting the First Races in Parallel Programs with Ordered Synchronization,' 6th Int'l Conf. on Parallel and Distributed Systems, pp. 201-208, IEEE, 1998 https://doi.org/10.1109/ICPADS.1998.741043
  6. Ronsse M., and K. De Bosschere, 'ReePlay: A Fully Integrated Practical Record/Replay System,' Tr. on Computer Systems, 17(2): 133-152, ACM, May 1999 https://doi.org/10.1145/312203.312214
  7. Kim J., D. Kim, and Y. Jun, 'Scalable Visualization for Debugging Races in OpenMP Programs,' 3rd Int'l Conf. on Communications in Computing, pp. 259-265, Las Vegas, Nevada, World Academy of Science, June 2002
  8. Jun Y., and K. Koh, 'On the fly Detection of Access Anomalies Nested Parallel Loops,' 3rd Workshop on Parallel and Distributed Debugging, pp. 107-117. ACM, 1993 https://doi.org/10.1145/174266.174278
  9. Leslie Lamport, 'Times, Clocks, and the Ordering of Events in Distributed System,' Comm. of the ACM, 21(7): 558-565, ACM, July 1978 https://doi.org/10.1145/359545.359563
  10. Mellor Crummey J., 'On the fly Detection of Data Races for Program with Nested Fork-Join Parallelism,' Supercomputing, pp. 24-33, ACM/IEEE, Nov. 1991 https://doi.org/10.1145/125826.125861
  11. Netzer R. H. B., and Miller B. P., 'Improving the Accuracy of Data Race Detection,' 3rd Symp. on Principles and Practice of Parallel Programming, pp. 133-144, ACM, 1991 https://doi.org/10.1145/109625.109640
  12. Chandra R., L. Dagum, D. Kohr, D. Maydan, J. McDonald, R. Menon, Parallel Programming in openMP, Academic Press, 2001
  13. OpenMP Architecture Review Board, OpenMP Fortran Application Program Interface, Ver. 2.0, Nov. 2000
  14. Dinning A., and E. Schonberg, 'An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection,' 2nd Symp. on Principles and Paractice of Parallel Programming, pp. 1-10, ACM, 1990 https://doi.org/10.1145/99163.99165
  15. Park S., M. Park, and Y. Jun, 'A Comparison of Scalable Labeling Schemes for Detecting Races in OpenMP Programs,' Int'l Workshop on OpenMP Applications and Tools, Lecture Notes in Computer Science, 2004: 68-80, Springer Verlag, OpenMP ARB, July 2001 https://doi.org/10.1007/3-540-44587-0_7