Unified overhead-aware schedulability analysis for slot-based task-splitting

Hard real- time multiprocessor scheduling has seen, in recent years, the flourishing of semi-partitioned scheduling algorithms. This category of scheduling schemes combines elements of partitioned and global scheduling for the purposes of achieving efficient utilization of the system’s processing resources with strong schedulability guarantees and with low dispatching overheads. The sub-class of slot-based “task-splitting” scheduling algorithms, in particular, offers very good trade-offs between schedulability guarantees (in the form of high utilization bounds) and the number of preemptions/migrations involved. However, so far there did not exist unified scheduling theory for such algorithms; each one was formulated in its own accompanying analysis. This article changes this fragmented landscape by formulating a more unified schedulability theory covering the two state-of-the-art slot-based semi-partitioned algorithms, S-EKG and NPS-F (both fixed job-priority based). This new theory is based on exact schedulability tests, thus also overcoming many sources of pessimism in existing analysis. In turn, since schedulability testing guides the task assignment under the schemes in consideration, we also formulate an improved task assignment procedure. As the other main contribution of this article, and as a response to the fact that many unrealistic assumptions, present in the original theory, tend to undermine the theoretical potential of such scheduling schemes, we identified and modelled into the new analysis all overheads incurred by the algorithms in consideration. The outcome is a new overhead-aware schedulability analysis that permits increased efficiency and reliability. The merits of this new theory are evaluated by an extensive set of experiments.

[1]  Björn Andersson,et al.  Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[2]  Samarjit Chakraborty,et al.  Accounting for cache-related preemption delay in dynamic priority schedulability analysis , 2007 .

[3]  Björn Andersson,et al.  Multiprocessor Scheduling with Few Preemptions , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[4]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[5]  Rocquencourt,et al.  Analysis of Deadline Scheduled Real-Time Systems , 1996 .

[6]  Robert I. Davis,et al.  A Survey of Hard Real-Time Scheduling Algorithms and Schedulability Analysis Techniques for Multiprocessor Systems , 2009 .

[7]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[8]  Robert I. Davis,et al.  Integrating cache related pre-emption delay analysis into EDF scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[9]  Nuno Pereira,et al.  Enhancing the real-time capabilities of the Linux kernel , 2012, SIGBED.

[10]  Alan Burns,et al.  Improvement to Quick Processor-Demand Analysis for EDF-Scheduled Real-Time Systems , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[11]  James H. Anderson,et al.  Mixed Pfair/ERfair scheduling of asynchronous periodic tasks , 2004, J. Comput. Syst. Sci..

[12]  Dorit S. Hochba,et al.  Approximation Algorithms for NP-Hard Problems , 1997, SIGA.

[13]  Björn Andersson,et al.  Scheduling Arbitrary-Deadline Sporadic Task Systems on Multiprocessors , 2008, 2008 Real-Time Systems Symposium.

[14]  Björn Andersson,et al.  On the implementation of real-time slot-based task-splitting scheduling algorithms for multiprocessor systems , 2011 .

[15]  Giorgio C. Buttazzo,et al.  Computing the Minimum EDF Feasible Deadline in Periodic Systems , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

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

[17]  Björn Andersson,et al.  Notional Processors: An Approach for Multiprocessor Scheduling , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[18]  Shinpei Kato,et al.  Real-Time Scheduling with Task Splitting on Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[19]  Björn Andersson,et al.  Practical Aspects of Slot-Based Task-Splitting Dispatching in Its Schedulability Analysis , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[20]  John P. Lehoczky,et al.  Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[21]  James H. Anderson,et al.  An EDF-based scheduling algorithm for multiprocessor soft real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[22]  Andrea Bastoni Towards the Integration of Theory and Practice in Multiprocessor Real-Time Scheduling , 2011 .

[23]  Shinpei Kato,et al.  Semi-partitioned Scheduling of Sporadic Task Systems on Multiprocessors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[24]  Marco Spuri,et al.  Preemptive and Non-Preemptive Real-Time UniProcessor Scheduling , 1996 .

[25]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[26]  Björn B. Brandenburg,et al.  Cache-Related Preemption and Migration Delays : Empirical Approximation and Impact on Schedulability ∗ , 2010 .

[27]  Aloysius K. Mok,et al.  Improvement in feasibility testing for real-time tasks , 1996, Real-Time Systems.

[28]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[29]  Ismael Ripoll,et al.  Improvement in Feasibility Testing for Real-Time Tasks 1 , 1996 .

[30]  Robert I. Davis,et al.  Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[31]  James H. Anderson,et al.  An Empirical Comparison of Global, Partitioned, and Clustered Multiprocessor EDF Schedulers , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[32]  Dorit S. Hochbaum,et al.  Approximation Algorithms for NP-Hard Problems , 1996 .

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

[34]  Alan Burns,et al.  Partitioned EDF scheduling for multiprocessors using a C=D task splitting scheme , 2011, Real-Time Systems.

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

[36]  Edward G. Coffman,et al.  Approximation algorithms for bin packing: a survey , 1996 .

[37]  Björn Andersson,et al.  Implementing slot-based task-splitting multiprocessor scheduling , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[38]  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).

[39]  Shinpei Kato,et al.  Portioned EDF-based scheduling on multiprocessors , 2008, EMSOFT '08.

[40]  Björn Andersson,et al.  Sporadic Multiprocessor Scheduling with Few Preemptions , 2008, 2008 Euromicro Conference on Real-Time Systems.