DOI QR코드

DOI QR Code

A Labeling Scheme for Efficient On-the-fly Detection of Race Conditions in Parallel Programs

병렬프로그램의 경합조건을 수행 중에 효율적으로 탐지하기 위한 레이블링 기법

  • 박소희 (경상대학교 대학원 컴퓨터과학과) ;
  • 우종정 (성신여자대학교 컴퓨터정보학부) ;
  • 배종민 (경상대학교 컴퓨터과학과) ;
  • 전용기 (경상대학교 컴퓨터과학과)
  • Published : 2002.12.01

Abstract

Race conditions, races in short, need to be detected for debugging parallel programs, because the races result in unintended non-deterministic executions. To detect the races in an execution of program, previous techniques use a centralized data structure which may incur serious bottleneck in generating concurrency information, or show inefficient time complexity which depends on the degree of nested parallelism in comparing any two of them. We propose a new labeling scheme in this paper, which is scalable in generating the concurrency information without bottleneck by using private data structure, and improves time complexity into constant in checking concurrency. The scalability and time efficiency therfore makes on-the-fly race detection efficient not only for programs with either shared-memory or message-passing, but also for programs with mixed model of the two.

병렬프로그램에서 경합 조건은 비결정적인 수행 결과를 초래하므로 디버깅을 위해 반드시 탐지되어야 한다. 이러한 경합을 수행 중에 탐지하는 기존의 기법들은 병행성 정보 생성 시에 공유 자료구조를 사용하여 심각한 병목현상을 발생시키거나, 병행성 정보 비교 시에 내포병렬성의 정도에 의존하는 비효율적인 시간 복잡도를 가진다. 본 논문에서는 개별 자료구조를 사용함으로써 병목현상을 제거하여 병행성 정보를 확장적으로 생성하며, 생성된 병행성 정보의 비교 시간을 상수적인 복잡도로 개선한 새로운 레이블링 기법을 제안한다. 그러므로 제안된 레이블링 기법의 확장성 및 효율성은 공유메모리와 메시지전달 프로그램뿐만 아니라 이를 혼합하여 사용하는 병렬프로그램에서도 효율적인 수행중 경합탐지를 가능하게 한다.

Keywords

References

  1. Audenaert, K., 'Maintaining Concurrency Information for On-the-fly Data Race Detection,' Int'l Conf. on Parallel Computing: Fundamentals, Applications and New Directions, Bonn, Germany, pp.319-326, Sept., 1997
  2. Audenaert, K., Advances in Parallel Computing, Elsevier, North-Holland, Amsterdam, Vol.12. 1998
  3. Mark, B. and L. Smith, 'Programming Next Generation HPC Systems: the Mixed-mode Model,' Next Generation HPC Systems and the Grid, The Univ. of Edinburgh Conf. and Training Centre, Edinburgh, U.K., Sept., 2001
  4. Cappello, F. and D. Etiemble, 'MPI versus MPI+ OpenMP on the IBM SP for the NAS Benchmarks,' Supercomputing, Dallas, TX, 2000
  5. Caubet, J. J. Gimenez, J. Labarta, L. DeRose and J. Vetter, 'A Dynamic Tracing Mechanism for Performance Analysis of OpenMP Applications,' Ini'l Workshop on OpenMP Applications and Tools, LNCS, 2104, West Lafayette, Indiana, pp.53-67, July, 2001
  6. Dagum, L. and R. Menon, 'OpenMP : an Industry-Standard API for Shared-Memory Programming,' Computational Scince and Engineering, 5(1), IEEE, 46-55, Jan.-March, 1998 https://doi.org/10.1109/99.660313
  7. Dinning, A. and E. Schonberg, 'An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection,' 2nd Symp. on Principles and Practice of Parallel Programming, ACM, pp.1-10, March, 1990 https://doi.org/10.1145/99163.99165
  8. Fidge, C. J., 'Partial Orders for Parallel Debugging,' 1st Workshop on Parallel and Distributed Debugging, ACM, pp.183-194, May, 1988 https://doi.org/10.1145/68210.69233
  9. Gropp, W., E. Lusk and A. Skjellum, Using MPI : Portable Parallel Programming with the Message-Passing Interface, The MIT Press, 2nd Edition, 1999
  10. Gropp, W. and E. Lusk, User's Guide for mpich, a Potable Implementation of MPI Version 1.2.2, Univ. of Chicago Press, 1996
  11. Hoeflinger, J., B. Kuhn, W. Nagel, P. Petersen, H. Rajic, S. Shah, J. Vetter, M. Voss and R. Woo, 'An Integrated Performance Visualizer for MPI/OpenMP Programs,' Workshop on OpenMP Applications and Tools, LNCS, 2104, West Lafayette, Indiana, pp.40-52, July, 2001
  12. Neyman, M., M. Bukowski and P. Kuzora, 'Efficient Replay of PVM Programs,' 6-th European PVM/MPI User's Group Meeting, Barcelona, Spain, pp.83-90, Sept., 1999
  13. Netzer, R. H. B. and Miller, B. P., 'Optimal Tracing and Replay for Debugging Message-Passing Parallel Program,' The J. of Supercomputing, 8(4), pp.371-388, Oct., 1994 https://doi.org/10.1007/BF01901615
  14. OpenMP Architecture Review Board, OpenMP Fortran Application Program Interface, Version 2.0, Nov., 2000
  15. Park, S, M. Park and Y. Jun, 'A Comparison of Scalable Labeling Schemes for Detecting Races in OpenMP Programs,' Ini'l Workshop on OpenMP Applications and Tools, LNCS, 2104, West Lafayette, Indiana, pp.68-80. July, 2001
  16. Sato, M., S. Satoh, M. Kusano and Y. Tanaka, 'Design of OpenMP Compiler for an SMP Cluster,' Sweden, Sept., 1999
  17. Smith, L. and J. M. Bull, 'Development of Mixed Mode MPI/ OpenMP Applications,' Int'l Workshop on OpenMP Applications and Tools, San Diego, July, 2000