A Deadline-Floor Inheritance Protocol for EDF Scheduled Embedded Real-Time Systems with Resource Sharing

Earliest Deadline First (EDF) is the most widely studied optimal dynamic scheduling algorithm for uniprocessor real-time systems. For realistic programs, tasks must be allowed to exchange data and use other forms of resources that must be accessed under mutual exclusion. With EDF scheduled systems, access to such resources is usually controlled by the use of Baker's Stack Resource Protocol (SRP). In this paper we propose an alternative scheme based on deadline inheritance. Shared resources are assigned a relative deadline equal to the minimum (floor) of the relative deadlines of all tasks that use the resource. On entry to the resource a task's current absolute deadline is subject to an immediately reduction to reflect the resource's deadline floor. On exit the original deadline for the task is restored. We show that the worst-case behaviour of the new protocol (termed DFP-Deadline Floor inheritance Protocol) is the same as SRP. Indeed it leads to the same blocking term in the scheduling analysis. We argue that the new scheme is however more intuitive, removes the need to support preemption levels and we demonstrate that it can be implemented more efficiently.

[1]  Sanjoy K. Baruah,et al.  Resource Sharing in EDF-Scheduled Systems: A Closer Look , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[2]  Alan Burns,et al.  Supporting Deadlines and EDF Scheduling in Ada , 2004, Ada-Europe.

[3]  Alan Burns,et al.  Implementing and Verifying EDF Preemption-Level Resource Control , 2012, Ada-Europe.

[4]  Alan Burns,et al.  Correcting the EDF protocol in Ada 2005 , 2007 .

[5]  Alan Burns,et al.  Schedulability Analysis for Real-Time Systems with EDF Scheduling , 2009, IEEE Transactions on Computers.

[6]  Alan Burns,et al.  Session summary: locking protocols , 2013, ALET.

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

[8]  Andy Wellings,et al.  Session summary: multiprocessor issues, part 2 (resource control protocols) , 2013, ALET.

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

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

[11]  Alan Burns,et al.  Schedulability analysis of EDF-scheduled embedded real-time systems with resource sharing , 2013, TECS.

[12]  Alan Burns,et al.  Combining EDF and FP Scheduling: Analysis and Implementation in Ada 2005 , 2009, Ada-Europe.

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

[14]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

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

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

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

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

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

[20]  Mario Aldea Rivas,et al.  Michael González Harbour: MaRTE OS: An Ada Kernel for Real-Time Embedded Applications , 2001, Ada-Europe.

[21]  Erhard Plödereder,et al.  Ada 2005 Reference Manual. Language and Standard Libraries - International Standard ISO/IEC 8652/1995 (E) with Technical Corrigendum 1 and Amendment 1 , 2007, Lecture Notes in Computer Science.

[22]  Lui Sha,et al.  A Real-Time Locking Protocol , 1991, IEEE Trans. Computers.

[23]  Kevin Jeffay,et al.  Scheduling sporadic tasks with shared resources in hard-real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[24]  Marco Spuri,et al.  Deadline Scheduling for Real-Time Systems , 2011 .