Skip to main content

On predicting data cache behavior for real-time systems

  • Refereed Papers
  • Conference paper
  • First Online:
Book cover Languages, Compilers, and Tools for Embedded Systems (LCTES 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Included in the following conference series:

Abstract

In the presence of data or combined data/instruction caches there can be memory references that may access multiple memory locations such as those used to implement array references in loops. We examine how data dependence analysis and program restructuring methods to increase data locality can be used to determine worst case bounds on cache misses. To complement these methods we present a persistence analysis on sets of possibly referenced memory locations (e.g., arrays). This analysis determines memory locations that survive in the cache thus providing effective and efficient means to compute an upper bound on the number of possible cache misses.

Supported by the Deutsche Forschungsgemeinschaft (DFG).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm. Cache Behavior Prediction by Abstract Interpretation. In Proceedings of SAS’96, Static Analysis Symposium, LNCS 1145, pages 52–66. Springer, Sept. 1996.

    Google Scholar 

  2. M. Alt and F. Martin. Generation of Efficient Interprocedural Analyzers with PAG. In Proceedings of SAS’95, Static Analysis Symposium, LNCS 983, pages 33–50. Springer, Sept. 1995.

    Google Scholar 

  3. P. Cousot and R. Cousot. Static Determination of Dynamic Properties of Programs. In Proceedings of the Second International Symposium on Programming, pages 106–130, Dunod, Paris, France, 1976.

    Google Scholar 

  4. C. Ferdinand. A Fast and Efficient Cache Persistence Analysis. Technical Report 10/97, Universität des Saarlandes, Sonderforschungsbereich 124, Aug. 1997.

    Google Scholar 

  5. C. Ferdinand. Cache Behavior Prediction for Real-Time Systems. Dissertation, Universität des Saarlandes, Sept. 1997.

    Google Scholar 

  6. C. Ferdinand, F. Martin, and R. Wilhelm. Applying Compiler Techniques to Cache Behavior Prediction. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, pages 37–46, June 1997.

    Google Scholar 

  7. C. Ferdinand, F. Martin, and R. Wilhelm. Cache Behavior Prediction by Abstract Interpretation. Science of Computer Programming, 1998. Selected for SAS’96 special issue.

    Google Scholar 

  8. D. Gannon, W. Jalby, and K. Gallivan. Strategies for Cache and Local Memory Management by Global Program Transformation. In Proceedings of the First International Conference on Supercomputing, June 1987.

    Google Scholar 

  9. S. Ghosh, M. Martonosi, and S. Malik. Cache Miss Equations: An Analytical Representation of Cache Misses. In Proceedings of the Eleventh ACM International Conference on Supercomputing, July 1997.

    Google Scholar 

  10. Y. Hur, Y. H. Bea, S.-S. Lim, B.-D. Rhee, S. L. Min, Y. C. Park, M. Lee, H. Shin, and C. S. Kim. Worst Case Timing Analysis of RISC Processors: R3000/R3010 Case Study. In Proceedings of the IEEE Real-Time Systems Symposium, pages 308–319, Dec. 1995.

    Google Scholar 

  11. S. Kim, S. Min, and R. Ha. Efficient Worst Case Timing Analysis of Data Caching. In Proceedings of the 1996 IEEE Real-Time Technology and Applications Symposium, pages 230–240, June 1996.

    Google Scholar 

  12. M. S. Lam, E. E. Rothberg, and M. E. Wolf. The Cache Performance and Optimization of Blocked Algorithms. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, Apr. 1991.

    Google Scholar 

  13. Y.-T. S. Li, S. Malik, and A. Wolfe. Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software. In Proceedings of the IEEE Real-Time Systems Symposium, pages 298–307, Dec. 1995.

    Google Scholar 

  14. Y.-T. S. Li, S. Malik, and A. Wolfe. Cache Modeling for Real-Time Software: Beyond Direct Mapped Instruction Caches. In Proceedings of the IEEE Real-Time Systems Symposium, Dec. 1996.

    Google Scholar 

  15. S.-S. Lim, Y. H. Bae, G. T. Jang, B.-D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, S.-M. Moon, and C. S. Kim. An Accurate Worst Case Timing Analysis for RISC Processors. IEEE Transactions on Software Engineering, 21(7):593–604, July 1995.

    Article  Google Scholar 

  16. J.-C. Liu and H.-J. Lee. Deterministic Upperbounds of the Worst-Case Execution Time of Cached Programs. In Proceedings of the IEEE Real-Time Systems Symposium, pages 182–191, Dec. 1994.

    Google Scholar 

  17. F. Mueller. Static Cache Simulation and its Applications. PhD Thesis, Florida State University, July 1994.

    Google Scholar 

  18. F. Mueller. Generalizing Timing Predictions to Set-Associative Caches. Technical Report TR 96-66, Institut für Informatik, Humboldt-University, July 1996.

    Google Scholar 

  19. F. Mueller, D. B. Whalley, and M. Harmon. Predicting Instruction Cache Behavior. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, 1994.

    Google Scholar 

  20. G. Ottoson and M. Sjödin. Worst-Case Execution Time Analysis for Modern Hardware Architectures. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, pages 47–55, June 1997.

    Google Scholar 

  21. C. Y. Park and A. C. Shaw. Experiments with a Program Timing Tool Based on Source-Level Timing Schema. IEEE Computer, 24(5):48–57, May 1991.

    Google Scholar 

  22. A. K. Porterfield. Software Methods for Improvement of Cache Performance on Supercomputer Applications. PhD Thesis, Rice University, May 1989.

    Google Scholar 

  23. R. Schreiber and J. J. Dongarra. Automatic Blocking of Nested Loops. RIACS Technical Report 90.38, Research Institute for Advanced Computer Science, NASA Ames Research Center, Moffett Field, CA 94035, Aug. 1990.

    Google Scholar 

  24. M. Sicks. Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diplomarbeit, Universität des Saarlandes, 1997.

    Google Scholar 

  25. R. White, F. Mueller, C. A. Healy, D. B. Whalley, and M. Harmon. Timing Analysis for Data Caches and Set-Associative Caches. In Proceedings of the Real-Time Technology and Applications Symposium, pages 192–202, June 1997.

    Google Scholar 

  26. M. E. Wolf and M. S. Lam. A Data Locality Optimizing Algorithm. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 30–44, June 1991.

    Google Scholar 

  27. M. E. Wolf and M. S. Lam. A Loop Transformation Theory and an Algorithm to Maximize Parallelism. IEEE Transactions on Parallel and Distributed Systems, July 1991.

    Google Scholar 

  28. M. Wolfe. Optimizing Supercompilers for Supercomputers. PhD Thesis, University of Illinois at Urbana-Champaign, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ferdinand, C., Wilhelm, R. (1998). On predicting data cache behavior for real-time systems. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057777

Download citation

  • DOI: https://doi.org/10.1007/BFb0057777

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65075-1

  • Online ISBN: 978-3-540-49673-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics