초록
본 논문에서는 멀티프로세서 아키텍처 상에 반복적인 데이터흐름 알고리즘을 스케줄링하는 방법을 제안한다. 기본적인 하드웨어 모델을 기반으로 멀티프로세서 아키텍처라는 세부적인 특성을 가지도록 확장하여 용량이 제한된 통신 네트워크상에 전송할 데이터를 라우팅 하는데 필요한 하드웨어 모델을 구현하고, 스케줄링 방법을 적용한다. 제안한 스케줄링 방법은 세 가지 계층으로 구성된다. 가장 상위 계층에 구현된 유전 알고리즘은 반복 데이터흐름 그래프의 최적화를 담당한다. 유전 알고리즘은 대상이 되는 연산들에 대해 서로 다른 조합을 생성한다. 그리고서 이 조합들은 중간계층으로 전달된다. 이 중간 계층에는 전역 스케줄링이 위치하며, 연산들의 조합을 바탕으로 스케줄링에 관한 주요 결정을 이 스케줄이 내리게 된다. 마지막으로, 하부 계층에서는 하드웨어 세부사항을 고려하며 블랙-박스 스케줄링을 이용한다. 연산에 대한 스케줄링을 완료하고, 세부적인 하드웨어 모델이 이 결정을 준수하는지 확인한다. 스케줄 사이에 사이클을 삽입할 수 있는 두 가지 스케줄링을 통해 유효한 스케줄을 항상 빨리 찾아낼 수 있다. 본 논문에서 제안한 스케줄링 방법의 성능을 테스트하기 위하여 다섯 가지 필터들에 대한 벤치마크를 수행하여 합당한 시간 안에 양질의 스케줄을 찾아낼 수 있음을 입증한다.
In this paper, we proposed an iterative data-flow optimal scheduling algorithm based on genetic algorithm for high-performance multiprocessor. The basic hardware model can be extended to include detailed features of the multiprocessor architecture. This is illustrated by implementing a hardware model that requires routing the data transfers over a communication network with a limited capacity. The scheduling method consists of three layers. In the top layer a genetic algorithm takes care of the optimization. It generates different permutations of operations, that are passed on to the middle layer. The global scheduling makes the main scheduling decisions based on a permutation of operations. Details of the hardware model are not considered in this layer. This is done in the bottom layer by the black-box scheduling. It completes the scheduling of an operation and ensures that the detailed hardware model is obeyed. Both scheduling method can insert cycles in the schedule to ensure that a valid schedule is always found quickly. In order to test the performance of the scheduling method, the results of benchmark of the five filters show that the scheduling method is able to find good quality schedules in reasonable time.