Stack-based scheduling of realtime processes

The Priority Ceiling Protocol (PCP) of Sha, Rajkumar and Lehoczky is a policy for locking binary semaphores that bounds priority inversion (i.e., the blocking of a job while a lower priority job executes), and thereby improves schedulability under fixed priority preemptive scheduling. We show how to extend the PCP to handle: multiunit resources, which subsume binary semaphores and reader-writer locks; dynamic priority schemes, such as earliest-deadline-first (EDF), that use static “preemption levels”; sharing of runtime stack space between jobs. These extensions can be applied independently, or together.The Stack Resource Policy (SRP) is a variant of the SRP that incorporates the three extensions mentioned above, plus the conservative assumption that each job may require the use of a shared stack. This avoids unnecessary context switches and allows the SRP to be implemented very simply using a stack. We prove a schedulability result for EDF scheduling with the SRP that is tighter than the one proved previously for EDF with a dynamic version of the PCP.The Minimal SRP (MSRP) is a slightly more complex variant of the SRP, which has similar properties, but imposes less blocking. The MSRP is optimal for stack sharing systems, in the sense that it is the least restrictive policy that strictly bounds priority inversion and prevents deadlock for rate monotone (RM) and earliest-deadline-first (EDF) scheduling.

[1]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[2]  Lui Sha,et al.  Real-time synchronization protocols for multiprocessors , 1988, Proceedings. Real-Time Systems Symposium.

[3]  Theodore P. Baker,et al.  Toward the deterministic scheduling of Ada tasks , 1989, [1989] Proceedings. Real-Time Systems Symposium.

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

[5]  Richard Craig Holt,et al.  On deadlock in computer systems , 1971 .

[6]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[7]  Theodore P. Baker,et al.  An Architecture for Real-Time Software Systems , 1989 .

[8]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

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

[10]  Lui Sha,et al.  An Optimal Priority Inheritance Protocol for Real-Time Synchronization , 1988 .

[11]  Theodore P. Baker,et al.  Special Feature: An Architecture for Real-Time Software Systems , 1986, IEEE Software.

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

[13]  Kwei-Jay Lin,et al.  Dynamic priority ceilings: A concurrency control protocol for real-time systems , 1990, Real-Time Systems.

[14]  Lui Sha,et al.  Solutions for Some Practical Problems in Prioritized Preemptive Scheduling , 1986, RTSS.

[15]  Theodore P. Baker Preemption vs. priority and the importance of early blocking , 1990 .

[16]  梅村 恭司 Andrew S.Tanenbaum 著, "Operating systems, Design and implementation", PRENTICE-HALL, INC., Englewood Cliffs, B5変形判, 719p., \4,120 , 1988 .

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

[18]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[19]  James W. Havender Avoiding Deadlock in Multitasking Systems , 1968, IBM Syst. J..

[20]  Paul N. Hilfinger,et al.  Implementation strategies for Ada tasking idioms , 1982, AdaTEC '82.

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

[22]  Ragunathan Rajkumar,et al.  Implementing Priority Inheritance Algorithms in an Ada Runtime System , 1989 .

[23]  Lui Sha,et al.  Mode change protocols for priority-driven preemptive scheduling , 1989, Real-Time Systems.

[24]  Alan Shaw,et al.  The logical design of operating systems , 1987 .