http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
내포 병렬성 프로그램에서 수행 중 경합 탐지를 위한 효율적인 스레드 식별자 생성 기법
하옥균(Ok-Kyoon Ha),전용기(Yong-Kee Jun) 한국정보기술학회 2011 한국정보기술학회논문지 Vol.9 No.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.
OpenMP 프로그램을 위한 경합탐지 도구의 실험적 비교와 분석
하옥균(Ok-kyoon Ha),강문혜(Moon-hye Kang),전용기(Yong-kee Jun) 한국정보기술학회 2009 한국정보기술학회논문지 Vol.7 No.4
The data races or races in parallel programs must be detected for debugging OpenMP programs, because they may lead to unpredictable results of program executions. Sun Thread Analyzer is an important tool that detects the races in OpenMP programs, but it has not been compared its race verification capability as well as efficiency with Thread Checker or RaceStand that we have been developing. This paper empirically analyzes the verification capability of Thread Analyzer with a set of synthetic programs which has nested parallelism or inter-thread coordination. And, we compares its efficiency with the other two tools through a set of benchmarks that measures the efficiency of loop scheduling and array operations. We could not find any case of programs in which Thread Analyzer does not verify the existence of races. For the efficiency of array operations, Thread Analyzer is faster than Thread Checker about five times and slower than RaceStand within two times. For the efficiency of loop scheduling, Thread Analyzer is similar with Thread Checker and slower than RaceStand about twenty times. During each monitored execution, the tools consume memory space which depends on the number of the created threads, in an increasing order from Thread Analyzer, Thread Checker, to RaceStand.
OpenMP 프로그램을 위한 효율적 병행성 정보의 생성기법
하옥균(Ok-Kyoon Ha),김선숙(Sun-Sook Kim),전용기(Yong-Kee Jun) 한국정보과학회 2010 한국정보과학회 학술발표논문집 Vol.37 No.1C
OpenMP 프로그램의 수행 중에 발생하는 자료 경합과 같은 병행성 오류는 디버깅을 위하여 반드시 탐지되어야만 한다. 그러나 이를 탐지하는 것은 어려운 일이다. 접근사건의 발생 후 관계를 기반으로하는 경합 탐지 기법은 프로그램의 수행 중에 발생하는 스레드의 병행성 정보를 식별하기위한 레이블을 생성하고, 생성된 스레드의 레이블을 기반으로 공유변수에 접근하는 사건을 접근역사를 통해 감시함으로써 경합을 탐지한다. 이러한 경합 탐지의 방법에서 레이블 생성을 위한 NR 레이블링 기법은 병행성 정보생성 시에 지역자료 구조를 사용함으로써 병목현상이 발생하지 않으며, 접근역사에 저장하는 레이블의 크기가 상수 값을 갖는 공간적 효율성을 제공한다. 또한 부모스레드의 정보역사를 정렬된 리스트 형태로 가져 병행성 정보 비교 시에 이진탐색이 가능하므로 시간적 효율성을 가지는 우수한 기법이다. 그러나, NR 레이블링은 레이블의 생성시에 부모스레드의 정보역사를 유지하기 위해서 내포 병렬성의 깊이에 의존하는 시간적 비용이 요구된다. 본 논문에서는 부모스레드의 정보역사 유지를 위해 상수적인 시간 및 공간적 복잡도를 갖도록 NR 레이블링 기법을 개선한다. 합성 프로그램을 이용하여 실험한 결과에서 개선된 기법은 최대 병렬성의 증가에 따라 레이블의 생성과 유지시 기존의 기법보다 평균 4.5배 빠르고, 레이블링을 위해 평균 3배 감소된 기억공간을 요구하며, 내포 병렬성에 의존적이지 않음을 보인다.