skip to main content
article

Fast and Precise WCET Prediction by Separated Cache andPath Analyses

Published: 01 May 2000 Publication History

Abstract

Precise run-time prediction suffers from a complexity problem when doing an integrated analysis. This problem is characterised by the conflict between an optimal solution and the complexity of the computation of the solution.
The analysis of modern hardware consists of two parts: a) the analysis of the microarchitecture‘s behaviour (caches, pipelines) and b) the search for the longest program path. Because an integrated analysis has a significant computational complexity, we chose to separate these two steps. By this, an ordering problem arises, because the steps depend on each other.
In this paper we show how the microarchitecture analysis can be separated from the path analysis in order to make the overall analysis fast. Practical experiments will show that this separation, however, does not make the analysis more pessimistic than existing approaches. Furthermore, we show that the approach can be used to analyse executables created by a standard optimising compiler.

References

[1]
Aho, A., Sethi, R., and Ullman, J. 1986. Compilers: Principles, Techniques, and Tools. Addison Wesley.
[2]
Alt, M., Ferdinand, C., Martin, F., and Wilhelm, R. 1996. Cache behavior prediction by abstract interpretation. Proceedings of SAS'96, Static Analysis Symposium, Volume 1145 of Lecture Notes in Computer Science, pp. 52- 66.
[3]
Alt, M., and Martin, F. 1995. Generation of efficient interprocedural analyzers with PAG. Proceedings of SAS'95, Static Analysis Symposium, Volume 983 of Lecture Notes in Computer Science, pp. 33-50.
[4]
Christian Ferdinand, R. W. 1998. On predicting data cache behavior for real-time systems. Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems. Montreal, Canada.
[5]
Cousot, P., and Cousot, R. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. Proceedings of the 4th ACM Symposium on Principles of Programming Languages: 238-252.
[6]
Engblom, J., Ermedahl, A., and Altenbernd, P. 1998. Facilitating worst-case execution time analysis for optimized code. The 10th Euromicro Workshop on Real-Time Systems. Berlin, Germany.
[7]
Ermedahl, A., and Gustafsson, J. 1997. Deriving annotations for tight calculation of execution time. In Proceedings of Euro-Par '97, LNCS 1300. Passau, Germany, pp. 1298-1307.
[8]
Ferdinand, C. 1997. Cache Behavior Prediction for Real-Time Systems. PhD Thesis, Universität des Saarlandes.
[9]
Ferdinand, C., Martin, F., and Wilhelm, R. 1997. Applying compiler techniques to cache behavior prediction. Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems: 37-46.
[10]
Ferdinand, C., Martin, F., Wilhelm, R., and Alt, M. 1998. Cache behavior prediction by abstract interpretation. Science of Computer Programming, Elsevier.
[11]
Li, Y.-T. S., and Malik, S. 1995. Performance analysis of embedded software using implicit path enumeration. Proceedings of the 32nd ACM/IEEE Design Automation Conference: 456-461.
[12]
Li, Y.-T. S., Malik, S., and Wolfe, A. 1995. Efficient microarchitecture modeling and path analysis for real-time software. Proceedings of the 16th IEEE Real-Time Systems Symposium: 298-307.
[13]
Li, Y.-T. S., Malik, S., and Wolfe, A. 1996. Cache modeling for real-time software: Beyond direct mapped instruction caches. Proceedings of the 17th IEEE Real-Time Systems Symposium.
[14]
Lim, S.-S., Bae, Y. H., Jang, G. T., Rhee, B.-D., Min, S. L., Park, C. Y., Shin, H., Park, K., Moon, S.-M., and Kim, C. S. 1995. An accurate worst case timing analysis for RISC processors. IEEE Transactions on Software Engineering 21(7): 593-604.
[15]
Lim, S.-S., Han, J. H., Kim, J., and Min, S. L. 1998. A worst case timing analysis technique for multiissue machines. Proceedings of the 19th IEEE Real-Time Systems Symposium. Madrid, Spain, pp. 334-345.
[16]
Martin, F. 1998. PAG--an efficient program analyzer generator. International Journal on Software Tools for Technology Transfer 2(1).
[17]
Martin, F. 1999. Generation of Program Analyzers. Ph.D. thesis, Universität des Saarlandes. to appear.
[18]
Martin, F., Alt, M., Wilhelm, R., and Ferdinand, C. 1998. Analysis of loops. Proceedings of the 7th International Conference on Compiler Construction. Koskimies, K., ed. Lecture Notes in Computer Science, Volume 1383.
[19]
Mueller, F., Whalley, D. B., and Harmon, M. 1994. Predicting instruction cache behavior. Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems.
[20]
Nielson, F., Nielson, H. R., and Hankin, C. 1999. Principles of Program Analysis, Springer-Verlag.
[21]
Ottoson, G., and Sjödin, M. 1997. Worst-case execution time analysis for modern hardware architectures. Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems: 47-55.
[22]
Schneider, J. 1998. Statische Pipeline-Analyse für Echtzeitsysteme. Diploma Thesis, Universität des Saarlandes.
[23]
Schneider, J., and Ferdinand, C. 1999. Pipeline behaviour prediction for superscalar processors by abstract interpretation. In Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems.
[24]
Schrijver, A. 1996. Theory of Linear and Integer Programming. John Wiley & Sons Ltd.
[25]
Sicks, M. 1997. Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diploma Thesis, Universität des Saarlandes.
[26]
Stankovic, J. A. 1996. Real-Time and Embedded Systems. ACM 50th Anniversary Report on Real-Time Computing Research. http://www-ccs.cs.umass.edu/sdcr/rt.ps.
[27]
Theiling, H., and Ferdinand, C. 1998. Combining abstract interpretation and ILP for microarchitecture modelling and program path analysis. Proceedings of the 19th IEEE Real-Time Systems Symposium. Madrid, Spain, pp. 144-153.
[28]
Thesing, S., Martin, F., and Alt, M. 1997. PAG Manual. Fachbereich 14, Universität des Saarlandes.
[29]
Tice, C., and Graham, S. L. 1998. OPTVIEW: A new approach for examining optimized code. Proceedings of the 1998 Workshop on Program Analysis for Software Tools and Engineering, Montreal.
[30]
Wilhelm, R., and Maurer, D. 1995. Compiler Design, International Computer Science Series. Addison-Wesley. Second Printing.

Cited By

View all

Index Terms

  1. Fast and Precise WCET Prediction by Separated Cache andPath Analyses

                            Recommendations

                            Comments

                            Information & Contributors

                            Information

                            Published In

                            cover image Real-Time Systems
                            Real-Time Systems  Volume 18, Issue 2/3
                            Special issue on worst-case execution-time analysis
                            May 2000
                            171 pages
                            ISSN:0922-6443
                            Issue’s Table of Contents

                            Publisher

                            Kluwer Academic Publishers

                            United States

                            Publication History

                            Published: 01 May 2000

                            Author Tags

                            1. abstract interpretation
                            2. hard real-time systems
                            3. integer linear programming (ILP)
                            4. phase ordering problem
                            5. run-time analysis

                            Qualifiers

                            • Article

                            Contributors

                            Other Metrics

                            Bibliometrics & Citations

                            Bibliometrics

                            Article Metrics

                            • Downloads (Last 12 months)0
                            • Downloads (Last 6 weeks)0
                            Reflects downloads up to 16 Oct 2024

                            Other Metrics

                            Citations

                            Cited By

                            View all

                            View Options

                            View options

                            Media

                            Figures

                            Other

                            Tables

                            Share

                            Share

                            Share this Publication link

                            Share on social media