ExSched: An External CPU Scheduler Framework for Real-Time Systems

Scheduling theory and algorithms have been well studied in the real-time systems literature. Many useful approaches and solutions have appeared in different problem domains. While their theoretical effectiveness has been extensively discussed, the community is now facing implementation challenges that show the impact of the algorithms in practice. In this paper, we propose a scheduler framework, called ExSched, which enables different schedulers to be developed for different operating system (OS) platforms without any modifications to the OS itself, using a unified interface. The framework will easily keep up with changes in the kernel since it is only dependent on a few kernel primitives. The usefulness of this framework is that scheduling policies can be implemented as external plug-ins. They can simply use the ExSched interface instead of platform-dependent functions, since platform details are abstracted by ExSched. The advantage for industry is that they would more easily keep up with new kernel versions since ExSched does not require patches. The advantage for academia is that we could focus on the development of schedulers instead of tedious and time-consuming installations of patched kernels. Our prototype implementation of ExSched supports Linux and Vx Works and it comes with example schedulers which include hierarchical and multi-core schedulers in addition to traditional fixed-priority scheduling (FPS) and earliest deadline first (EDF) algorithms.

[1]  Theodore P. Baker,et al.  An Analysis of Fixed-Priority Schedulability on a Multiprocessor , 2006, Real-Time Systems.

[2]  Tommaso Cucinotta,et al.  AQuoSA—adaptive quality of service architecture , 2009, Softw. Pract. Exp..

[3]  John Regehr,et al.  HLS: a framework for composing soft real-time schedulers , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[4]  B. Srinivasan,et al.  A firm real-time system implementation using commercial off-the-shelf hardware and free software , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[5]  Insik Shin,et al.  Towards hierarchical scheduling in VxWorks , 2008 .

[6]  Shinpei Kato,et al.  Towards real-time scheduling of virtual machines without kernel modifications , 2011, ETFA2011.

[7]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[8]  Daniel F. García,et al.  Minimum and maximum utilization bounds for multiprocessor rate monotonic scheduling , 2004, IEEE Transactions on Parallel and Distributed Systems.

[9]  Jukka Mäki-Turja,et al.  Support for hierarchical scheduling in FreeRTOS , 2011, ETFA2011.

[10]  Rick Lehrbaum Using Linux in Embedded and Real-Time Systems , 2000 .

[11]  James H. Anderson,et al.  On the Implementation of Global Real-Time Schedulers , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[12]  Azer Bestavros,et al.  Design and implementation of statistical rate monotonic scheduling in KURT Linux , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[13]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[14]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[15]  Stephen Childs,et al.  The Linux-SRT integrated multimedia operating system: bringing QoS to the desktop , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[16]  P. Mantegazza,et al.  RTAI: Real Time Application Interface , 2000 .

[17]  Mikael Åsberg Comparison of Priority Queue algorithms for Hierarchical Scheduling Framework : Technical Report, Nr. 2598 , 2011 .

[18]  Kwei-Jay Lin,et al.  Implementing a general real-time scheduling framework in the RED-Linux real-time kernel , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[19]  Richard West,et al.  Hijack: Taking Control of COTS Systems for Real-Time User-Level Services , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[20]  Robert Rönngren,et al.  A comparative study of parallel and sequential priority queue algorithms , 1997, TOMC.

[21]  Theodore P. Baker Comparison of Empirical Success Rates of Global vs. Partitioned Fixed-Priority and EDF Scheduling for Hard Real Time TR-050601 , 2005 .

[22]  Sanjoy K. Baruah,et al.  Static-priority scheduling on multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[23]  Fabio Checconi,et al.  An implementation of the earliest deadline first algorithm in Linux , 2009, SAC '09.

[24]  Victor Yodaiken The RTLinux Manifesto , 1999 .

[25]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[26]  Peter A. Dinda,et al.  VSched: Mixing Batch And Interactive Virtual Machines Using Periodic Real-time Scheduling , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[27]  Shinpei Kato,et al.  Semi-partitioned Fixed-Priority Scheduling on Multiprocessors , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[28]  M. Garc Utilization bounds for Multiprocessor Rate-Monotonic Scheduling , 2000 .

[29]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[30]  Daniel F. García,et al.  Utilization Bounds for Multiprocessor Rate-Monotonic Scheduling , 2004, Real-Time Systems.

[31]  James H. Anderson,et al.  Is Semi-Partitioned Scheduling Practical? , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[32]  Ragunathan Rajkumar,et al.  Portable RK: a portable resource kernel for guaranteed and enforced timing behavior , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[33]  James H. Anderson,et al.  On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study , 2008, 2008 Real-Time Systems Symposium.