Skip to main content

Estimating cache performance for sequential and data parallel programs

  • Conference paper
  • First Online:

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

Abstract

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 P 3 T (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.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. T. Fahringer. Automatic Performance Prediction of Parallel Programs. Kluwer Academic Publishers, Boston, USA, ISBN 0-7923-9708-8, March 1996.

    Google Scholar 

  3. Thomas Fahringer. Estimating and Optimizing Performance for Parallel Programs. IEEE Computer, 28(11):47–56, November 1995.

    Google Scholar 

  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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bob Hertzberger Peter Sloot

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fahringer, T. (1997). Estimating cache performance for sequential and data parallel programs. In: Hertzberger, B., Sloot, P. (eds) High-Performance Computing and Networking. HPCN-Europe 1997. Lecture Notes in Computer Science, vol 1225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031655

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62898-9

  • Online ISBN: 978-3-540-69041-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics