Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE · 2001 · 26 citations · 0 references
ComputingComputer ScienceComputer SystemsOperating SystemsReal-time SystemsSchedulingCpu SchedulingDeadline AnalysisReal-time SchedulingResource SchedulingSoft Real-time SystemsTask SchedulingDeadline SchedulingDeadline-aware Resource AllocationResponse TimeScheduler DesignScheduling AlgorithmsSoft Real-time Scheduling
Algorithms for allocating CPU bandwidth to soft real-time processes exist, yet best-effort scheduling remains an attractive model for both application developers and users. Best-effort scheduling is easy to use, provides a reasonable trade-off between fairness and responsiveness, and imposes no extra overhead for specifying resource demands. However, best-effort schedulers provide no resource guarantees, limiting their ability to support processes with timeliness constraints. Reacting to the need for better support of soft real-time multimedia applications while recognizing that the best-effort model permeates desktop computing for very good reasons, we have developed BEST, an enhanced best-effort scheduler that combines desirable aspects of both types of computing. BEST provides the well-behaved default characteristics of best-effort schedulers while significantly improving support for periodic soft real-time processes. BEST schedules using estimated deadlines based on the dynamically detected periods of processes exhibiting periodic behavior, and assigns pseudo-periods to non-periodic processes to allow for good response time. This paper discusses the BEST scheduling model and our implementation in Linux and presents results demonstrating that BEST outperforms the Linux scheduler in handling soft real-time processes, outperforms real-time schedulers in handling best-effort processes, and sometimes outperforms both, especially in situations of processor overload.