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.
- AbsInt Angewandte Informatik, GmbH. 2019. aiT Worst-Case Execution Time Analyzers. https://www.absint.com/ait.Google Scholar
- Sanjoy K. Baruah. 2003. Dynamic- and static-priority scheduling of recurring real-time tasks. Springer Real-time Syst. 24, 1 (2003).Google Scholar
- Enrico Bini and Giorgio C. Buttazzo. 2005. Measuring the performance of schedulability tests. Real-time Syst. 30, 1 (5 2005), 129--154.Google Scholar
- 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 Scholar
- Johannes Bisschop. 2017. AIMMS Optimization Modeling. AIMMS B.V., Haarlem, The Netherlands.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Heiko Falk and Jan C. Kleinsorge. 2009. Optimal static WCET-aware scratchpad allocation of program code. In Proceedings of the Design Automation Conference.Google Scholar
- 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 Scholar
Digital Library
- David E. Goldberg. 1989. Genetic Algorithms in Search, Optimization, and Machine Learning (repr. with corr. ed.). Addison-Wesley Publishing Company, Inc., Reading, Mass.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- Timon Kelter. 2015. WCET Analysis and Optimization for Multi-core Real-time Systems. Ph.D. Dissertation. TU Dortmund University, Dortmund, Germany.Google Scholar
- 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 Scholar
- Timon Kelter and Peter Marwedel. 2017. Parallelism analysis: Precise WCET values for complex multi-core systems. Sci. Comput. Progr. 133 (2017).Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- C. L. Liu and James W. Layland. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 1 (1973).Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Louis-Noel Pouchet. 2018. PolyBench/C—The Polyhedral Benchmark Suite. Retrieved from http://www.cs.ucla.edu/ pouchet/software/polybench/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Kai Richter. 2005. Compositional Scheduling Analysis Using Standard Event Models. The SymTA/S Approach. Ph.D. Dissertation. Technical University Carolo-Wilhelmina of Braunschweig.Google Scholar
- StreamIt Community. 2018. The StreamIt Benchmark Suite. Retrieved from http://groups.csail.mit.edu/cag/streamit/shtml/benchmarks.shtml.Google Scholar
- 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 Scholar
Digital Library
- Synopsys Inc. 2018. CoMET System Engineering IDE. Retrieved from http://www.synopsys.com.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Index Terms
Compiling for the Worst Case: Memory Allocation for Multi-task and Multi-core Hard Real-time Systems
Recommendations
Worst-Case Temperature Guarantees for Real-Time Applications on Multi-core Systems
RTAS '12: Proceedings of the 2012 IEEE 18th Real Time and Embedded Technology and Applications SymposiumDue to increased on-chip power density, multi-core systems face various thermal issues. In particular, exceeding a certain threshold temperature can reduce the system's performance and reliability. Therefore, when designing a real-time application with ...
Fast worst-case peak temperature evaluation for real-time applications on multi-core systems
LATW '12: Proceedings of the 2012 13th Latin American Test Workshop - LATWThe reliability of multi-core systems is nowadays threatened by high chip temperatures leading to long-term reliability concerns and short-term functional errors. In real-time systems, high chip temperatures are even adherent to potential deadline ...
Multicore-Aware Code Positioning to Improve Worst-Case Performance
ISORC '11: Proceedings of the 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed ComputingInter-thread interferences in shared caches can significantly affect the worst-case execution time (WCET) of real-time tasks running on multi-core chips. In this paper, we study three multicore-aware code positioning methods to reduce the inter-core L2 ...






Comments