ABSTRACT
For complex microprocessors, micro-architectural analysis and precise path analysis constitute the most expensive steps in worst-case execution time (WCET) analysis. We introduce a parameterized compiler optimization to reduce analysis time and memory consumption during the two steps.
The optimization makes use of a synchronization instruction, which flushes queues in the memory subsystem. By injecting this instruction at selected program points, analysis uncertainty about the state of the pipeline and the memory subsystem can be drastically reduced, at the cost of an increase in execution time. A parameter allows the user to control the trade-off between increased analysis efficiency and decreased worst-case performance.
We have developed a prototype implementation of the optimization for the PowerPC instruction set architecture, and evaluate it using a version of AbsInt's WCET analyzer aiT for the PowerPC 7448, a high-performance microprocessor used in safety-critical real-time systems. On a set of Mälardalen benchmarks, we observe an analysis speedup of around 635% at the cost of an increase in the WCET bound of 6%. Moreover, under a traditional ILP-based path analysis, the WCET bound is decreased by 5% while the analysis is sped up by 350%.
- COIN-OR Linear Programming. http://www.coin-or.org/ClpGoogle Scholar
- AbsInt Angewandte Informatik GmbH. AbsInt Advanced Analyzer for PowerPC MPC7448 (Simple Memory Model): User Documentation. http://www.absint.com/ait/mpc7448.htmGoogle Scholar
- P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 238--252, New York, NY, USA, 1977. ACM Press. http://dx.doi.org/10.1145/512950.512973 Google Scholar
Digital Library
- C. Cullmann. Cache persistence analysis: Theory and practice. ACM Trans. Embed. Comput. Syst., 12(1s):40:1--40:25, 2013. http://dx.doi.org/10.1145/2435227.2435236 Google Scholar
Digital Library
- F. L. Drake and G. Rossum. The Python Language Reference Manual. Network theory Ltd., 2011. http://www.worldcat.org/isbn/9781906966140 Google Scholar
Digital Library
- J. Engblom. Processor Pipelines and Static Worst-Case Execution Time Analysis. PhD thesis, Uppsala University, Sweden, 2002. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5355Google Scholar
- A. Ermedahl and J. Gustafsson. Deriving annotations for tight calculation of execution time. In Euro-Par, pages 1298--1307, 1997. http://dx.doi.org/10.1007/BFb0002886 Google Scholar
Digital Library
- H. Falk and P. Lokuciejewski. A compiler framework for the reduction of worst-case execution times. Journal on Real-Time Systems, 46(2):251--300, 2010. http://dx.doi.org/10.1007/s11241-010-9101-x Google Scholar
Digital Library
- C. Ferdinand, R. Heckmann, M. Langenbach, F. Martin, M. Schmidt, H. Theiling, S. Thesing, and R. Wilhelm. Reliable and precise WCET determination for a real-life processor. In International Conference on Embedded Software, volume 2211 of LNCS, pages 469--485, 2001. http://dx.doi.org/10.1007/3-540-45449-7_32 Google Scholar
Digital Library
- C. Ferdinand and R. Wilhelm. Efficient and precise cache behavior prediction for real-time systems. Real-Time Sys., 17(2-3):131--181, 1999 Google Scholar
Digital Library
- Free Software Foundation. GNU GCC Manual, 2005. http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Google Scholar
- Freescale Semiconductor. MPC7450 RISC Microprocessor Family Reference ManualGoogle Scholar
- Freescale Semiconductor. Programming Environments Manual for 32-Bit Implementations of the PowerPCTM Architecture, 2005. http://www.freescale.com/files/product/doc/MPCFPE32B.pdfGoogle Scholar
- J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The Mälardalen WCET benchmarks -- past, present and future. pages 137--147, Brussels, Belgium, July 2010. OCG. http://dx.doi.org/10.4230/OASIcs.WCET.2010.136Google Scholar
- C. Healy, M. Sjödin, V. Rustagi, D. Whalley, and R. van Engelen. Supporting timing analysis by automatic bounding of loop iterations. Real-Time Sys., pages 129--156, 2000. http://dx.doi.org/10.1023/A:1008189014032 Google Scholar
Digital Library
- R. Heckmann, M. Langenbach, S. Thesing, and R. Wilhelm. The influence of processor architecture on the design and the results of WCET tools. Proceedings of the IEEE, 91(7):1038--1054, July 2003. http://dx.doi.org/10.1109/JPROC.2003.814618Google Scholar
Cross Ref
- Y.-T. S. Li and S. Malik. Performance analysis of embedded software using implicit path enumeration. In Proceedings of the 32nd ACM/IEEE Design Automation Conference, pages 456--461, 1995. http://dx.doi.org/10.1145/217474.217570 Google Scholar
Digital Library
- I. Liu, J. Reineke, D. Broman, M. Zimmer, and E. A. Lee. A PRET microarchitecture implementation with repeatable timing and competitive performance. In Proceedings of the 30th IEEE International Conference on Computer Design (ICCD 2012), October 2012. http://dx.doi.org/10.1109/ICCD.2012.6378622 Google Scholar
Digital Library
- M. A. Maksoud and J. Reineke. An empirical evaluation of the influence of the load-store unit on WCET analysis. In T. Vardanega, editor, 12th International Workshop on Worst-Case Execution Time Analysis, volume 23 of OpenAccess Series in Informatics (OASIcs), pages 13--24, Dagstuhl, Germany, 2012. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik. http://dx.doi.org/10.4230/OASIcs.WCET.2012.13Google Scholar
- J. Reineke, B. Wachter, S. Thesing, R. Wilhelm, I. Polian, J. Eisinger, and B. Becker. A definition and classification of timing anomalies. In Proceedings of 6th International Workshop on Worst-Case Execution Time (WCET) Analysis, July 2006. http://dx.doi.org/10.1.1.165.9737Google Scholar
- C. Rochange and P. Sainrat. A time-predictable execution mode for superscalar pipelines with instruction prescheduling. In Proceedings of the 2nd Conference on Computing Frontiers, CF '05, pages 307--314, New York, NY, USA, 2005. ACM. http://dx.doi.org/10.1145/1062261.1062312 Google Scholar
Digital Library
- M. Schoeberl. JOP: A Java optimized processor. In On the Move to Meaningful Internet Systems 2003: Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2003), volume 2889, pages 346--359. Springer, 2003. http://dx.doi.org/10.1007/b94345Google Scholar
- I. Stein and F. Martin. Analysis of path exclusion at the machine code level. In C. Rochange, editor, 7th International Workshop on Worst-Case Execution Time Analysis (WCET'07), volume 6 of OpenAccess Series in Informatics (OASIcs), Dagstuhl, Germany, 2007. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik. http://dx.doi.org/10.4230/OASIcs.WCET.2007.1196Google Scholar
- H. Theiling. Control-Flow Graphs For Real-Time Systems Analysis. PhD thesis, Saarland University, Saarbrücken, Germany, 2002. http://scidok.sulb.uni-saarland.de/volltexte/2004/297/Google Scholar
- H. Theiling. ILP-based interprocedural path analysis. In International Conference on Embedded Software, volume 2491 of LNCS, pages 349--363. Springer, 2002. http://dx.doi.org/10.1007/3-540-45828-X_26 Google Scholar
Digital Library
- S. Thesing. Safe and Precise WCET Determinations by Abstract Interpretation of Pipeline Models. PhD thesis, Saarland University, Saarbrücken, Germany, 2004. http://scidok.sulb.uni-saarland.de/volltexte/2005/466/Google Scholar
- S. Thesing, J. Souyris, R. Heckmann, F. Randimbivololona, M. Langenbach, R. Wilhelm, and C. Ferdinand. An abstract interpretation-based timing validation of hard real-time avionics software. In Dependable Systems and Networks, 2003. Proceedings. 2003 International Conference on, pages 625--632, June 2003. http://dx.doi.org/10.1109/DSN.2003.1209972Google Scholar
Cross Ref
- L. Thiele and R. Wilhelm. Design for timing predictability. Real-Time Systems, 28:157--177, 2004. http://dx.doi.org/10.1023/B:TIME.0000045316.66276.6e Google Scholar
Digital Library
- R. Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C. Ferdinand. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. IEEE Transactions on CAD of Integrated Circuits and Systems, 28(7):966--978, 2009. http://dx.doi.org/10.1109/TCAD.2009.2013287 Google Scholar
Digital Library
Index Terms
- A Compiler Optimization to Increase the Efficiency of WCET Analysis
Recommendations
Hardware support for WCET analysis of hard real-time multicore systems
ISCA '09: Proceedings of the 36th annual international symposium on Computer architectureThe increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Hardware support for WCET analysis of hard real-time multicore systems
The increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Extending the WCET Problem to Optimize for Runtime-Reconfigurable Processors
The correctness of a real-time system does not depend on the correctness of its calculations alone but also on the non-functional requirement of adhering to deadlines. Guaranteeing these deadlines by static timing analysis, however, is practically ...





Comments