Minimizing stack memory for hard real-time applications on multicore platforms

Multicore platforms are increasingly used in realtime embedded applications. In the development of such applications, an efficient use of RAM memory is as important as the effective scheduling of software tasks. Preemption Threshold Scheduling is a well-known technique for controlling the degree of preemption, possibly improving system schedulability, and allowing savings in stack space. In this paper, we target at the optimal mapping of tasks to cores and the assignment of the scheduling parameters for systems scheduled with preemption thresholds. We formulate the optimization problems using Mixed Integer Linear Programming framework, and propose an efficient heuristic as an alternative. We demonstrate the efficiency and quality of both approaches with extensive experiments using random systems as well as two industrial case studies.

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

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

[3]  Sungjun Kim Using Scratchpad Memory for Stack Data in Hard Real-Time Embedded Systems , 2011 .

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

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

[6]  John Regehr,et al.  Offline compression for on-chip ram , 2007, PLDI '07.

[7]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.

[8]  Abhilash Thekkilakattil,et al.  Limited Preemptive Scheduling in Real-time Systems , 2016 .

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

[10]  Insik Shin,et al.  A Synchronization Protocol for Temporal Isolation of Software Components in Vehicular Systems , 2009, IEEE Transactions on Industrial Informatics.

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

[12]  Hai Zhou,et al.  Parallel CAD: Algorithm Design and Programming Special Section Call for Papers TODAES: ACM Transactions on Design Automation of Electronic Systems , 2010 .

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

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

[15]  Gerard J. Holzmann,et al.  The power of 10: rules for developing safety-critical code , 2006, Computer.

[16]  Michael González Harbour,et al.  POSIX-compatible application-defined scheduling in MaRTE OS , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

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

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

[19]  Giorgio C. Buttazzo,et al.  Rate Monotonic vs. EDF: Judgment Day , 2003, Real-Time Systems.

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

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

[22]  Qi Zhu,et al.  Optimizing stack memory requirements for real-time embedded applications , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

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

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

[25]  Zonghua Gu,et al.  Resource Synchronization and Preemption Thresholds Within Mixed-Criticality Scheduling , 2015, ACM Trans. Embed. Comput. Syst..

[26]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

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

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

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

[30]  Chuansheng Dong,et al.  Minimizing stack memory for hard real-time applications on multicore platforms , 2014, DATE 2014.

[31]  Ge Yu,et al.  Schedulability analysis of preemptive and nonpreemptive EDF on partial runtime-reconfigurable FPGAs , 2008, TODE.

[32]  Frank Slomka,et al.  An application-based EDF scheduler for OSEK/VDX , 2008, 2008 Design, Automation and Test in Europe.

[33]  Baruah Sanjoy,et al.  Partitioned Scheduling of Sporadic Task Systems: an ILP-based approach , 2008 .

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

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

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

[37]  Benedikt Huber,et al.  T-CREST: Time-predictable multi-core architecture for embedded systems , 2015, J. Syst. Archit..

[38]  Giorgio C. Buttazzo,et al.  Feasibility Analysis of Engine Control Tasks under EDF Scheduling , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[39]  Ravindra Jejurikar,et al.  Integrating preemption threshold scheduling and dynamic voltage scaling for energy efficient real-ti , 2004 .

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

[41]  Shaolei Ren,et al.  Enhanced fixed-priority real-time scheduling on multi-core platforms by exploiting task period relationship , 2015, J. Syst. Softw..

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

[43]  Philip Koopman,et al.  Better Embedded System Software , 2010 .

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

[45]  Yaoyao Ye,et al.  Efficient SAT-based application mapping and scheduling on multiprocessor systems for throughput maximization , 2015, 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).