$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

멀티 스레딩 기반 병렬 프로그램의 효과적인 디버깅을 위한 추상적 시각화
Abstract Visualization for Effective Debugging of Parallel Programs Based on Multi-threading 원문보기

한국정보통신학회논문지 = Journal of the Korea Institute of Information and Communication Engineering, v.20 no.3, 2016년, pp.549 - 557  

김영주 (Embedded SW Research Department, Electronics and Telecommunications Research Institute)

초록
AI-Helper 아이콘AI-Helper

효과적인 시각화는 일반적으로 대용량의 디버깅 정보와 프로그램의 추상적 수행모델을 표현하는 것이 중요하다. 본 논문에서는 스레드들간의 논리적 병행성 관계를 나타내는 부분순서 수행그래프를 이용하여 내포병렬성과 임계구역을 가진 OpenMP 병렬 프로그램의 수행양상과 경합정보의 효과적 디버깅을 위해서 효과적으로 제공하는 추상적 시각화 도구를 제안한다. 본 도구는 수행중 추적선택 기법으로 시각화 정보를 위한 공간적 복잡성을 줄이고, 추적된 시각화 정보에 프로그램의 내포병렬성과 임계구역 동기화를 위한 그래프 추상화를 제공하여 시각적 복잡성을 해결한다. 그래프 추상화를 통한 스레드들간의 부분순서 관계와 경합탐지 정보는 프로그램의 제어흐름과 경합의 위치를 구조적으로 파악할 수 있게 하므로 프로그램 수행의 이해와 경합 탐지 및 수정에 효과적이다.

Abstract AI-Helper 아이콘AI-Helper

It is important for effective visualization to summarize not only a large amount of debugging information but also the mental models of abstract ideas. This paper presents an abstract visualization tool which provides effective visualization of thread structure and race information for OpenMP progra...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문에서는 내포병렬성과 임계구역을 가지는 OpenMP 병렬 프로그램을 대상으로 하여 탐지된 최초 경합 정보와 프로그램 런타임 수행정보를 효과적으로 시각화하기 위해서, 스레드간의 병행성 관계를 표현하는 Partial Order Execution Graph (POEG)[16, 17]을 효과적으로 시각화하는 추상화 도구를 제안한다. 이 도구에서는 프로그램 수행 중에 최초경합에 참여하는 접근 사건들만을 병목현상이 없이 탐지하여 프로그램 수행정보와 함께 보고하는 수행중 경합탐지(on-the-fly race detection) 기법[4-7, 16]에서 보고되는 정보의 공간적 복잡성을 줄이기 위해서 최초경합과 관련된 정보만을 선택하는 수행중 추적선택 (on-the-fly trace filtering) 기법과 선택된 정보를 이용하여 시각적 복잡성을 줄이기 위한 그래프 추상화(graph abstraction) 기법인 내포병렬성 추상화와 임계구역 추상화 기법 등을 적용한다.
  • 본 논문에서는 내포병렬성과 임계구역을 가지는 OpenMP 프로그램을 대상으로 최초경합 탐지정보와 프로그램 수행정보를 효과적으로 시각화하기 위해서, 스레드간의 병행성 관계를 표현하는 POEG을 추상적으로 시각화하는 도구를 제안하였다. 이 도구에서는 프로그램 수행 중에 경합에 참여하는 접근사건들만을 병목현상이 없이 선택하여 최초경합을 탐지하여 프로그램 수행정보와 함께 저장하고, 추적되는 정보의 공간적 복잡성을 줄이기 위해서 최초경합과 관련된 시각화 정보만을 선택하며, 선택된 정보를 이용하여 시각적 복잡성을 줄이기 위해서 내포병렬성 추상화와 임계구역 추상화를 위한 그래프 추상화를 적용한다.
  • 본 절에서는 내포병렬성과 임계구역을 가지는 OpenMP 프로그램을 대상으로 최초경합 탐지정보와 프로그램 수행정보를 추상적으로 시각화하는 도구를 제안한다. 이 도구에 전체적인 구조는 그림 3과 같다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
OpenMP란 무엇인가? OpenMP[1]는 공유메모리 병렬프로그램을 위한 산업표준 프로그램 모델이다. 하지만 OpenMP 병렬프로그램에서 발생하는 오류를 수정하는 것은 어렵다.
추상적 시각화기의 구성은? 추상적 시각화기는 추적선택기, 그래프 추상화기, 그리고 그래프 생성기로 구성되어 있다. 프로그램의 수행을 시각적으로 표현하기 위해서는 정보의 수집이 필수적이다.
OpenMP 병렬프로그램에서 발생하는 오류를 수정하는 것이 어려운 이유는? 하지만 OpenMP 병렬프로그램에서 발생하는 오류를 수정하는 것은 어렵다. 왜냐하면 OpenMP 프로그램은 동일한 입력에 대하여 프로그램의 매 수행 시에 의도되지 않은 결과를 나타내는 비결정적인 수행을 초래할 수 있기 때문이다. 이러한 비결정적인 수행의 주된 원인이 되는 경합(race)[2-4]은 병행 수행되는 스레드들간에 동기화 없이 적어도 하나의 쓰기 사건으로 동일한 공유변수에 접근할 때 발생하는 것으로, OpenMP 프로그램의 디버깅을 위해서 반드시 탐지되어야 한다.
질의응답 정보가 도움이 되었나요?

참고문헌 (22)

  1. OpenMP Architecture Review Board, "OpenMP Application Programming Interface," Version 4.5, Nov. 2015. 

  2. C. E. McDowell, and D. P. Helmbold, "Debugging Concurrent Programs," Computing Surveys, vol. 21, no. 4, pp. 593-622, Dec. 1989. 

  3. R. H. B. Netzer, and B. P. Miller, "What Are Race Conditions? Some Issues and Formalizations," ACM Letters on Programming Language and Systems, vol. 1, no. 1, pp. 74-88, March 1992. 

  4. Y. J. Kim, S. J. Song, and Y. K. Jun, "VORD: A Versatile On-the-fly Race Detection Tool in OpenMP Programs," International Journal of Parallel Programming, vol. 42, no. 6, pp. 900-930, Dec. 2014. 

  5. J. Kim, and Y. K. Jun, "Scalable On-the-fly Detection of the First Races in Parallel Programs," in Proceeding of 12nd Int'l Conf. on Supercomputing, pp. 345-352, ACM, Melbourne, Australia, July 1998. 

  6. K. Ha, Y. K. Jun, and K. Yoo, "Efficient on-the-fly detection of first races in nested parallel programs," in Proceeding of Workshop on State-of-the-Art in Scientific Computing, pp. 75-84, 2004. 

  7. Y. K. Jun, and C. E. McDowell, "On-the-fly Detection of the First Races in Programs with Nested Parallelism," in Proceeding of 2nd Int'l Conf. on Parallel and Distributed Processing Techniques and Applications, pp. 1549-1560, CSREA, August 1996. 

  8. Y. K. Jun, and C. E. McDowell, "Scalable Monitoring Technique for Detecting Races in Parallel Programs," in Proceeding of 5th Int'l Workshop on High-Level Parallel Programming Models and Supportive Environments, pp. 340-347, IEEE, Cancun, Mexico, May 2000. 

  9. B. Kuhn, P. Petersen, and E. O'Toole., "OpenMP versus Threading in C/C++," Concurrency and Computation: Practice and Experience, vol. 12, no. 12, pp. 1165-1176, May 2000. 

  10. D. Citron, D. G. Feitelson, and I. Exman, "Parallel Activity Roadmaps," in Proceeding of Int'l Conf. on Parallel Computing, pp. 593-596, Elsevier Science, 1994. 

  11. D. Kim, and Y. Jun, "An Effective Tool for Debugging Races in Parallel Programs," in Proceeding of 3rd Int'l Conf. on Parallel and Distributed Processing Techniques and Applications, pp. 117-126, CSREA, Las Vegas, Nevada, July 1997. 

  12. D. Zernik, M. Snir, and D. Malki, "Using Visualization Tools to Understand Concurrency," Software, vol. 9, no. 3, pp. 87-92, IEEE, May 1992. 

  13. E. Kraemer, and J. T. Stasko, "The Visualization of Parallel Systems: An Overview," Journal of Parallel and Distributed Computing, vol. 18, no. 2, pp. 105-117, June 1993. 

  14. J. Garcia, and R. Hughey, "Scalable Visualization of Parallel Systems," Technical Report, 1994. 

  15. S. Utter-Honig, and C. M. Pancake, "Graphical Animation of Parallel Fortran Programs," in Proceeding of Supercomputing, pp. 491-500, ACM/IEEE, Nov. 1991. 

  16. A. Dinning, and E. Schonberg, "Detecting Access Anomalies in Programs with Critical Sections," in Proceeding of 2nd Workshop on Parallel and Distributed Debugging, pp. 85-96, ACM, May 1991. 

  17. A. Dinning, and E. Schonberg, "An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection," in Proceeding of 2nd Symp. on Principles and Practice of Parallel Programming, pp. 1-10, ACM, March 1990. 

  18. D. P. Helmbold, C. E. McDowell, and J. Wang, TraceViewer: A Graphical Browser for Trace Analysis, TR-90-59, UCSC, 1990. 

  19. IEEE, Draft Standard for Information Technology: Portable Operating System Interface (POSIX), IEEE and The Open Group, 2008. 

  20. Message Passing Interface Forum, MPI: A Message-Passing Interface Standard, version 3.1, the University of Tennessee, June 2015. 

  21. L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Comm. of the ACM, vol. 21, no. 7, pp. 558-565, ACM, July 1978. 

  22. Y. Kim, S. Lee, M. Park, S. Kim, S. Park, and Y. Jun, "Scalable Monitoring Technique for Detecting Races in Parallel Programs with Locking," in Proceeding of Parallel Processing Systems, vol. 11, no.2, pp. 44-53, KISS, Sep. 2000. 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

오픈액세스 학술지에 출판된 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로