Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

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

Published: 23 July 2014 Publication History

Abstract

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.

References

[1]
Absint. 2014. Stackanalyzer. http://www.absint.com.
[2]
N. Audsley. 1991. Optimal priority assignment and feasibility of static priority tasks with arbitrary start times. Tech. rep. YCS 164, Department of Computer Science, University of York, UK.
[3]
Autosar Consortium. 2014. The autosar standard, specification version 4.1. http://www.autosar.org.
[4]
S. Baruah. 2005. The limited-preemption uniprocessor scheduling of sporadic task systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems.
[5]
M. Bertogna, G. Buttazzo, and G. Yao. 2011. Improving feasibility of fixed priority tasks using non-preemptive regions. In Proceedings of the 32nd IEEE Real-Time Systems Symposium.
[6]
M. Bohlin, K. Hanninen, J. Maki-Turja, J. Carlson, and M. Nolin. 2008. Bounding shared-stack usage in systems with offsets and precedences. In Proceedings of the 20th Euromicro Conference on Real-Time Systems.
[7]
R. J. Bril, J. J. Lukkien, and W. F. Verhaegh. 2009. Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption. Real-Time Syst. 42, 1--3, 63--119.
[8]
A. Burns. 1995. Preemptive priority-based scheduling: An appropriate engineering approach. In Advances in Real-Time System, Prentice-Hall, 225--248.
[9]
G. Buttazzo, M. Bertogna, and G. Yao. 2013. Limited preemptive scheduling for real-time systems: A survey. IEEE Trans. Industr. Inf. 9, 1, 3--15.
[10]
J. Chen and A. Burns. 1997. A fully asynchronous reader/write mechanism for multiprocessor real-time systems. Tech. rep. YCS 288, Department of Computer Science, University of York, UK.
[11]
J. Chen, A. Harji, and P. Buhr. 2005. Solution space for fixed-priority with preemption threshold. In Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium.
[12]
M. Di Natale, L. Guo, H. Zeng, and A. Sangiovanni-Vincentelli. 2010. Synthesis of multitask implementations of simulink models with minimum delays. IEEE Trans. Industr. Inf. 6, 4, 637--651.
[13]
A. Ferrari, M. Di Natale, G. Gentile, G. Reggiani, and P. Gai. 2009. Time and memory tradeoffs in the implementation of autosar components. In Proceedings of the Design, Automation, and Test in Europe Conference.
[14]
P. Gai, G. Lipari, and M. 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.
[15]
R. Ghattas and A. 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.
[16]
K. Hanninen, J. Maki-Turja, M. Bohlin, J. Carlson, and M. Nolin. 2006. Determining maximum stack usage in preemptive shared stack systems. In Proceedings of the 27th IEEE International Real-Time Systems Symposium.
[17]
H. Kopetz, R. Obermaisser, C. El Salloum, and B. Huber. 2007. Automotive software development for a multi-core system-on-a-chip. In Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems.
[18]
W. Lamie. 2013. Preemption-threshold. Express Logic, white paper. http://rtos.com/articles/18833.
[19]
R. Long, H. Li, W. Peng, Y. Zhang, and M. Zhao. 2009. An approach to optimize intra-ecu communication based on mapping of autosar runnable entities. In Proceedings of the International Conference on Embedded Software and Systems.
[20]
Mathworks. 2014. The mathworks simulink and stateflow user's manuals. http://www.mathworks.com.
[21]
OSEK. 2006. OSEK/VDX operating systems specification, version 2.2.3. http://www.osek-vdx.org.
[22]
J. Regehr. 2002. Scheduling tasks with mixed preemption relations for robustness to timing faults. In Proceedings of the 23rd IEEE Real-Time Systems Symposium (RTSS'02).
[23]
M. Saksena and Y. Wang. 2000. Scalable real-time system design using preemption thresholds. In Proceedings of the 21st IEEE Real-time Systems Symposium (RTSS'00).
[24]
L. Sha, R. Rajkumar, and J. P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 9, 1175--1185.
[25]
C. Sofronis, S. Tripakis, and P. Caspi. 2006. A memory-optimal buffering protocol for preservation of synchronous semantics under preemptive scheduling. In Proceedings of the 6th ACM/IEEE International Conference on Embedded Software.
[26]
S. Vestal. 2007. Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS'07). 239--243.
[27]
G. Wang, M. Di Natale, and A. Sangiovanni-Vincentelli. 2009. Improving the size of communication buffers in synchronous models with time constraints. IEEE Trans. Industr. Inf. 5, 3, 229--240.
[28]
Q. Wang, J. Song, and G. Parmer. 2011. Execution stack management for hard real-time computation in a component-based os. In Proceedings of the 32nd IEEE Real-Time Systems Symposium (RTSS'11).
[29]
Y. Wang and M. Saksena. 1999. Scheduling fixed-priority tasks with preemption threshold. In Proceedings of the 6th International Conference on Real-Time Computing Systems and Applications.
[30]
G. Yao and G. Buttazzo. 2010. Reducing stack with intra-task threshold priorities in real-time systems. In Proceedings of the 10th ACM International Conference on Embedded Software.
[31]
G. Yao, G. Buttazzo, and M. Bertogna. 2009. Bounding the maximum length of non-preemptive regions under fixed priority scheduling. In Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.
[32]
H. Zeng and M. Di Natale. 2012. Efficient implementation of autosar components with minimal memory usage. In Proceedings of the IEEE Symposium on Industrial Embedded Systems.
[33]
H. Zeng and M. Di Natale. 2013. An efficient formulation of the real-time feasibility region for design optimization. IEEE Trans. Comput. 62, 4, 644--661.
[34]
Q. Zhao, Z. Gu, and H. Zeng. 2013a. Integration of resource synchronization and preemption-thresholds into edf-based mixed-criticality scheduling algorithm. In Proceedings of the 9th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'13). 227--236.
[35]
Q. Zhao, Z. Gu, and H. Zeng. 2013b. PT-AMC: Integrating preemption thresholds into mixed-criticality scheduling. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE'13). 141--146.

Cited By

View all
  • (2024)Priority Assignment for Global Fixed Priority Scheduling on MultiprocessorsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.337658843:9(2538-2550)Online publication date: 13-Mar-2024
  • (2022)Optimal priority assignment for real-time systems: a coevolution-based approachEmpirical Software Engineering10.1007/s10664-022-10170-127:6Online publication date: 6-Aug-2022
  • (2020)A Parameterized Formal Model for the Analysis of Preemption-Threshold Scheduling in Real-Time SystemsIEEE Access10.1109/ACCESS.2020.29793548(58180-58193)Online publication date: 2020
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 13, Issue 5s
      Special Issue on Risk and Trust in Embedded Critical Systems, Special Issue on Real-Time, Embedded and Cyber-Physical Systems, Special Issue on Virtual Prototyping of Parallel and Embedded Systems (ViPES)
      November 2014
      501 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/2660459
      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: 23 July 2014
      Accepted: 01 September 2013
      Revised: 01 June 2013
      Received: 01 October 2012
      Published in TECS Volume 13, Issue 5s

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Preemption threshold scheduling
      2. data synchronization mechanism
      3. memory usage
      4. stack requirement

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Funding Sources

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)10
      • Downloads (Last 6 weeks)3
      Reflects downloads up to 25 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Priority Assignment for Global Fixed Priority Scheduling on MultiprocessorsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.337658843:9(2538-2550)Online publication date: 13-Mar-2024
      • (2022)Optimal priority assignment for real-time systems: a coevolution-based approachEmpirical Software Engineering10.1007/s10664-022-10170-127:6Online publication date: 6-Aug-2022
      • (2020)A Parameterized Formal Model for the Analysis of Preemption-Threshold Scheduling in Real-Time SystemsIEEE Access10.1109/ACCESS.2020.29793548(58180-58193)Online publication date: 2020
      • (2020)Resource-efficient cyber-physical systems design: A surveyMicroprocessors and Microsystems10.1016/j.micpro.2020.10318377(103183)Online publication date: Sep-2020
      • (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
      • (2019)A Review of Recent Techniques in Mixed-Criticality SystemsJournal of Circuits, Systems and Computers10.1142/S021812661930007128:07(1930007)Online publication date: 27-Jun-2019
      • (2019)The Concept of Unschedulability Core for Optimizing Real-Time Systems with Fixed-Priority SchedulingIEEE Transactions on Computers10.1109/TC.2018.287883568:6(926-938)Online publication date: 1-Jun-2019
      • (2019)The concept of Maximal Unschedulable Deadline Assignment for optimization in fixed-priority scheduled real-time systemsReal-Time Systems10.1007/s11241-019-09332-055:3(667-707)Online publication date: 1-Jul-2019
      • (2018)A Unified Framework for Period and Priority Optimization in Distributed Hard Real-Time SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2018.285738037:11(2188-2199)Online publication date: Nov-2018
      • (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
      • Show More Cited By

      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