종속 쌍을 이용한 루프 스케줄링 기법
暂无分享,去创建一个
대부분의 응용 프로그램에서, 루프는 가장 많은 병렬성을 내포하고 있는 매우 중요한 자원이다. 이러한 루프를 멀티프로세서상에서 병렬 처리할 때, 사용 가능한 프로세서에 균등하게 그리고 프로세서간의 데이타 이동을 줄일 수 있도록 지역성을 유지하면서 루프를 할당하는 것은 전체 성능향상에 중요한 요인이 된다. 기존의 스케줄링 기법들을 가변 종속 거리 루프에 적용할 때, 비지역적인 루프 스케줄링으로 빈번하게 프로세서간의 데이타 이동이 발생하게 된다. 비지역성 데이타의 이동은 전체 수행 시간의 30~60%를 차지하기 때문에 병렬 처리 시스템의 성능에 커다란 영향을 미치게 된다. 이 논문에서는 루프의 지역성을 고려한 새로운 스케줄링 기법(LSDP)을 제시한다. LSDP는 데이타의 종속 쌍을 구성하고, 항상 동일한 프로세서에 할당되도록 하여 프로세서간의 데이타 이동을 줄일 수 있다. 종속 쌍의 구성은 컴파일 시에 수행하기 때문에 실행 시의 스케줄링 오버헤드가 발생하지 않고, 프로세서마다 지역 큐를 이용하기 때문에 동기화 연산을 줄일 수 있다. 또한 실행 시에 발생할 수 있는 부하 불균형 문제를 해결하기 위해 동적으로 재할당을 수행한다. 이 때 재할당되는 반복은 항상 종속 쌍 형태로 할당되도록 하여 항상 지역성을 유지할 수 있다.