Estimating cache performance for sequential and data parallel programs

  • Thomas Fahringer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1225)


This paper introduces an analytical model that enables automatic estimation of the cache performance for both sequential and data parallel Fortran programs. The estimation is based on a classification of array accesses with respect to cache reuse at the source code level. An estimated upper bound of the number of distinct cache lines accessed inside of a loop is statically computed. Based on this estimate the number of cache misses for loops, procedures and the entire program can be predicted.

The method has been implemented as part of P3T (Parameter based Performance Prediction Tool) and successfully supports VFCS (Vienna Fortran Compilation System) in guiding the application of data distributions and program transformations on distributed memory multiprocessor systems to achieve greater cache effectiveness. Experiments are presented that demonstrate the efficacy of our approach with very encouraging experimental results.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Benkner, S. Andel, P. Brezany, A. Celic, B. Chapman, M. Egg, T. Fahringer, J. Hulman, Y. Hou, E. Kelc, E. Mehofer, H. Moritsch, M. Paul, K. Sanjari, V. Sipkova, B. Velkov, B. Wender, and H.P. Zima. Vienna Fortran Compilation System — Version 2.0 — User's Guide, October 1995.Google Scholar
  2. 2.
    T. Fahringer. Automatic Performance Prediction of Parallel Programs. Kluwer Academic Publishers, Boston, USA, ISBN 0-7923-9708-8, March 1996.Google Scholar
  3. 3.
    Thomas Fahringer. Estimating and Optimizing Performance for Parallel Programs. IEEE Computer, 28(11):47–56, November 1995.Google Scholar
  4. 4.
    J. Ferrante, V. Sarkar, and W. Trash. On estimating and enhancing cache effectiveness. In Proc. of the 4th Workshop on Languages and Compilers for Parallel Computing, Santa Clara, CA, Aug 1991.Google Scholar
  5. 5.
    K. Kennedy and K.S. McKinley. Optimizing for Parallelism and Data Locality. In International Conference on Supercomputing 1992, pages 323–334, Washington D.C., July 1992.Google Scholar
  6. 6.
    M.E. Wolf and M. Lam. A data locality optimizing algorithm. In In Proceedings of the SIGPLAN 91 Conference on Program Language Design and Implementation, Toronto, Canada, June 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Thomas Fahringer
    • 1
  1. 1.Institute for Software Technology and Parallel SystemsUniversity of ViennaViennaAustria

Personalised recommendations