Optimizing stack memory requirements for real-time embedded applications

In the development of some real-time embedded applications, especially systems-on-chip, an efficient use of RAM memory is as important as the effective scheduling of the computation resources. The design problem is to find a schedulable solution that fits within the memory budget. In a real-time concurrent system, preemption plays an important role in the exploration of these tradeoffs. Several schemes, including preemption thresholds and non-preemption groups, have been developed to improve schedulability and saving stack memory space by selectively disabling preemption. However, the design synthesis problem for such systems and protocols is still an open problem. We target at the efficient assignment of the scheduling parameters for systems scheduled according to these policies in several cases of practical interest, including those that are compliant with automotive standards.

[1]  Haibo Zeng,et al.  An Efficient Formulation of the Real-Time Feasibility Region for Design Optimization , 2013, IEEE Trans. Computers.

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

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

[4]  Peter A. Buhr,et al.  Solution space for fixed-priority with preemption threshold , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

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

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

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  Moving From Federated to Integrated Architectures in Automotive: The Role of Standards, Methods and Tools , 2010, Proceedings of the IEEE.

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

[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]  Giorgio C. Buttazzo,et al.  Improving Feasibility of Fixed Priority Tasks Using Non-Preemptive Regions , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

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

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

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

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