병렬 계산을 위한 최대 병렬성 추출 방법

Extracting Maximum Parallelism for Parallel Computing

  • 박두순 (순천향대학교 정보기술공학부)
  • 투고 : 2004.11.19
  • 심사 : 2004.11.24
  • 발행 : 2005.01.30

초록

대부분의 프로그램 실행 시간은 루프 구조에서 소비되기 때문에 순차 루프 프로그램으로부터 병렬성을 추출하는 것은 프로그램을 빠르게 실행하는 데 필수적이다. 병렬성을 추출하기 위한 기존의 연구들은 주로 불변 자료 종속 거리에 초점을 맞추어왔다. 본 논문에서는 중첩 루프에서 자료 종속성을 제거하는 방법과 자료 종속성 제거 방법을 확장한 프로시저 호출을 가진 루프에서 병렬성을 추출하는 방법을 제안한다. 이 두 가지 방법들은 모두 자료 종속 거리에 관계없이 적용할 수 있다. 중첩 루프에서의 자료 종속성 제거 방법과 프로시저 호출을 가진 루프에서 병렬성을 추출하는 방법을 기존의 방법들과 CRAY-T3E에서 성능 평가를 하였다. 두 개의 방법 모두가 기존의 방법들보다 매우 우수함을 보였다.

Since the most program execution time is consumed in a loop structure, extracting parallelism from sequential loop programs is critical for the faster program execution. Conventional studies for extracting the parallelism are focused mostly on a uniform data dependence distance. In this paper, we proposed data dependency elimination method for a nested loop and extended data dependency elimination method to extract parallelism from the loop with procedure calls. The data dependency elimination method and the extended data dependency elimination method can be applied to uniform and non-uniform data dependency distance. We compared our method with conventional methods using CRAY-T3E for the performance evaluation. The results show that the proposed algorithms are very effective.

키워드