Abstract
Packet schedulers for real-time communication must provide bounded delay and efficient use of network resources such as bandwidth, buffers and so on. In order to satisfy them, a large number of packet scheduling methods have been proposed. Among packet scheduling methods, an EDF (Earliest Deadline First) scheduling is the optimal one for a bounded delay service. A disadvantage of EDF scheduling is that queued packets must be sorted according to their deadlines, requiring a search operation whenever a new packet arrives at the scheduler. Although an RPQ (Rotating Priority Queue) scheduler, requiring large size of buffers, does not use such operation, it can closely approximate the schedulability of an EDF scheduler. To overcome the buffer size problem of an RPQ scheduler, this paper proposes a new scheduler named MRPQ (Multiple Rotating Priority Queue). In a MRPQ scheduler, there are several layers with a set of Queues. In a layer, Queues are configured by using a new strategy named block Queue. A MRPQ scheduler needs nearly half of buffer size required in an RPQ scheduler and produces schedulability as good as an RPQ scheduler.
실시간 스케줄러는 대역폭, 필요 버퍼량 등과 같은 네트워크 자원을 효율적으로 이용하면서 한정된 통신 지연(bounded delay)을 제공해야 한다. 이러한 제한 조건을 만족시키기 위해서 많은 스케줄링 방법론이 제시되었다. 그중 EDF 스케줄링 방법론이 최적의 성능을 갖는 것으로 알려져 있다. 그러나 EDF 스케줄링 방법론은 “sort”나“search”와 같은 연산 작업을 수행함으로서, 과다한 오버헤드를 발생시킨다. Rotating Priority Queues(PRQ) 스케줄러는 EDF 연산 작업 없이 EDF 스케줄러에 근접한 성능을 갖는 스케줄러이다. 그러나 RPQ 스케줄러는 과다한 버퍼량을 필요로 한다. 본 논문에서는 이러한 문제점을 해결하기 위해서 Multiple Rotating Priority Queues(MRPQ) 스케줄러를 제시한다. MRPQ 스케줄러는 “block queue”라는 새로운 개념을 이용하여 회전 우선 순위 queue를 다중 계층으로 구성한다. 이렇게 구성된 MRPQ 스케줄러 RQP스케줄러에서 필요한 버퍼량의 반 정도의 버퍼량만을 사용하여, RPQ 스케줄러와 동일한 동작을 수행한다. 또한 MRPQ 스케줄러는 RPQ 스케줄러와 동일한 최대 지연시간을 제공한다.