Feasibility analysis under fixed priority scheduling with limited preemptions

Preemptive scheduling often generates a significant runtime overhead that may increase task worst-case execution times up to 40%, with respect to a fully non-preemptive execution. In small embedded systems, such an extra cost results in longer and more variable response times that can significantly affect the overall energy consumption, as well as the system predictability. Limiting preemptions is often possible without jeopardizing schedulability. Although several authors addressed schedulability analysis under different forms of limited preemptive scheduling, current results exhibit two major deficiencies: (i) The maximum lengths of the non-preemptive regions for each task are still unknown under fixed priorities; (i) The exact response time analysis for tasks with fixed preemption points is too complex.This paper presents the schedulability analysis of real-time tasks with non-preemptive regions, under fixed priority assignments. In particular, two different preemption models are considered: the floating and the fixed preemption point model. Under each model, the feasibility analysis is addressed by deriving simple and effective schedulability tests, as well as an algorithm for computing the maximum length of the non-preemptive regions for each task. Finally, simulation experiments are presented to compare the two models in terms of schedulability.

[1]  Frank Mueller,et al.  Tightening the Bounds on Feasible Preemption Points , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[2]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

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

[4]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[5]  Krithi Ramamritham,et al.  Advances in Real-Time Systems , 1993 .

[6]  Johan J. Lukkien,et al.  Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[7]  Manas Saksena,et al.  Scheduling fixed-priority tasks with preemption threshold , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[8]  Giorgio C. Buttazzo,et al.  Feasibility Analysis under Fixed Priority Scheduling with Fixed Preemption Points , 2010, 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications.

[9]  Sebastian Altmeyer,et al.  WCET Analysis for Preemptive Scheduling , 2008, WCET.

[10]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[11]  John Regehr,et al.  Scheduling tasks with mixed preemption relations for robustness to timing faults , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[12]  Rolf Ernst,et al.  Multiple process execution in cache related preemption delay analysis , 2004, EMSOFT '04.

[13]  Alan Burns,et al.  Preemptive priority-based scheduling: an appropriate engineering approach , 1995 .

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

[15]  Alan Burns,et al.  Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised , 2007, Real-Time Systems.

[16]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[17]  Greg N. Frederickson,et al.  Scheduling Unit-Time Tasks With Integer Release Times and Deadlines , 1983, Inf. Process. Lett..

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

[19]  Robert E. Tarjan,et al.  Scheduling Unit-Time Tasks with Arbitrary Release Times and Deadlines , 1981, SIAM J. Comput..

[20]  Charles U. Martel,et al.  Scheduling Periodically Occurring Tasks on Multiple Processors , 1981, Inf. Process. Lett..

[21]  Giorgio C. Buttazzo,et al.  Bounding the Maximum Length of Non-preemptive Regions under Fixed Priority Scheduling , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

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

[23]  Alan Burns,et al.  Real-Time Systems and Programming Languages - Ada, Real-Time Java and C / Real-Time POSIX, Fourth Edition , 2009, International computer science series.

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

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

[26]  Jozef Hooman,et al.  Specification and Compositional Verification of Real-Time Systems , 1991, Lecture Notes in Computer Science.

[27]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[28]  Johan J. Lukkien,et al.  Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[29]  Alan Burns,et al.  Real-Time Systems and Programming Languages - Ada, Real-Time Java and C / Real-Time POSIX, Fourth Edition , 2009, International computer science series.

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

[31]  Sebastian Altmeyer,et al.  Optimal task placement to improve cache performance , 2007, EMSOFT '07.

[32]  Chang-Gun Lee,et al.  Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemtive Scheduling , 1998, IEEE Trans. Computers.

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

[34]  Chen Ding,et al.  Quantifying the cost of context switch , 2007, ExpCS '07.

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

[36]  Giorgio C. Buttazzo,et al.  Schedulability analysis of periodic fixed priority systems , 2004, IEEE Transactions on Computers.