한국정보기술학회
한국정보기술학회논문지 제9권 제2호
2011.2, 15-25 (총11페이지)
내포 병렬성 프로그램에서 수행 중 경합 탐지를 위한 효율적인 스레드 식별자 생성 기법
Efficient Generation of Thread Identifiers for On-the-fly Race Detection in Programs with Nested Parallelism
하옥균, 전용기
한국어 초록
병렬 프로그램의 수행 중에 발생하는 경합을 탐지하는 것은 어려운 일이다. 경합을 탐지하는 기법의 다수가 병렬 스레드의 논리적인 병행성 식별 정보를 제공하는 레이블을 생성하고 유지하기 위하여 Lamport의 발생 후 관계를 이용함으로써 경합을 탐지한다. 이러한 스레드 식별 기법 중 내포 병렬성이 있는 병렬 프로그램에서 수행 중 경합 탐지를 위해 스레드 레이블을 생성하고 유지하는 기존의 기법들은 스레드의 포크와 조인 시에 프로그램의 내포 깊이에 의존하는 효율성을 제공한다. 본 논문에서는 병렬 프로그램의 수행 중 경합 탐지를 위해 스레드 레이블의 생성과 유지 시에 상수적인 복잡도를 제공하는 효율적인 e-NR(Extended Nest Region) 레이블링을 제시한다. OpenMP 프로그램을 이용한 실험에서 제시된 기법은 기존의 기법보다 평균 10% 감소된 시간 오버헤드와 평균 3.2배 감소된 기억공간을 요구하여 보다 효율적이고 실용적으로 경합을 탐지함을 보인다.
영어 초록
It is difficult and troublesome to detect data races occurred in an execution of parallel programs. Any of on-the-fly race detection techniques using Lamport's happens-before relation needs a thread labeling scheme for generating unique identifiers which maintaining logical concurrency of the parallel threads. Previous labeling schemes which are create and maintain thread labels for on-the-fly race detection in parallel program model with nested parallelism depend on the nesting depth on every fork and join operation. This paper presents e-NR (Extended Nest Region) labeling in which every thread generates and maintains its label in a constant amount of time and space. Experimental results using OpenMP programs show that presented labeling detects data races more practice and efficient, because it requires reduced time overhead about 10% and is smaller than previous labeling schemes in average space for race detection.
목차
요약
Abstract
Ⅰ. 서론
Ⅱ. 배경
Ⅲ. e-NR 레이블링
Ⅳ. 실험 및 분석
Ⅴ. 결론
참고문헌
저자소개
키워드
thread labeling, data races, race detection, parallel programming, nested parallelism

참고문헌 (17)

  • Netzer, R. H. B , 1992 , What are Race Conditions? Some Issues and Formalizations , Letters on Program Language and Systems 1 (1) : 74 ~ 88
  • Mellor-Crummey, J. M. , 1991 , On-the-fly Detection of Data Races for Programs with Nested Fork-Join Parallelism , Supercomputing : 24 ~ 33
  • Dinning, A , 1991 , Detecting Access Anomalies in Programs with Critical Sections , 2nd Workshop on Parallel and Distributed Debugging : 85 ~ 96
  • Jannesari, A , 2008 , On-the-fly Race Detection in Multi-threaded Programs , 2008 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD) : 1 ~ 10
  • Lamport, L , 1978 , Time, Clocks, and the Ordering of Events in Distributed System , Communication of ACM 21 (7) : 558 ~ 565
  • 전용기 , 1993 , On-the-fly Detection of Access Anomalies in Nested Parallel Loops , Association for Computing Machinery (ACM) : 107 ~ 117
  • 박미영 , 200107 , A comparison of scalable labeling schemes for detecting races in OpenMP programs , OPENMP SHARED MEMORY PARALLEL PROGRAMMING, PROCEEDINGS Book Series: LECTURE NOTES IN COMPUTER SCIENCE 2104 (2104) : 68 ~ 80
  • Petersen, P , 2003 , OpenMP Support in the Intel Thread Checker, In Proceedings of the International Workshop on OpenMP Applications and Tools (WOMPAT) , Lecture Notes in Computer Science 2716 : 1 ~ 12
  • , , The OpenMP API specification for parallel programming
  • Rinard, M. , 2001 , Analysis of Multithreaded Programs, International Static Analysis Symposium (SAS) , Lecture Notes in Computer Science 2126 : 1 ~ 19
  • Bücker, H. M. , 2004 , A Class of OpenMP Applications Involving Nested Parallelism , 19th ACM Symposium on Applied Computing (SAC) : 220 ~ 244
  • Banerjee, Ul , 2006 , "A Theory of Data Race Detection , 2006 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD) : 69 ~ 78
  • Qi, Y. , 2009 , MulticoreSDK: A Practical and Efficient Data Race Detector for Real-World Applications , 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD) : 1 ~ 11
  • Fidge, C , 1991 , Logical time in Distributed Computing Systems , Computer 24 (8) : 28 ~ 33
  • Audenaert, K. , 1997 , Clock Tree: Logical Clocks for Programs with Nested Parallelism , Transaction on Software Engineering 23 (10) : 646 ~ 658
  • Baldoni, R , 2002 , Fundamentals of Distributed Computing: A Practical Tour of Vector Clock Systems , IEEE Distributed Systems Online 3 (2)
  • Flanagan, C , 2010 , FastTrack: Efficient and Precies Dynamic Race Detection , Communications of the ACM 53 (11) : 93 ~ 101

이 논문이 수록된 권·호 내 논문

한국정보기술학회논문지 제9권 제2호