Task Allocation Algorithm for Heterogeneous Multiprocessor Systems Using Heuristic Technique

이질형 다중 프로세서 시스템에서 휴리스틱 기법을 이용한 타스크 할당 알고리즘

  • 임선호 (Pennsylvania State Univ. dept. of Computer Science & Engineering 대학원) ;
  • 이종성 (한국항공대학교 대학원 컴퓨터공학과) ;
  • 채수환 (한국항공대학교 컴퓨터공학과)
  • Published : 1999.02.01

Abstract

In homogeneous multiprocessor systems, the task allocation algorithm which equally assigns tasks to processors if possible is generally used. But this algorithm is not suitable to accomplish to accomplish effective task allocation in heterogeneous multiprocessor systems. JSQ (Join the Shortest Queue) algorithm is often used in heterogeneous multiprocessor systems. Unfortunately, JSQ algorithm is not efficient when the differences of capabilities of processors are far large. To solve this problem, we suggest a heuristic task allocation algorithm that makes use of dynamic information such as task arrival time, task service time, and number of finished tasks. The results of simulation show that the proposed heuristic allocation algorithm improves the system performance.

동질형 다중프로세서 시스템에서는 시스템의 성능을 향상시키기 위하여 타스크 수를 가능한 한 균등하게 배분하는 타스크 할당 알고리즘이 일반적으로 사용되고 있다. 그러나, 이질형 다중 프로세서 시스템에서는 이런 알고리즘에 의해 효과적인 타스크 할당이 이루어질 수 없다. 따라서, 이질형 다중 프로세서 시스템에서는 JSQ(Join the Shortest Queue) 알고리즘이 일반적으로 사용되고 있다. 그러나 JSQ 알고리즘은 프로세서 간에 타스크의 처리 능력의 차이가 클 경우에는 효율적이지 못하다. 본 논문에서는 타스크의 도착 시간, 타스크의 서비스 시간, 수행되어진 타스크의 수 등의 동적 데이터에 의해 습득된 프로세서의 처리 능력과 포컬 큐(local queue)의 길이를 동시에 고려한 휴리스틱(heuristic) 타스크 할당 알고리즘을 제시한다. 시뮬레시이션 결과, 제안한 휴리스틱 할당 알고리즘에 의해 시스템 성능을 크게 향상 시킬 수 있음을 보여 주었다.

Keywords