단일 프로세서상에서 수행되는 실시간 타스크의 실행 가치 최대화를 위한 동적 스케쥴링

A Dynamic Scheduling Algorithm to Maximize the Total Value of Real-time Tasks running on a Single Processor

  • 김인수 (한국전자통신연구원) ;
  • 이윤열 (천안공업대학 전자계산학과) ;
  • 이춘희 (시스템공학연구 및 ETRI) ;
  • 정기현 (아주대학교 전기전자공학부) ;
  • 최경희 (아주대학교 정보 및 컴퓨터공학부)
  • 발행 : 1999.06.01

초록

타스크의 총 가치가 최대가 되도록 스케줄하는 실시간 스케줄러는 새로운 타스크가 도착할 때마다 스케줄 가능한, 모든 타스크들에게 서비스 시간을 할당한다. 새로운 타스크가 도착하기 전에 스케줄 된 모든 타스크들이 완전히 실행된다면 최대 총 가치는 얻어질 것이나, 실제 상황에서는 스케줄 된 모든 타스크들이 완전히 실행되기 이전에 새로운 타스크가 도착하는 것이 일반적이다. 본 논문에서는 실시간 타스크들에 대한 새로운 스케줄링 알고리즘을 제안한다. 기존의 알고리즘들은 스케줄 가능한 모든 타스크들에 대해 서비스 시간을 계산하지만, 제안된 알고리즘은 일부의, 보다 빠른 만기를 갖는, 타스크들에 대해서만 서비스 시간을 결정한다. 이렇게 부분적으로 서비스 시간을 할당함으로써 평균 스케줄링 복잡도는 크게 떨어진다. 최악의 경우라도 제안된 알고리즘의 복잡도는 기존의 알고리즘 중에서 성능이 좋은 것으로 평가되는 알고리즘의 복잡도인 O(N2)과 같다.

In most of the existing real-time schedulers producing the total value as large as possible, the service times for all schedulable tasks are computed at each time a new task arrives. If all scheduled tasks would be executed completely before a new task arrives, the schedule may produce the greatest total value. But this is not always true in real situations. In many cases, (a) new tasks arrive(s) before all the scheduled tasks are executed completely. In this paper, we propose a unique scheduling algorithm for real-time tasks. The proposed algorithm determines the service times only for some tasks with earlier deadlines while the existing algorithms determine the service times for all tasks. This partial computation decreases the average scheduling complexity ramatically, even though, in the worst case, the complexity of the proposed algorithm becomes O(N2), which is equal to that of a previous algorithm that has been known as a less complicated one.

키워드