On predicting data cache behavior for real-time systems

  • Christian Ferdinand
  • Reinhard Wilhelm
Refereed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1474)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 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. 5.
    C. Ferdinand. Cache Behavior Prediction for Real-Time Systems. Dissertation, Universität des Saarlandes, Sept. 1997.Google Scholar
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.CrossRefGoogle Scholar
  16. 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. 17.
    F. Mueller. Static Cache Simulation and its Applications. PhD Thesis, Florida State University, July 1994.Google Scholar
  18. 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. 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. 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. 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. 22.
    A. K. Porterfield. Software Methods for Improvement of Cache Performance on Supercomputer Applications. PhD Thesis, Rice University, May 1989.Google Scholar
  23. 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. 24.
    M. Sicks. Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diplomarbeit, Universität des Saarlandes, 1997.Google Scholar
  25. 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. 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. 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. 28.
    M. Wolfe. Optimizing Supercompilers for Supercomputers. PhD Thesis, University of Illinois at Urbana-Champaign, 1982.Google Scholar

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Christian Ferdinand
    • 1
  • Reinhard Wilhelm
    • 1
  1. 1.Fachbereich InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations