Minimizing Stack and Communication Memory Usage in Real-Time Embedded Applications

In the development of real-time embedded applications, especially those on systems-on-chip, an efficient use of RAM memory is as important as the effective scheduling of the computation resources. The protection of communication and state variables accessed by concurrent tasks must provide real-time schedulability guarantees while using the least amount of memory. Several schemes, including preemption thresholds, have been developed to improve schedulability and save stack space by selectively disabling preemption. However, the design synthesis problem is still open. In this article, we target the assignment of the scheduling parameters to minimize memory usage for systems of practical interest, including designs compliant with automotive standards. We propose algorithms either proven optimal or shown to improve on randomized optimization methods like simulated annealing.

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

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

[3]  Zonghua Gu,et al.  PT-AMC: Integrating Preemption Thresholds into Mixed-Criticality Scheduling , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  Improving the Size of Communication Buffers in Synchronous Models With Time Constraints , 2009, IEEE Transactions on Industrial Informatics.

[5]  J. Chen A Fully Asynchronous Reader/Writer Mechanism for Multiprocessor Real-Time Systems , 1997 .

[6]  H. Kopetz,et al.  Automotive Software Development for a Multi-Core System-on-a-Chip , 2007, Fourth International Workshop on Software Engineering for Automotive Systems (SEAS '07).

[7]  J BrilReinder,et al.  Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption , 2009 .

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

[9]  Alberto L. Sangiovanni-Vincentelli,et al.  Synthesis of Multitask Implementations of Simulink Models With Minimum Delays , 2010, IEEE Transactions on Industrial Informatics.

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

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

[12]  S. Vestal Preemptive Scheduling of Multi-criticality Systems with Varying Degrees of Execution Time Assurance , 2007, RTSS 2007.

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

[14]  Neil Audsley,et al.  OPTIMAL PRIORITY ASSIGNMENT AND FEASIBILITY OF STATIC PRIORITY TASKS WITH ARBITRARY START TIMES , 2007 .

[15]  Yi Zhang,et al.  An Approach to Optimize Intra-ECU Communication Based on Mapping of AUTOSAR Runnable Entities , 2009, 2009 International Conference on Embedded Software and Systems.

[16]  Krithi Ramamritham,et al.  Advances in Real-Time Systems , 1993 .

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

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

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

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

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

[22]  Sanjoy K. Baruah,et al.  The limited-preemption uniprocessor scheduling of sporadic task systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[23]  Stavros Tripakis,et al.  A memory-optimal buffering protocol for preservation of synchronous semantics under preemptive scheduling , 2006, EMSOFT '06.

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

[25]  Giorgio C. Buttazzo,et al.  Limited Preemptive Scheduling for Real-Time Systems. A Survey , 2013, IEEE Transactions on Industrial Informatics.

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

[27]  Haibo Zeng,et al.  Efficient implementation of AUTOSAR components with minimal memory usage , 2012, 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12).

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

[29]  Qi Wang,et al.  Execution Stack Management for Hard Real-Time Computation in a Component-Based OS , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[30]  Alan Burns,et al.  Preemptive priority-based scheduling: an appropriate engineering approach , 1995 .

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

[32]  Zonghua Gu,et al.  Integration of resource synchronization and preemption-thresholds into EDF-based mixed-criticality scheduling algorithm , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.