Reducing stack with intra-task threshold priorities in real-time systems

In the design of hard real-time systems, the feasibility of the task set is one of the primary concerns. However, in embedded systems with scarce resources, optimizing resource usage is equally important. In particular, the RAM is highly expensive in terms of chip space, and it heavily impacts the cost of the final product. In this paper, we address the problem of reducing the stack usage of a set of sporadic tasks with timing and resource constraints, running on a uni-processor system. With respect to other approaches available in the literature, this work considers each task consisting of a set of functions (or subjobs), each characterized by a maximum stack requirement. This makes it possible to prohibit arbitrary preemptions through a dynamic priority protocol that reduces the overall system stack usage. Resource synchronization is also considered and, an extension of the Stack Resource Policy is presented to arbitrate the access to mutually exclusive resources while reducing the overall stack space. Simulations are performed on randomly generated task sets to evaluate the efficiency of the proposed method with respect to existing approaches.

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

[2]  Alexander G. Dean,et al.  Preemption Threshold Scheduling: Stack Optimality, Enhancements and Analysis , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[3]  Sanjoy K. Baruah,et al.  Resource holding times: computation and optimization , 2009, Real-Time Systems.

[4]  Jukka Mäki-Turja,et al.  Determining Maximum Stack Usage in Preemptive Shared Stack Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[5]  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..

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

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

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

[9]  Marco Di Natale Optimizing the Multitask Implementation of Multirate Simulink Models , 2006, IEEE Real Time Technology and Applications Symposium.

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

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

[12]  Paolo Gai,et al.  Time and memory tradeoffs in the implementation of AUTOSAR components , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[13]  Rajeev Barua,et al.  MTSS: Multitask stack sharing for embedded systems , 2008, ACM Trans. Embed. Comput. Syst..

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

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

[16]  Jukka Mäki-Turja,et al.  Bounding Shared-Stack Usage in Systems with Offsets and Precedences , 2008, 2008 Euromicro Conference on Real-Time Systems.

[17]  Paolo Gai,et al.  Real Time Operating System design for Multiprocessor system-on-a-chip , 2005 .

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

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

[20]  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.

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

[22]  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.