The limited-preemptive feasibility of real-time tasks on uniprocessors

The preemptive scheduling paradigm is known to strictly dominate the non-preemptive scheduling paradigm with respect to feasibility. On the other hand, preemptively scheduling real-time tasks on uniprocessors, unlike non-preemptive scheduling, may lead to unschedulability due to, e.g., preemption related overheads. The limited-preemptive scheduling paradigm, which is a generalization of preemptive and non-preemptive paradigms, has, however, the potential to reduce the preemption related overheads while enabling high processor utilization. In this paper, we focus on the characterization of the effects of increasing the computational resources on the limited-preemptive feasibility of real-time tasks in order to quantify the sub-optimality of limited-preemptive scheduling. Specifically, we first derive the required processor speed-up bound that guarantees limited-preemptive feasibility of any uniprocessor feasible taskset. Secondly, we demonstrate the applicability of the results in the context of controlling preemption related overheads while minimizing the required processor speed-up. In particular, we identify the preemptive behavior that minimizes preemption-related overheads, as well as derive the optimal processor speed associated with it. Finally, we examine the consequences of having more processors on limited-preemptive feasibility and derive the bound on the number of processors that guarantees a specified limited-preemptive behavior for any uniprocessor feasible real-time taskset. This paper essentially bridges the preemptive and non-preemptive real-time scheduling paradigms by providing significant theoretical results building on the limited-preemptive scheduling paradigm, as well as provides analytical inputs to developers in order to perform various trade-offs, e.g., code refactoring, to control the preemptive behavior of real-time tasks.

[1]  Alan Burns,et al.  Sustainable Scheduling Analysis , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[2]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[3]  Sanjoy K. Baruah,et al.  The limited-preemption uniprocessor scheduling of sporadic task systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[4]  Binoy Ravindran,et al.  An experimental evaluation of real-time DVFS scheduling algorithms , 2012, SYSTOR '12.

[5]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[6]  Björn Andersson,et al.  The aperiodic multiprocessor utilization bound for liquid tasks , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[7]  Raphaël Clifford,et al.  ACM-SIAM Symposium on Discrete Algorithms , 2015, SODA 2015.

[8]  Robert I. Davis,et al.  Quantifying the Sub-optimality of Uniprocessor Fixed Priority Non-Pre-emptive Scheduling , 2010 .

[9]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[10]  Giorgio C. Buttazzo,et al.  Limited Preemptive Scheduling for Real-Time Systems. A Survey , 2013, IEEE Transactions on Industrial Informatics.

[11]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[12]  Robert I. Davis,et al.  Quantifying the Sub-optimality of Uniprocessor Fixed Priority Pre-emptive Scheduling for Sporadic Tasksets with Arbitrary Deadlines , 2009 .

[13]  Sang Lyul Min,et al.  Analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1998, 17th IEEE Real-Time Systems Symposium.

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

[15]  Sanjoy K. Baruah,et al.  The Global Limited Preemptive Earliest Deadline First Feasibility of Sporadic Real-Time Tasks , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[16]  Paul Muhlethaler,et al.  Optimality and non-preemptive real-time scheduling revisited , 1995 .

[17]  Giorgio C. Buttazzo,et al.  Adaptive Workload Management through Elastic Scheduling , 2002, Real-Time Systems.

[18]  Michael Short,et al.  The Case For Non-preemptive, Deadline-driven Scheduling In Real-time Embedded Systems , 2010, WCE 2010.

[19]  Giorgio C. Buttazzo,et al.  Preemption Points Placement for Sporadic Task Sets , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[20]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[21]  Michael L. Dertouzos,et al.  Control Robotics: The Procedural Control of Physical Processes , 1974, IFIP Congress.

[22]  Sanjoy K. Baruah,et al.  Limited Preemption EDF Scheduling of Sporadic Task Systems , 2010, IEEE Transactions on Industrial Informatics.

[23]  Sanjoy K. Baruah,et al.  Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor , 1990, Real-Time Systems.

[24]  Andy J. Wellings,et al.  Adding instruction cache effect to schedulability analysis of preemptive real-time systems , 1996, Proceedings Real-Time Technology and Applications.

[25]  Bala Kalyanasundaram,et al.  Speed is as powerful as clairvoyance , 2000, JACM.

[26]  Alan Burns,et al.  Exact quantification of the sub-optimality of uniprocessor fixed priority pre-emptive scheduling , 2009, Real-Time Systems.

[27]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[28]  Yudong Tan,et al.  Timing analysis for preemptive multi-tasking real-time systems with caches , 2004 .

[29]  Giorgio C. Buttazzo,et al.  Comparative evaluation of limited preemptive methods , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[30]  Bo Peng,et al.  Explicit Preemption Placement for Real-Time Conditional Code , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[31]  Sasikumar Punnekkat,et al.  Quantifying the Sub-optimality of Non-preemptive Real-Time Scheduling , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[32]  Hennadiy Leontyev,et al.  A Hierarchical Multiprocessor Bandwidth Reservation Scheme with Timing Guarantees , 2008, ECRTS.

[33]  Lui Sha,et al.  Impact of Cache Partitioning on Multi-tasking Real Time Embedded Systems , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[34]  Rolf Ernst,et al.  Scheduling analysis of real-time systems with precise modeling of cache related preemption delay , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[35]  Norman Scaife,et al.  Integrating model-based design and preemptive scheduling in mixed time- and event-triggered systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

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

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

[38]  Samarjit Chakraborty,et al.  Accounting for Cache-Related Preemption Delay in Dynamic Priority Schedulability Analysis , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[39]  Hennadiy Leontyev,et al.  A hierarchical multiprocessor bandwidth reservation scheme with timing guarantees , 2008, 2008 Euromicro Conference on Real-Time Systems.

[40]  Sally A. McKee,et al.  Reflections on the memory wall , 2004, CF '04.

[41]  Tak Wah Lam,et al.  Trade-offs between speed and processor in hard-deadline scheduling , 1999, SODA '99.

[42]  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.

[43]  James H. Anderson,et al.  Optimizing Preemption-Overhead Accounting in Multiprocessor Real-Time Systems , 2014, RTNS.

[44]  Giorgio C. Buttazzo,et al.  Elastic DVS Management in Processors With Discrete Voltage/Frequency Modes , 2007, IEEE Transactions on Industrial Informatics.

[45]  Alan Burns,et al.  Quantifying the sub-optimality of uniprocessor fixed-priority scheduling , 2008 .