skip to main content
10.1145/2659787.2659825acmotherconferencesArticle/Chapter ViewAbstractPublication PagesrtnsConference Proceedingsconference-collections
research-article

A Compiler Optimization to Increase the Efficiency of WCET Analysis

Published:08 October 2014Publication History

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%.

References

  1. COIN-OR Linear Programming. http://www.coin-or.org/ClpGoogle ScholarGoogle Scholar
  2. AbsInt Angewandte Informatik GmbH. AbsInt Advanced Analyzer for PowerPC MPC7448 (Simple Memory Model): User Documentation. http://www.absint.com/ait/mpc7448.htmGoogle ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. L. Drake and G. Rossum. The Python Language Reference Manual. Network theory Ltd., 2011. http://www.worldcat.org/isbn/9781906966140 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Free Software Foundation. GNU GCC Manual, 2005. http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Google ScholarGoogle Scholar
  12. Freescale Semiconductor. MPC7450 RISC Microprocessor Family Reference ManualGoogle ScholarGoogle Scholar
  13. Freescale Semiconductor. Programming Environments Manual for 32-Bit Implementations of the PowerPCTM Architecture, 2005. http://www.freescale.com/files/product/doc/MPCFPE32B.pdfGoogle ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Compiler Optimization to Increase the Efficiency of WCET Analysis

    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
    • Published in

      cover image ACM Other conferences
      RTNS '14: Proceedings of the 22nd International Conference on Real-Time Networks and Systems
      October 2014
      335 pages
      ISBN:9781450327275
      DOI:10.1145/2659787

      Copyright © 2014 ACM

      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 the author(s) 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

      Publication History

      • Published: 8 October 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate119of255submissions,47%
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader