Scheduling fixed-priority tasks with preemption threshold

In the context of fixed-priority scheduling, feasibility of a task set with non-preemptive scheduling does not imply the feasibility with preemptive scheduling and vice versa. We use the notion of preemption threshold, first introduced by Express Logic, in their ThreadX real-time operating system, to develop a scheduling model that subsumes both preemptive and non-preemptive fixed priority scheduling. Preemption threshold allows a task to only disable preemption of tasks up to a specified threshold priority. Tasks having priorities higher than the threshold are still allowed to preempt. With this new scheduling model, we show that schedulability is improved as compared to both the preemptive and nonpreemptive scheduling models. We develop the equations for computing the worst-case response times, using the concept of level-i busy period. Some useful results about the generalized model are presented and an algorithm for optimal assignment of priority and preemption threshold is designed based on these results.

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

[2]  W. Tindell AN EXTENDIBLE APPROACH FOR ANALYSING FIXED PRIORITY HARD REAL-TIME TASKS , 1994 .

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

[4]  Manas Saksena,et al.  Streamlining real-time controller design: From performance specifications to end-to-end timing constraints , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[5]  Theodore P. Baker,et al.  A stack-based resource allocation policy for realtime processes , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[6]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[7]  John P. Lehoczky,et al.  Fixed priority scheduling periodic tasks with varying execution priority , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[8]  Richard Gerber,et al.  Guaranteeing Real-Time Requirements With Resource-Based Calibration of Periodic Processes , 1995, IEEE Trans. Software Eng..

[9]  Alan Burns,et al.  An approach to task attribute assignment for uniprocessor systems , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[10]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

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

[12]  Alan Burns,et al.  Dual Priority Assignment: A Practical Method For Increasing Processor Utilisation , 1993, Fifth Euromicro Workshop on Real-Time Systems.

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

[14]  Steve Goddard Analyzing the real-time properties of a dataflow execution paradigm using a synthetic aperture radar application , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

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

[16]  Manas Saksena,et al.  Resource conscious design of distributed real-time systems: An end-to-end approach , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).