skip to main content
research-article

Minimizing Stack Memory for Hard Real-Time Applications on Multicore Platforms with Partitioned Fixed-Priority or EDF Scheduling

Published: 11 May 2016 Publication History

Abstract

Multicore processors are increasingly adopted in resource-constrained real-time embedded applications. In the development of such applications, efficient use of RAM memory is as important as the effective scheduling of software tasks. Preemption Threshold Scheduling (PTS) is a well-known technique for controlling the degree of preemption, possibly improving system schedulability, and to reduce system stack usage. In this paper, we consider partitioned multi-processor scheduling on a multicore processor with either Fixed-Priority or Earliest Deadline First scheduling algorithms with PTS and address the design optimization problem of mapping tasks to processor cores and assignment of task priorities and preemption thresholds with the optimization objective of minimizing system stack usage. We present both optimal solution techniques based on Mixed Integer Linear Programming and efficient heuristic algorithms that can achieve high-quality results. We perform extensive performance evaluations using both synthetic tasksets and industrial case studies.

References

[1]
N. Audsley. 1991. Optimal Priority Assignment and Feasibility of Static Priority Tasks with Arbitrary Start Times. Technical Report YCS 164. Department of Computer Science, University of York, England.
[2]
Theodore P. Baker. 1990. A stack-based resource allocation policy for realtime processes. In Proceedings of the 11th Real-Time Systems Symposium. IEEE, 191--200.
[3]
S. K. Baruah. 2006. Resource sharing in EDF-scheduled systems: A closer look. In Proceedings of the 27th Real-Time Systems Symposium (RTSS’06). 379--387.
[4]
S. Baruah and E. Bini. 2008. Partitioned scheduling of sporadic task systems: An ILP-based approach. In Proceedings of the International Conference on Design and Architectures for Signal and Image Processing.
[5]
Alessandro Biondi, Giorgio Buttazzo, and Stefano Simoncelli. 2015. Feasibility analysis of engine control tasks under EDF scheduling. In Proceedings of the 2015 27th Euromicro Conference on Real-Time Systems (ECRTS’15). IEEE, 139--148.
[6]
G. C. Buttazzo, M. Bertogna, and Gang Yao. 2013. Limited preemptive scheduling for real-time systems. A survey. IEEE Trans. Indust. Inform. 9, 1 (Feb. 2013), 3--15.
[7]
Giorgio C. Buttazzo. 2005. Rate monotonic vs. EDF: Judgment day. Real-Time Syst. 29, 1 (2005), 5--26.
[8]
Jiongxiong Chen, Ashif Harji, and Peter Buhr. 2005. Solution space for fixed-priority with preemption threshold. In Proceedings of the 11th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS’05). IEEE, 385--394.
[9]
Nathan Dean Cooprider and John David Regehr. 2007. Offline compression for on-chip RAM. In ACM SIGPLAN Notices, Vol. 42. ACM, New York, NY, 363--372.
[10]
Robert I. Davis and Alan Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Comput. Surv. 43, 4 (Oct. 2011), 35:1--35:44.
[11]
M. Di Natale, Liangpeng Guo, Haibo Zeng, and A. Sangiovanni-Vincentelli. 2010. Synthesis of multitask implementations of simulink models with minimum delays. IEEE Trans. Indust. Inform. 6, 4 (Nov 2010), 637--651.
[12]
Claas Diederichs, Ulrich Margull, Frank Slomka, and Gerhard Wirrer. 2008. An application-based EDF scheduler for OSEK/VDX. In Proceedings of the Design, Automation and Test in Europe Conference (DATE’08). IEEE, 1045--1050.
[13]
Chuansheng Dong and Haibo Zeng. 2014. Minimizing stack memory for hard real-time applications on multicore platforms. In Proceedings of the Conference on Design, Automation & Test in Europe. 28.
[14]
Erika. 2015. Erika Enterprise. Retrieved from http://erika.tuxfamily.org/drupal/.
[15]
Ming Fan, Qiushi Han, Shuo Liu, Shaolei Ren, Gang Quan, and Shangping Ren. 2015. Enhanced fixed-priority real-time scheduling on multi-core platforms by exploiting task period relationship. J. Syst. Software 99 (2015), 85--96.
[16]
Freescale. 2015. Freescale Automotive MCUs and MPUs. Retrieved from http://www.freescale.com.
[17]
Paolo Gai, Giuseppe Lipari, and Marco Di Natale. 2001. Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip. In Proceedings of the 22nd IEEE Real-Time Systems Symposium. 73--83.
[18]
Rony Ghattas and Alexander G. Dean. 2007. Preemption threshold scheduling: Stack optimality, enhancements and analysis. In Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium. 147--157.
[19]
Nan Guan, Qingxu Deng, Zonghua Gu, Wenyao Xu, and Ge Yu. 2008. Schedulability analysis of preemptive and nonpreemptive EDF on partial runtime-reconfigurable FPGAs. ACM Trans. Des. Autom. Electr. Syst. 13, 4 (2008), 56.
[20]
Gerard J. Holzmann. 2006. The power of 10: Rules for developing safety-critical code. Computer 39, 6 (2006), 95--99.
[21]
Infineon. 2015. Infineon Microcontrollers. Retrieved from http://www.infineon.com/microcontrollers.
[22]
Ravindra Jejurikar and Rajesh Gupta. 2004. Integrating preemption threshold scheduling and dynamic voltage scaling for energy efficient real-time systems. In Proceedings of the 10th International Conference on Real-Time and Embedded Computing Systems and Applications (RTCSA04). 25--27.
[23]
Sungjun Kim. 2011. Using scratchpad memory for stack data in hard real-time embedded systems. In Proceedings of the Memory Architecture and Organization Workshop 2011.
[24]
Philip Koopman. 2010. Better Embedded System Software. Drumnadrochit Education.
[25]
Weichen Liu, Zonghua Gu, and Yaoyao Ye. 2015. Efficient SAT-based application mapping and scheduling on multiprocessor systems for throughput maximization. In Proceedings of the 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems. IEEE Press, 127--136.
[26]
Thomas Nolte, Insik Shin, Moris Behnam, and Mikael Sjödin. 2009. A synchronization protocol for temporal isolation of software components in vehicular systems. IEEE Trans. Indust. Inform. 5, 4 (2009), 375--387.
[27]
Mario Aldea Rivas and Michael González Harbour. 2002. POSIX-compatible application-defined scheduling in MaRTE OS. In Null. IEEE, 67.
[28]
Manas Saksena and Yun Wang. 2000. Scalable real-time system design using preemption thresholds. In Proceedings of the 21st IEEE Real-time Systems Symposium (RTSS’00). 25--34.
[29]
Martin Schoeberl, Sahar Abbaspour, Benny Akesson, Neil Audsley, Raffaele Capasso, Jamie Garside, Kees Goossens, Sven Goossens, Scott Hansen, Reinhold Heckmann, and others. 2015. T-CREST: Time-predictable multi-core architecture for embedded systems. J. Syst. Arch. 61, 9 (2015), 449--471.
[30]
Ken W. Tindell, Alan Burns, and Andy J. Wellings. 1992. Allocating hard real-time tasks: An NP-hard problem made easy. Real-Time Syst. 4, 2 (1992), 145--165.
[31]
Yun Wang and Manas Saksena. 1999. Scheduling fixed-priority tasks with preemption threshold. In Proceedings of the 6th International Conference on Real-Time Computing Systems and Applications. 328--335.
[32]
Gang Yao and Giorgio Buttazzo. 2010. Reducing stack with intra-task threshold priorities in real-time systems. In Proceedings of the 10th ACM International Conference on Embedded Software. 109--118.
[33]
Haibo Zeng and M. Di Natale. 2013. An efficient formulation of the real-time feasibility region for design optimization. IEEE Trans. Comput. 62, 4 (April 2013), 644--661.
[34]
Haibo Zeng, Marco Di Natale, and Qi Zhu. 2014. Minimizing stack and communication memory usage in real-time embedded applications. ACM Trans. Embed. Comput. Syst. 13, 5s (July 2014), 149:1--149:25.
[35]
Fengxiang Zhang and Alan Burns. 2013. Schedulability analysis of EDF-scheduled embedded real-time systems with resource sharing. ACM Trans. Embed. Comput. Syst. 12, 3 (April 2013), 67:1--67:19.
[36]
Qingling Zhao, Zonghua Gu, and Haibo Zeng. 2013. PT-AMC: Integrating preemption thresholds into mixed-criticality scheduling. In Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 141--146.
[37]
Qingling Zhao, Zonghua Gu, and Haibo Zeng. 2015. Resource synchronization and preemption thresholds within mixed-criticality scheduling. ACM Trans. Embed. Comput. Syst. 14, 4 (2015), 81.

Cited By

View all
  • (2022)Minimizing Stack Memory for Partitioned Mixed-criticality Scheduling on Multiprocessor PlatformsACM Transactions on Embedded Computing Systems10.1145/350670321:2(1-30)Online publication date: 4-Mar-2022
  • (2022)Schedulability analysis and stack size minimization for adaptive mixed criticality scheduling with semi-Clairvoyance and preemption thresholdsJournal of Systems Architecture10.1016/j.sysarc.2021.102383124(102383)Online publication date: Mar-2022
  • (2019)Hierarchical Ensemble Reduction and Learning for Resource-constrained ComputingACM Transactions on Design Automation of Electronic Systems10.1145/336522425:1(1-21)Online publication date: 4-Dec-2019
  • Show More Cited By

Index Terms

  1. Minimizing Stack Memory for Hard Real-Time Applications on Multicore Platforms with Partitioned Fixed-Priority or EDF Scheduling

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      ACM Transactions on Design Automation of Electronic Systems  Volume 21, Issue 3
      Special Section on New Physical Design Techniques for the Next Generation Integration Technology and Regular Papers
      July 2016
      434 pages
      ISSN:1084-4309
      EISSN:1557-7309
      DOI:10.1145/2926747
      • Editor:
      • Naehyuck Chang
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Journal Family

      Publication History

      Published: 11 May 2016
      Accepted: 01 November 2015
      Revised: 01 October 2015
      Received: 01 February 2015
      Published in TODAES Volume 21, Issue 3

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Multicore
      2. partitioned scheduling
      3. real-time scheduling

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Funding Sources

      • National Science Foundation of China

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)7
      • Downloads (Last 6 weeks)2
      Reflects downloads up to 23 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)Minimizing Stack Memory for Partitioned Mixed-criticality Scheduling on Multiprocessor PlatformsACM Transactions on Embedded Computing Systems10.1145/350670321:2(1-30)Online publication date: 4-Mar-2022
      • (2022)Schedulability analysis and stack size minimization for adaptive mixed criticality scheduling with semi-Clairvoyance and preemption thresholdsJournal of Systems Architecture10.1016/j.sysarc.2021.102383124(102383)Online publication date: Mar-2022
      • (2019)Hierarchical Ensemble Reduction and Learning for Resource-constrained ComputingACM Transactions on Design Automation of Electronic Systems10.1145/336522425:1(1-21)Online publication date: 4-Dec-2019
      • (2019)Partitioning and Selection of Data Consistency Mechanisms for Multicore Real-Time SystemsACM Transactions on Embedded Computing Systems10.1145/332027118:4(1-28)Online publication date: 10-Jun-2019
      • (2019)Optimization techniques for time-critical cyber-physical systemsProceedings of the Workshop on Design Automation for CPS and IoT10.1145/3313151.3313168(41-50)Online publication date: 15-Apr-2019
      • (2018)Semi-Extended Tasks: Efficient Stack Sharing Among Blocking Threads2018 IEEE Real-Time Systems Symposium (RTSS)10.1109/RTSS.2018.00049(338-349)Online publication date: Dec-2018
      • (2018)Slack clustering for scheduling frame-based tasks on multicore embedded systemsMicroelectronics Journal10.1016/j.mejo.2018.09.00281(144-153)Online publication date: Nov-2018
      • (2017)Scheduling algorithm for parallel real-time tasks on multiprocessor systemsACM SIGAPP Applied Computing Review10.1145/3040575.304057716:4(14-24)Online publication date: 13-Jan-2017
      • (2017)NPAM: NVM-Aware Page Allocation for Multi-Core Embedded SystemsIEEE Transactions on Computers10.1109/TC.2017.270382466:10(1703-1716)Online publication date: 1-Oct-2017
      • (2016)Global Fixed Priority Scheduling with Preemption ThresholdIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2016.252897827:11(3242-3255)Online publication date: 1-Nov-2016

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy