skip to main content
research-article

A Framework for Calculating WCET Based on Execution Decision Diagrams

Published:28 May 2022Publication History
Skip Abstract Section

Abstract

Due to the dynamic behaviour of acceleration mechanisms such as caches and branch predictors, static Worst-case Execution Time (WCET) analysis methods tend to scale poorly to modern hardware architectures. As a result, a trade-off must be found between the duration and the precision of the analysis, leading to an overestimation of the WCET bounds. In turn, this reduces the schedulability and resource usage of the system. In this article, we present a new data structure to speed up the analysis: the eXecution Decision Diagram (XDD), which is an ad hoc extension of Binary Decision Diagrams tailored for WCET analysis problems. We show how XDDs can be used to represent efficiently execution states in a modern hardware platform. Moreover, we propose a new process to build the Integer Linear Programming system of the Implicit Path Enumeration Technique using XDD. We use benchmark applications to demonstrate how the use of an XDD substantially increases the scalability of WCET analysis and the precision of the obtained WCET.

REFERENCES

  1. [1] Andersen Henrik Reif. 1997. An introduction to binary decision diagrams. Lecture Notes, IT University of Copenhagen. Retrieved from https://www.cmi.ac.in/madhavan/courses/verification-2011/andersen-bdd.pdf.Google ScholarGoogle Scholar
  2. [2] Bai Zhenyu, Cassé Hugues, Michiel Marianne De, Carle Thomas, and Rochange Chistine. 2020. Improving the performance of WCET analysis in the presence of variable latencies. InProceedings of the 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES’20). 119130.Google ScholarGoogle Scholar
  3. [3] Ballabriga Clément, Cassé Hugues, Rochange Christine, and Sainrat Pascal. 2010. OTAWA: An open toolbox for adaptive WCET analysis. In Proceedings of the 8th IFIP WG 10.2 International Conference on Software Technologies for Embedded and Ubiquitous Systems (SEUS’10). 3546.Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Béchennec Jean-Luc and Cassez Franck. 2011. Computation of WCET using program slicing and real-time model-checking. Retrieved from https://arXiv:1105.1633.Google ScholarGoogle Scholar
  5. [5] Burch Jerry R., Clarke Edmund Melson, McMillan Kenneth L., Dill David L., and Hwang L. J.. 1992. Symbolic model checking: 1020 States and beyond. Info. Comput. 98 (June 1992), 142170.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Cassez Franck and Marugán Pablo González de Aledo. 2015. Timed automata for modelling caches and pipelines. In Proceedings of the Workshop on Models for Formal Analysis of Real Systems (MARS’15). 3745.Google ScholarGoogle Scholar
  7. [7] Engblom Jakob. 2002. Processor Pipelines and and Static Worst-Case Execution Time Analysis. Ph.D. Dissertation. University of Uppsala.Google ScholarGoogle Scholar
  8. [8] Engblom Jakob and Ermedahl Andreas. 1999. Pipeline timing analysis using a trace-driven simulator. In Proceedings of the 6th International Conference on Real-Time Computing Systems and Applications (RTCSA’99).Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Falk Heiko, Altmeyer Sebastian, Hellinckx Peter, Lisper Björn, Puffitsch Wolfgang, Rochange Christine, Schoeberl Martin, Sorensen Rasmus Bo, Wägemann Peter, and Wegener Simon. 2016. TACLeBench: A benchmark collection to support worst-case execution time research. In Proceedings of the 16th International Workshop on Worst-case Execution Time Analysis.Google ScholarGoogle Scholar
  10. [10] Ferdinand Christian. 2005. A Fast and Efficient Cache Persistence Analysis. Technical Report. Saarländische Universitëts-und Landesbibliothek/Naturwissenschaftlich-Technische Fakultët I.Google ScholarGoogle Scholar
  11. [11] Healy Christopher A., Arnold Robert D., Mueller Frank, Whalley David B., and Harmon Marion G.. 1999. Bounding pipeline and instruction cache performance. IEEE Trans. Comput. 48, 1 (Jan. 1999), 5370.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Holsti Niklas, Långbacka Thomas, and Saarinen Sami. 2000. Worst-case execution time analysis for digital signal processors. In Proceedings of the 10th European Signal Processing Conference. 14.Google ScholarGoogle Scholar
  13. [13] Holsti Niklas and Saarinen Sami. 2002. Status of the Bound-T WCET tool. Space Systems Finland Ltd.Google ScholarGoogle Scholar
  14. [14] Kassem Rola, Briday Mikaël, Béchennec Jean-Luc, Trinquet Yvon, and Savaton Guillaume. 2008. Simulator generation using an automaton-based pipeline model for timing analysis. In Proceedings of the International Multiconference on Computer Science and Information Technology. IEEE, 657664.Google ScholarGoogle Scholar
  15. [15] Kirner Raimund. 2012. The WCET analysis tool CalcWcet167. In Proceedings of the International Symposium on Leveraging Applications of Formal Methods, Verification, and Validation. Springer, 158172.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Langenbach Marc, Thesing Stephan, and Heckmann Reinhold. 2002. Pipeline modeling for timing analysis. In Proceedings of the International Static Analysis Symposium. Springer, 294309.Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Li Xianfeng, Roychoudhury Abhik, and Mitra Tulika. 2006. Modeling out-of-order processors for WCET analysis. Real-Time Syst. 34, 3 (2006), 195227.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Li Yau-Tsun Steven and Malik Sharad. 1995. Performance analysis of embedded software using implicit path enumeration. In ACM SIGPLAN Notices, Vol. 30.11. 8898.Google ScholarGoogle Scholar
  19. [19] Li Yau.-Tsun S. and Malik Sharad. 1995. Performance analysis of embedded software using implicit path enumeration. In Proceedings of the Workshop on Languages, Compilers, and Tools for Real-Time Systems. 8898.Google ScholarGoogle Scholar
  20. [20] Lundqvist Thomas and Stenstrom Per. 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the 20th IEEE Real-Time Systems Symposium. 1221.Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Minato Shin-ichi, Ishiura Nagisa, and Yajima Shuzo. 1990. Shared binary decision diagram with attributed edges for efficient Boolean function manipulation. In Proceedings of the 27th ACM/IEEE Design Automation Conference. 5257.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Reineke Jan, Wachter Björn, Thesing Stephan, Wilhelm Reinhard, Polian Ilia, Eisinger Jochen, and Becker Bernd. 2006. A definition and classification of timing anomalies. In Proceedings of the 6th International Workshop on Worst-case Execution Time Analysis (WCET’06).Google ScholarGoogle Scholar
  23. [23] Rochange Christine and Sainrat Pascal. 2009. A context-parameterized model for static analysis of execution times. Trans. High-Perform. Embed. Architect. Compil. II (2009), 222241.Google ScholarGoogle Scholar
  24. [24] Stein Ingmar Jendrik. 2010. ILP-based path analysis on abstract pipeline state graphs. Ph.D. Dissertation. Saarland University.Google ScholarGoogle Scholar
  25. [25] Thesing Stephan. 2004. Safe and precise WCET determination by abstract interpretation of pipeline models. Ph.D. Dissertation. Saarland University.Google ScholarGoogle Scholar
  26. [26] Wilhelm Reinhard, Engblom Jakob, Ermedahl Andreas, Holsti Niklas, Thesing Stephan, Whalley David B., Bernat Guillem, Ferdinand Christian, Heckmann Reinhold, Mitra Tulika, Mueller Frank, Puaut Isabelle, Puschner Peter P., Staschulat Jan, and Stenström Per. 2008. The worst-case execution-time problem–overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3 (2008), 153.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Wilhelm Stephan. 2007. Efficient analysis of pipeline models for WCET computation. In Proceedings of the Workshop on Worst-case Execution Time (WCET’07).Google ScholarGoogle Scholar

Index Terms

  1. A Framework for Calculating WCET Based on Execution Decision Diagrams

    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

    • Published in

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 21, Issue 3
      May 2022
      365 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/3530307
      • Editor:
      • Tulika Mitra
      Issue’s Table of Contents

      ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 May 2022
      • Online AM: 26 January 2022
      • Accepted: 1 July 2021
      • Revised: 1 June 2021
      • Received: 1 October 2020
      Published in tecs Volume 21, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Refereed
    • Article Metrics

      • Downloads (Last 12 months)166
      • Downloads (Last 6 weeks)6

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    View Full Text

    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!