Check of Concurrency in Parallel Programs using Image Information

영상정보를 이용한 병렬 프로그램내의 병행성 판별

  • 박명철 (국립 경상대학교 컴퓨터과학과) ;
  • 하석운 (국립 경상대학교 컴퓨터과학과)
  • Published : 2006.12.30

Abstract

A parallel program including a nested parallelism has a complex execution aspects and tasks are executed concurrently. This concurrency is a main cause raising most of errors. In this paper, a new method for checking concurrency between two tasks is proposed. The existing techniques for checking the concurrency have their limits to represent a global structure. A new labeling technique that appropriate for image visualization is proposed. To show the global structure by imaging of execution aspects through region partition on 2D plane. On the basis of it, each of the tasks that can distinguish the ordered relation create an independent image. Image information generated by the result simplifies semantic analysis of the related task, and provides an outline of a global execution aspects structure of the program to user effectively.

내포 병렬성을 포함하는 병렬 프로그램은 복잡한 수행 양상을 가지며, 태스크들은 병행적으로 수행되는 경향이 있다. 이러한 병행성은 대부분의 오류을 유발하는 근본적인 원인이 된다. 본 논문은 병렬 프로그램 수행양상을 영상화하여 두 태스크간의 병행성을 판별할 수 있는 새로운 방법을 제안한다. 기존의 방법들은 전역적인 구조를 보이는데 제약이 있고 과다한 추상화로 인하여 수행양상의 직관성을 저해하는 경향이 있다. 본 논문에서 제안한 기법은 영상 가시화에 적합한 레이블링 기법을 제안하고, 제안한 레이블링 기법을 적용하여 산출된 각 태스크의 레이블정보를 2차원 평면상에서 분할된 영역으로 표현한다. 이를 토대로 각 태스크의 순서화 관계를 식별할 수 있는 독립된 영상을 생성한다. 결과로 생성된 영상은 관련 태스크의 의미론적 분석을 간소화하고 전체 프로그램의 전역적 수행 구조의 개요를 사용자에게 효과적으로 제공한다.

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, Advances in Parallel Computing, Elsevier, NorthHolland, Amsterdam, Vol.12, 1998
  2. Citron D., D. G. Feitelson, and I. Exman, 'Parallel Activity Roadrnaps,' Int'l Conf. on Parallel Computing (ParCo '93), Parallel Computing: Trends and Applications pp. 593-596, Elsevier Science, 1994
  3. 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
  4. 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
  5. Dinning A., and E. Schonberg, 'Detecting Access in Programs with Critical Sections,' 2nd Workshop on Parallel and Distributed Debugging, pp.85-96, ACM, May 1991
  6. . Kim, Y. Kim and Y. Jun, 'Effective Race Visualization for Debugging OpenMP Programs,' Proc. Blnd KlSS Conference, Vol. 31 No. 02 pp. 13-15 Oct. 2004
  7. Helmbold, D. P., C. E. McDowell, and J. Wang, 'TraceViewer: A Graphical Browser for Trace Analysis,' TR-90-59, UCSC. 1990
  8. K. Audenaert, 'Clock Trees: Logical Clocks for Programs with Nested Parallelism,' IEEE Trans. Software Eng., vol. 23, no. 10,1997
  9. Kim, J., D. Kim, and Y. Jun, 'Scalable Visualization for Debugging Races in OpenMP Programs,' Proc. of the 3rd Int'l Conf. on Communications in Computing (CIC), pp.259-265, Las Vegas, Nevada, June 2002
  10. Kuhn, B., P. Petersen, and E. O'Toole, '0penMP versus Threading in C/C++,' EWOMP '99, Lund, Sweden, Sept. 1999
  11. Netzer R. H. B., and B. P. Miller, 'What are Race Condition? Some Issues and Formalization,' Letters on Programming Lang. and System, 1(1):74-88, ACM, 1992 https://doi.org/10.1145/130616.130623
  12. OenMP Architecture Review Board, OpenMP Fortran Application Program Interface, Version 2.0, Nov., 2000
  13. S. Park, M. Park, and Y. Jun, 'A Comparision of Scalable Labeling Schemes for Detecting Races in OpenMP Programs,' lnt'l Workshop on OpenMP Applications and Tools (Wompat), pp. 66-80, West lafayette, Indiana, July 2001
  14. Sue, U. H. and C. M. Pancake, 'Graphical Animation of Parallel Fortran Programs,' Supercomputing '91, pp. 491-500, ACM/EEE, Nov, 1991
  15. Y-K. Jun and K. Koh, 'On-the-fly Detection of Access Anomalies in Nested Parallel Loops,' Proc. ACM/ONR Workshop Parallel and Distributed Debugging, pp. 107-117, May 1993
  16. Zemik, D., M. Snir, and D, Malld, 'Using Visualization Tools to Understand Concurrency,' Software, 9(3): 87-92, IEEE, May 1992 https://doi.org/10.1109/52.136185
  17. Mellor-Crummey, J., 'On-the-fly Detection of Data Races for Program with Nested Fork-Join Parallelism,' Supercomputing '91, pp. 24-33, ACM/IEEE, Nov. 1991