skip to main content
research-article

Compiling for the Worst Case: Memory Allocation for Multi-task and Multi-core Hard Real-time Systems

Published:11 March 2020Publication History
Skip Abstract Section

Abstract

Modern embedded hard real-time systems feature multiple tasks running on multiple processing cores. Schedulability analysis of such systems is usually performed on an abstract system level with each task being represented as a black box with fixed timing properties. If timing constraints are violated, then optimizing the system on a code-level to achieve schedulability is a tedious task.

To tackle this issue, we propose an extension to the WCET-aware C Compiler framework WCC. We integrated an optimization framework based on Integer-Linear Programming into the WCC that is able to optimize a multi-core system with multiple tasks running on each core with regards to its schedulability. We evaluate the framework by providing two approaches on a schedulability aware static Scratchpad Memory (SPM) allocation: one based on Integer-Linear Programming (ILP) and one based on a genetic algorithm.

References

  1. AbsInt Angewandte Informatik, GmbH. 2019. aiT Worst-Case Execution Time Analyzers. https://www.absint.com/ait.Google ScholarGoogle Scholar
  2. Sanjoy K. Baruah. 2003. Dynamic- and static-priority scheduling of recurring real-time tasks. Springer Real-time Syst. 24, 1 (2003).Google ScholarGoogle Scholar
  3. Enrico Bini and Giorgio C. Buttazzo. 2005. Measuring the performance of schedulability tests. Real-time Syst. 30, 1 (5 2005), 129--154.Google ScholarGoogle Scholar
  4. Enrico Bini, Marco Di Natale, and Giorgio Buttazzo. 2007. Sensitivity analysis for fixed-priority real-time systems. Real-time Syst. 39, 1–3 (2007), 5--30.Google ScholarGoogle Scholar
  5. Johannes Bisschop. 2017. AIMMS Optimization Modeling. AIMMS B.V., Haarlem, The Netherlands.Google ScholarGoogle Scholar
  6. Corinna G. Lee and Paul Chow and Mark G. Stoodley. 2018. UTDSP Benchmark Suite. Retrieved from www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html.Google ScholarGoogle Scholar
  7. Christoph Cullmann, Christian Ferdinand, Gernot Gebhard, Daniel Grund, Claire Maiza, Jan Reineke, Benoît Triquet, and Reinhard Wilhelm. 2010. Predictability considerations in the design of multi-core embedded systems. In Proceedings of the Embedded Real Time Software and Systems Conference. 36--42.Google ScholarGoogle Scholar
  8. M. de. Michiel, A. Bonenfant, H. Cassé, and P. Sainrat. 2008. Static loop bound analysis of C programs based on flow analysis and abstract interpretation. In Proceedings of the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 161--166.Google ScholarGoogle Scholar
  9. Heiko Falk, Sebastian Altmeyer, Peter Hellinckx, Björn Lisper, Wolfgang Puffitsch, Christine Rochange, Martin Schoeberl, Rasmus Bo Sørensen, Peter Wägemann, and Simon Wegener. 2016. TACLeBench: A benchmark collection to support worst-case execution time research. In Proceedings of the Worst-Case Execution Time Analysis Conference.Google ScholarGoogle Scholar
  10. Heiko Falk and Jan C. Kleinsorge. 2009. Optimal static WCET-aware scratchpad allocation of program code. In Proceedings of the Design Automation Conference.Google ScholarGoogle Scholar
  11. Heiko Falk and Paul Lokuciejewski. 2010. A compiler framework for the reduction of worst-case execution times. Springer Real-time Syst. 46, 2 (2010).Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. David E. Goldberg. 1989. Genetic Algorithms in Search, Optimization, and Machine Learning (repr. with corr. ed.). Addison-Wesley Publishing Company, Inc., Reading, Mass.Google ScholarGoogle Scholar
  13. Klaus Gresser. 1993. An event model for deadline verification of hard real-time systems. In Proceedings of the Euromicro Conference on Real-time Systems.Google ScholarGoogle ScholarCross RefCross Ref
  14. Jan Gustafsson, Adam Betts, Andreas Ermedahl, and Björn Lisper. 2010. The Mälardalen WCET benchmarks—Past, present and future. In Proceedings of the Worst-case Execution Time Analysis Conference.Google ScholarGoogle Scholar
  15. M. Guthaus, T. Austin, D. Ernst, R. Brown, T. Mudge, and J. Ringenberg. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE International Workshop on Workload Characterization (WWC), Vol. 00. 3--14.Google ScholarGoogle Scholar
  16. C. Healy, M. Sjodin, V. Rustagi, and D. Whalley. 1998. Bounding loop iterations for timing analysis. In Proceedings of the 4th IEEE Real-time Technology and Applications Symposium (Cat. No.98TB100245). 12--21.Google ScholarGoogle Scholar
  17. R. Henia, A. Hamann, M. Jersak, R. Racu, K. Richter, and R. Ernst. 2005. System level performance analysis—The SymTA/S approach. IEEE Proc. Comput. Dig. Techniq. 152, 2 (Mar. 2005), 148--166.Google ScholarGoogle ScholarCross RefCross Ref
  18. Mathai Joseph and Paritosh Pandya. 1986. Finding response times in a real-time system. Comput. J. 29, 5 (1 1986), 390--395. DOI: DOI:https://doi.org/10.1093/comjnl/29.5.390.Google ScholarGoogle ScholarCross RefCross Ref
  19. Timon Kelter. 2015. WCET Analysis and Optimization for Multi-core Real-time Systems. Ph.D. Dissertation. TU Dortmund University, Dortmund, Germany.Google ScholarGoogle Scholar
  20. T. Kelter, H. Borghorst, and P. Marwedel. 2014. WCET-aware scheduling optimizations for multi-core real-time systems. In Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (IC-SAMOS’14).Google ScholarGoogle Scholar
  21. Timon Kelter and Peter Marwedel. 2017. Parallelism analysis: Precise WCET values for complex multi-core systems. Sci. Comput. Progr. 133 (2017).Google ScholarGoogle Scholar
  22. Chunho Lee, M. Potkonjak, and W. H. Mangione-Smith. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th International Symposium on Microarchitecture. 330--335.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Xianfeng Li, Yun Liang, Tulika Mitra, and Abhik Roychoudhury. 2007. Chronos: A timing analyzer for embedded software. Sci. Comput. Progr. 69, 1 (2007), 56--67.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. L. Liu and James W. Layland. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 1 (1973).Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Paul Lokuciejewski, Daniel Cordes, Heiko Falk, and Peter Marwedel. 2009. A fast and precise static loop analysis based on abstract interpretation, program slicing, and polytope models. In Proceedings of the International Symposium on Code Generation and Optimization (CGO’09). 136--146.Google ScholarGoogle Scholar
  26. Paul Lokuciejewski, Timon Kelter, and Peter Marwedel. 2010. Superblock-based source code optimizations for WCET reduction. In Proceedings of the 10th IEEE International Conference on Computer and Information Technology. 1918--1925.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Louis-Noel Pouchet. 2018. PolyBench/C—The Polyhedral Benchmark Suite. Retrieved from http://www.cs.ucla.edu/ pouchet/software/polybench/.Google ScholarGoogle Scholar
  28. Arno Luppold and Heiko Falk. 2015. Code optimization of periodic preemptive hard real-time multitasking systems. In Proceedings of the IEEE International Symposium on Object/Component/Service-oriented Real-time Distributed Computing (ISORC’15).Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Arno Luppold and Heiko Falk. 2017. Schedulability-aware SPM allocation for preemptive hard real-time systems with arbitrary activation patterns. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE’17).Google ScholarGoogle ScholarCross RefCross Ref
  30. Arno Luppold, Christina Kittsteiner, and Heiko Falk. 2016. Cache-aware instruction SPM allocation for hard real-time systems. In Proceedings of the 19th International Workshop on Software & Compilers for Embedded Systems (SCOPES’16). 77--85.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Arno Luppold, Dominic Oehlert, and Heiko Falk. 2018. Evaluating the Performance of Solvers for Integer-Linear Programming. TR. Institute of Embedded Systems, Hamburg University of Technology, Hamburg/Germany.Google ScholarGoogle Scholar
  32. G. Memik, W. H. Mangione-Smith, and W. Hu. 2001. NetBench: A benchmarking suite for network processors. In Proceedings of the IEEE/ACM International Conference on Computer Aided Design (ICCAD’01). IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281). 39--42.Google ScholarGoogle Scholar
  33. Milica Mitić and Mile Stojčev. 2006. A survey of three system-on-chip buses: AMBA, CoreConnect, and wishbone. In Proceedings of the International Scientific Conference on Information, Communication and Energy Systems and Technologies. 282--285.Google ScholarGoogle Scholar
  34. Moritz Neukirchner, Sophie Quinton, Tobias Michaels, Philip Axer, and Rolf Ernst. 2013. Sensitivity analysis for arbitrary activation patterns in real-time systems. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE’13). 135--140.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Dominic Oehlert and Heiko Falk. 2018. WCET analysis of automotive buses using WCC. In Proceedings of the DATE Workshop on New Platforms for Future Cars.Google ScholarGoogle Scholar
  36. Dominic Oehlert, Arno Luppold, and Heiko Falk. 2016. Practical challenges of ILP-based SPM allocation optimizations. In Proceedings of the Software and Compilers for Embedded Systems (SCOPES’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Dominic Oehlert, Arno Luppold, and Heiko Falk. 2017. Bus-aware static instruction SPM allocation for multicore hard real-time systems. In Proceedings of the Euromicro Conference on Real-time Systems (ECRTS’17).Google ScholarGoogle Scholar
  38. Guillaume Phavorin, Pascal Richard, Joël Goossens, Thomas Chapeaux, and Claire Maiza. 2015. Scheduling with preemption delays: Anomalies and issues. In Proceedings of the International Conference on Real-time and Network Systems (RTNS’15). 109--118.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Kai Richter. 2005. Compositional Scheduling Analysis Using Standard Event Models. The SymTA/S Approach. Ph.D. Dissertation. Technical University Carolo-Wilhelmina of Braunschweig.Google ScholarGoogle Scholar
  40. StreamIt Community. 2018. The StreamIt Benchmark Suite. Retrieved from http://groups.csail.mit.edu/cag/streamit/shtml/benchmarks.shtml.Google ScholarGoogle Scholar
  41. V. Suhendra, T. Mitra, A. Roychoudhury, and Ting Chen. 2005. WCET centric data allocation to scratchpad memory. In Proceedings of the IEEE Real-time Systems Symposium (RTSS’05).Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Synopsys Inc. 2018. CoMET System Engineering IDE. Retrieved from http://www.synopsys.com.Google ScholarGoogle Scholar
  43. Alan M. Turing. 1937. On computable numbers, with an application to the entscheidungsproblem. Proc. London Math. Soc. s2-42, 1 (1937), 230--265. DOI:https://doi.org/10.2307/2268810Google ScholarGoogle Scholar
  44. Ernesto Wandeler. 2006. Modular Performance Analysis and Interface-based Design for Embedded Real-Time Systems. Ph.D. Dissertation. Swiss Federal Institute of Technology Zurich, Zurich/Switzerland.Google ScholarGoogle Scholar
  45. Jia Xu. 2010. A method for adjusting the periods of periodic processes to reduce the least common multiple of the period lengths in real-time embedded systems. In Proceedings of the IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications (MESA’10). 288--294.Google ScholarGoogle ScholarCross RefCross Ref
  46. Fengxiang Zhang, Alan Burns, and Sanjoy Baruah. 2011. Sensitivity analysis of arbitrary deadline real-time systems with EDF scheduling. Real-time Syst. 47, 3 (2011), 224--252.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Marco Ziccardi, Alessandro Cornaglia, Enrico Mezzetti, and Tullio Vardanega. 2015. Software-enforced interconnect arbitration for COTS multicores. In Proceedings of the Worst-case Execution Time Analysis Conference (WCET’15).Google ScholarGoogle Scholar
  48. Vojin Zivojnović, Juan M. Velarde, Christian Schläger, and Heinrich Meyr. 1994. DSPSTONE: A DSP-oriented benchmarking methodology. In Proceedings of the International Conference on Signal Processing Applications and Technology (IC-SPAT’94).Google ScholarGoogle Scholar

Index Terms

  1. Compiling for the Worst Case: Memory Allocation for Multi-task and Multi-core Hard Real-time Systems

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader

              HTML Format

              View this article in HTML Format .

              View HTML Format
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!