Extended support for limited preemption fixed priority scheduling for OSEK/AUTOSAR-compliant operating systems

Fixed Priority Scheduling (FPS) is the de facto standard in industry and it is the scheduling algorithm used in OSEK/AUTOSAR. Applications in such systems are compositions of so-called runnables, the functional entities of the system. Runnables are mapped to operating system tasks during system synthesis. In order to improve system performance it is proposed to execute runnables non-preemptively while varying the tasks threshold between runnables. This allows simpler resource access, which can reduce the stack usage of the system and improve the schedulability of the task sets. FPDS*, as a special case of fixed-priority scheduling with deferred preemptions, executes subjobs non-preemptively and preemption points have preemption thresholds, providing exactly the proposed behavior. However OSEK/AUTOSAR-conform systems cannot execute such schedules. In this paper we present an approach allowing the execution of FPDS* schedules. In our approach we exploit pseudo resources in order to implement FPDS*. It is further shown that our optimal algorithm produces a minimum number of resource accesses. In addition, a simulation-based evaluation is presented in which the number of resource accesses as well as the number of required pseudo-resources by the proposed algorithms are investigated. Finally, we report the overhead of resource access primitives using our measurements performed on an AUTOSAR-compliant operating system.

[1]  Robert I. Davis,et al.  How Embedded Applications using an RTOS can stay within On-chip Memory Limits , 2002 .

[2]  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).

[3]  Giuseppe Lipari,et al.  Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[4]  Giorgio C. Buttazzo,et al.  Optimal Selection of Preemption Points to Minimize Preemption Overhead , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[5]  Johan J. Lukkien,et al.  Generalized Fixed-Priority Scheduling with Limited Preemptions , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

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

[7]  Qi Zhu,et al.  Minimizing Stack and Communication Memory Usage in Real-Time Embedded Applications , 2014, TECS.

[8]  Jakob Axelsson,et al.  Porting an AUTOSAR-compliant operating system to a high performance embedded platform , 2014, SIGBED.

[9]  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).

[10]  Johan J. Lukkien,et al.  Exact response-time analysis for fixed-priority preemption-threshold scheduling , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[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]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[13]  Johan J. Lukkien,et al.  Improved feasibility of fixed-priority scheduling with deferred preemption using preemption thresholds for preemption points , 2013, RTNS '13.

[14]  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).

[15]  Manas Saksena,et al.  Scalable real-time system design using preemption thresholds , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[16]  Giorgio C. Buttazzo,et al.  Reducing stack with intra-task threshold priorities in real-time systems , 2010, EMSOFT '10.

[17]  Robert I. Davis,et al.  Optimal Fixed Priority Scheduling with Deferred Pre-emption , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[18]  Giorgio C. Buttazzo,et al.  Improving Feasibility of Fixed Priority Tasks Using Non-Preemptive Regions , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

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