The Parallelism Extraction in Loops with Procedure Calls

프로시저 호출을 가진 루프에서 병렬성 추출

  • 장유숙 (순천향대학교 정보기술공학부) ;
  • 박두순 (순천향대학교 정보기술공학부)
  • Published : 2001.06.01

Abstract

Since most program execution time is spent in the loop structure, extracting parallelism from sequential loop programs hale been focused. But, most programs hare implicit parallelism of interprocedure. This paper presents a generalized Parallelism extraction in loop\ulcorner with procedure calls. Most parallelization of loops with Procedure calls just focus on the uniform code which data dependency distance is constant. We presents algorithms which can be applied with uniform code, nonuniform code, and complex code. The proposed algorithm, loop extraction, loop embedding and procedure cloning transformation methods evaluate using CRAY-T3E. The result of performance evaluation is that proposed algorithm is an effect.

프로그램 수행 시간의 대부분이 루프 구조에서 소비되고 있기 때문에 루프 구조를 가진 순차 프로그램에서 병렬성을 추출하는 연구들이 많이 행해지고 있고 그 연구들은 하나의 프로시저 내 루프 구조의 변환에 치중되고 있다. 그러나 대부분의 프로그램들은 프로시저 간 잠재된 병렬성을 가지고 있다. 본 논문에서는 프로시저 호출을 가진 루프에서 병렬성 추출 방식을 제안한다. 프로시저 호출을 포함하는 루프의 병렬화는 대부분 자료종속거리가 uniform 형태의 코드에서만 집중되었다. 본 논문에서는 자료종속거리가 uniform 코드, nonuniform 코드 그리고 복합된(complex) 코드를 가진 프로그램에서 적용 가능한 알고리즘을 제시하였으며, 제안된 알고리즘과 loop extraction, loop embedding 그리고 procedure cloning 변환 방법을 CRAY-T3E로 성능 평가하였다. 성능평가 결과는 제안된 알고리즘이 효율적이라는 것을 보여준다.

Keywords