초록 close

실시간 시스템에서 많은 요청을 처리하기 위해 다중처리기 구조가 필수적이 되었다. EDF나 LLA와 같은 기존의 실시간 온라인 스케줄링 알고리즘들은 다중처리기 시스템에서 실시간 태스크들을 스케줄링하는 데 적합하지 않다. EDF의 경우 문맥교환 오버헤드가 낮지만 다중처리기 이상현상을 보이며, LLA의 경우 준최적이지만 문맥교환 오버헤드가 높다. EDZL은 두 알고리즘의 문제점을 일부 해결하였으나 세 개 이상의 처리기에서는 준최적이 아니다. EDA2는 과부하 단계에서 좋은 성능을 보이지만 준최적이 아니다. 본 논문에서는 새로운 두개의 온라인 스케줄링 알고리즘 ED/LL과 ED2/LL을 제안한다. ED/LL은 다중처리기에서 준최적이며, 정상부하 단계에서 낮은 문맥교환 오버헤드와 높은 성공률을 보인다. 그러나, 시스템이 과부하 상태가 되면 ED/LL은 비효율적이다. 이를 해결하기 위해, ED2/LL은 정상부하 단계에서는 ED/LL또는 EDZL을 사용하고 과부하 단계에서는 EDA2를 사용한다. 실험을 통해 ED2/LL이 정상부하 단계에서는 물론 과부하 단계에서도 좋은 성능을 보임을 확인할 수 있었다.


For real-time systems, multiprocessor support is indispensable to handle the large number of requests. Existing real-time on-line scheduling algorithms such as Earliest Deadline First Algorithm (EDF) and Least Laxity Algorithm (LLA) may not be suitable for scheduling real-time tasks in multiprocessor systems. Although EDF has low context switching overhead, it suffers from "multiple processor anomalies." LLA has been shown as suboptimal, but has the potential for higher context switching overhead. Earliest Deadline Zero Laxity (EDZL) solved somewhat the problems of those algorithms, however is suboptimal for only two processors. Another algorithm EDA2 shows very good performance in overload phase, however, is not suboptimal for multiprocessors. We propose two on-line scheduling algorithms, Earliest Deadline/Least Laxity (ED/LL) and ED2/LL. ED/LL is suboptimal for multiprocessors, and has low context switching overhead and low deadline miss rate in normal load phase. However, ED/LL is ineffective when the system is overloaded. To solve this problem, ED2/LL uses ED/LL or EDZL in normal load phase and uses EDA2 in overload phase. Experimental results show that ED2/LL achieves good performance in overload phase as well as in normal load phase.