A Parallel Loop Scheduling Algorithm on Multiprocessor System Environments

다중프로세서 시스템 환경에서 병렬 루프 스케쥴링 알고리즘

  • 이영규 (극동정보대학 전산정보처리과) ;
  • 박두순 (순천향대학교 정보기술공학부)
  • Published : 2000.06.01

Abstract

The purpose of a parallel scheduling under a multiprocessor environment is to carry out the scheduling with the minimum synchronization overhead, and to perform load balance for a parallel application program. The processors calculate the chunk of iteration and are allocated to carry out the parallel iteration. At this time, it frequently accesses mutually exclusive global memory so that there are a lot of scheduling overhead and bottleneck imposed. And also, when the distribution of the parallel iteration in the allocated chunk to the processor is different, the different execution time of each chunk causes the load imbalance and badly affects the capability of the all scheduling. In the paper. we investigate the problems on the conventional algorithms in order to achieve the minimum scheduling overhead and load balance. we then present a new parallel loop scheduling algorithm, considering the locality of the data and processor affinity.

병렬 스케줄링의 목적은 다중프로세서 시스템 환경에서 병렬성을 가진 응용프로그램에 대해 최소의 동기화 오버헤드와 부하균등(load balance)을 달성하도록 스케줄링을 수행하는데 있다. 프로세서들이 병렬 반복(iteration)을 실행하기 위해서는 메모리로부터 반복들에 대한 chunk를 계산하고 할당받게 된다. 이때, 전역 메모리의 상호 배타적인 빈번한 접근으로 많은 스케쥴링 오버헤드 및 병목현상이 발생된다. 또한, 프로세서에게 할당된 chunk내 병렬 반복들의 분포가 서로 상이한 경우,각 chunk의 실행시간이 서로 달라 부하불균등의 원인이 되어 결과적으로 전체 스케쥴링 성능에 나쁜 영향을 준다. 따라서, 최소의 스케줄링 오버 헤드와 부하균등을 달성하기 위해 본 논문에 서는 기존의 방법들에서 문제점들을 도출하고, 자료의 국부성과 프로세서 동족성(affinity)을 고려한 병렬 루프 스케줄링 알고리즘을 제안한다.

Keywords