Abstract
To compute a worst-case execution time (WCET) estimate for a program, the architectural effects of the underlying hardware must be modeled. For modern processors this results in the need for a cache and pipeline analysis.
The timing-relevant result of the cache analysis is the categorization of the accesses to cached memory. Categorizations that are obtainable by the well-known must and may cache analysis [Ferdinand 1997] are always-hit, always-miss and not-classified. The cache persistence analysis tries to provide additional information for the not-classified case to limit the number of misses.
There exists a cache persistence analysis by Ferdinand and Wilhelm based on abstract interpretation computing these classifications. In this article, we present a correctness issue with this analysis. To fix this issue, we propose two new abstract interpretation based persistence analyses and show their safety. One is based on the known may analysis and a second one on the concept of conflict counting.
For fully timing compositional architectures [Wilhelm et al. 2009] the persistence information is straightforward to use. We will apply the concepts of persistence analysis for the first time to state-of-the-art architectures that exhibit both timing anomalies and domino effects. Such architectures do not allow the analyzer to quantify the costs of a single cache hit or miss in isolation. To make the usage of the persistence information feasible, we integrate the presented novel persistence analyses together with a novel path analysis approach into the industrially used WCET analyzer aiT.
- Ballabriga, C. and Casse, H. 2008. Improving the first-miss computation in set-associative instruction caches. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS'08). IEEE Computer Society, Los Alamitos, CA, 341--350. Google Scholar
Digital Library
- Cassé, H. and Sainrat, P. 2005. OTAWA, a framework for experimenting WCET computations. In Proceedings of the 3rd European Congress on Embedded Real-Time Software. 25--27.Google Scholar
- Cousot, P. and Cousot, R. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of POPL. 238--252. Google Scholar
Digital Library
- Cullmann, C. 2011. Cache Persistence Analysis: A Novel Approach - Theory and practice. In Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'11). 121--130. Google Scholar
Digital Library
- Cullmann, C., Ferdinand, C., Gebhard, G., Grund, D., Maiza, C., Reineke, J., Triquet, B., and Wilhelm, R. 2010. Predictability considerations in the design of multi-core embedded systems. In Proceedings of Embedded Real Time Software and Systems.Google Scholar
- Ermedahl, A. 2003. A modular tool architecture for worst-case execution-time analysis. Ph.D. thesis, Uppsala University.Google Scholar
- Ferdinand, C. 1997. Cache Behavior Prediction for Real-Time Systems. PhD Thesis, Universität des Saarlandes.Google Scholar
- Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., and Wilhelm, R. 2001. Reliable and precise WCET determination for a real-life processor. In Proceedings of the Conference on Embedded Software (EMSOFT). Lecture Notes in Computer Science, vol. 2211. Google Scholar
Digital Library
- Ferdinand, C., Martin, F., Cullmann, C., Schlickling, M., Stein, I., Thesing, S., and Heckmann, R. 2007. New Developments in WCET Analysis. In Program Analysis and Compilation, Theory and Practice: Essays dedicated to Reinhard Wilhelm, T. Reps, M. Sagiv, and J. Bauer, Eds., Lecture Notes in Computer Science, vol. 4444, Springer Verlag, 12--52. Google Scholar
Digital Library
- Ferdinand, C., Martin, F., Wilhelm, R., and Alt, M. 1996. Cache behavior prediction by abstract interpretation. In Science of Computer Programming, vol. 1145, Springer, 52--66. Google Scholar
Digital Library
- Ferdinand, C. and Wilhelm, R. 1999. Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst. 17, 2-3, 131--181. Google Scholar
Digital Library
- Gebhard, G. 2010. Timing anomalies reloaded. In Proceedings of the 10th International Workshop on Worst-Case Execution Time (WCET) Analysis. B. Lisper, Ed., Austrian Computer Society, 5--15.Google Scholar
- Gebhard, G., Cullmann, C., and Heckmann, R. 2011. Software structure and WCET predictability. In Bringing Theory to Practice: Predictability and Performance in Embedded Systems, P. Lucas, L. Thiele, B. Triquet, T. Ungerer, and R. Wilhelm, Eds., OpenAccess Series in Informatics (OASIcs) Series, vol. 18. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 1--10.Google Scholar
- Gustafsson, J., Betts, A., Ermedahl, A., and Lisper, B. 2010. The Mälardalen WCET Benchmarks -- Past, Present and Future. B. Lisper, Ed., OCG, Brussels, Belgium, 137--147.Google Scholar
- Healy, C. A., Arnold, R. D., Mueller, F., Harmon, M. G., and Walley, D. B. 1999. Bounding pipeline and instruction cache performance. IEEE Trans. Comput. 48, 53--70. Google Scholar
Digital Library
- Healy, C. A., Whalley, D. B., and Harmon, M. G. 1995. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of the Real-Time Systems Symposium (RTSS). Google Scholar
Digital Library
- Heckmann, R., Langenbach, M., Thesing, S., and Wilhelm, R. 2003. The influence of processor architecture on the design and the results of WCET tools. Real-Time Syst. 91, 7, 1038--1054. Google Scholar
Cross Ref
- Huynh, B. K., Ju, L., and Roychoudhury, A. 2011. Scope-Aware Data Cache Analysis for WCET Estimation. In Proceedings of the 17th IEEE Real-Time and Embedded Technology and Applications Symposium, (RTAS'11). 203--212. Google Scholar
Digital Library
- Lesage, B., Hardy, D., and Puaut, I. 2009. WCET analysis of multi-level set-associative data caches. In Proceedings of the 9th International Workshop on Worst-Case Execution Time (WCET) Analysis. N. Holsti, Ed., Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, Dagstuhl, Germany.Google Scholar
- Lundqvist, T. and Stenström, P. 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the Real-Time Systems Symposium (RTSS). Google Scholar
Digital Library
- Lv, M., Yi, W., Guan, N., and Yu, G. 2010. Combining abstract interpretation with model checking for timing analysis of multicore software. In Proceedings of the Real-Time Systems Symposium (RTSS). 339--349. Google Scholar
Digital Library
- Martin, F., Alt, M., Wilhelm, R., and Ferdinand, C. 1998. Analysis of loops. In Compiler Construction, K. Koskimies, Ed., Lecture Notes in Computer Science, vol. 1383. Springer, Berlin, 80--94. Google Scholar
Digital Library
- Matthies, N. 2006. Präzise Bestimmung längster Programmpfade anhand von Zustandsgraphen unter Berücksichtigung von Schleifen-Nebenbedingungen. M.S. thesis, Universität des Saarlandes.Google Scholar
- Mueller, F. 1995. Static cache simulation and its applications. Ph.D. thesis, USA. UMI Order No. GAX95-02820, Tallahassee, FL. Google Scholar
Digital Library
- Mueller, F. 2000. Timing analysis for instruction caches. Real-Time Syst. 18, 217--247. Google Scholar
Digital Library
- Mueller, F., Whalley, D. B., and Harmon, M. 1994. Predicting instruction cache behavior. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems.Google Scholar
- Reineke, J. 2008. Caches in WCET analysis. Ph.D. thesis, Universität des Saarlandes.Google Scholar
- Reineke, J., Grund, D., Berg, C., and Wilhelm, R. 2007. Timing predictability of cache replacement policies. Real-Time Systems 37, 2, 99--122. Google Scholar
Digital Library
- Reineke, J., Wachter, B., Thesing, S., Wilhelm, R., Polian, I., Eisinger, J., and Becker, B. 2006. A definition and classification of timing anomalies. In Proceedings of the Workshop on Worst-Case Execution-Time Analysis (WCET).Google Scholar
- Smith, A. J. 1982. Cache memories. ACM Comput. Surv. 14, 3, 473--530. Google Scholar
Digital Library
- Souyris, J., Le Pavec, E., Himbert, G., Jégu, V., Borios, G., and Heckmann, R. 2005. Computing the worst case execution time of an avionics program by abstract interpretation. In Proceedings of the 5th International Workshop on Worst-Case Execution Time (WCET) Analysis. 21--24.Google Scholar
- Theiling, H. 2002. Control flow graphs for real-time systems analysis. Ph.D. thesis, Universität des Saarlandes.Google Scholar
- Theiling, H., Ferdinand, C., and Wilhelm, R. 2000. Fast and precise WCET prediction by separated cache and path analyses. Real-Time Syst. 18, 2/3, 157--179. Google Scholar
Digital Library
- Thesing, S. 2004. Safe and precise WCET determinations by abstract interpretation of pipeline models. Ph.D. thesis, Universität des Saarlandes.Google Scholar
- Thesing, S., Souyris, J., Heckmann, R., Randimbivololona, F., Langenbach, M., Wilhelm, R., and Ferdinand, C. 2003. An abstract-interpretation-based timing validation of hard real-time avionics software systems. In Proceedings of the Dependable Systems and Networks (DSN).Google Scholar
- Wilhelm, R., Grund, D., Reineke, J., Schlickling, M., Pister, M., and Ferdinand, C. 2009. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. IEEE Trans. CAD Integra. Circuits Syst. 28, 7, 966--978. Google Scholar
Digital Library
- Wilhelm, R., Lucas, P., Parshin, O., Tan, L., and Wachter, B. 2010. Improving the precision of WCET analysis by input constraints and model-derived flow constraints. In Advances in Real-Time Systems, S. Chakraborty and J. Eberspächer, Eds., Lecture Notes in Computer Science, Springer-Verlag.Google Scholar
Index Terms
Cache persistence analysis: Theory and practice
Recommendations
Cache persistence analysis: a novel approachtheory and practice
LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsTo compute a worst-case execution time (WCET) estimate for a program, the architectural effects of the underlying hardware must be modeled. For modern processors this results in the need for a cache and pipeline analysis. The timing-relevant result of ...
Cache persistence analysis: a novel approachtheory and practice
LCTES '10To compute a worst-case execution time (WCET) estimate for a program, the architectural effects of the underlying hardware must be modeled. For modern processors this results in the need for a cache and pipeline analysis. The timing-relevant result of ...
WCET-driven cache-aware code positioning
CASES '11: Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systemsCode positioning is a well-known compiler optimization aiming at the improvement of the instruction cache behavior. A contiguous mapping of code fragments in memory avoids overlapping of cache sets and thus decreases the number of cache conflict misses.
...






Comments