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).
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
C. Ferdinand. A Fast and Efficient Cache Persistence Analysis. Technical Report 10/97, Universität des Saarlandes, Sonderforschungsbereich 124, Aug. 1997.
C. Ferdinand. Cache Behavior Prediction for Real-Time Systems. Dissertation, Universität des Saarlandes, Sept. 1997.
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.
C. Ferdinand, F. Martin, and R. Wilhelm. Cache Behavior Prediction by Abstract Interpretation. Science of Computer Programming, 1998. Selected for SAS’96 special issue.
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.
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.
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.
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.
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.
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.
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.
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.
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.
F. Mueller. Static Cache Simulation and its Applications. PhD Thesis, Florida State University, July 1994.
F. Mueller. Generalizing Timing Predictions to Set-Associative Caches. Technical Report TR 96-66, Institut für Informatik, Humboldt-University, July 1996.
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.
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.
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.
A. K. Porterfield. Software Methods for Improvement of Cache Performance on Supercomputer Applications. PhD Thesis, Rice University, May 1989.
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.
M. Sicks. Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diplomarbeit, Universität des Saarlandes, 1997.
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.
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.
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.
M. Wolfe. Optimizing Supercompilers for Supercomputers. PhD Thesis, University of Illinois at Urbana-Champaign, 1982.
Author information
Authors and Affiliations
Editor information
Rights 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