Skip to main content

Locality analysis for distributed shared-memory multiprocessors

  • Automatic Data Distribution and Locality Enhancement
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1996)

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

Abstract

This paper studies the locality analysis problem for shared-memory multiprocessors, a class of parallel machines that has experienced steady and rapid growth in the past few years. The focus of this work is on estimation of the memory performance of a loop nest for a given set of computation and data distributions. We assume a distributed shared-memory multiprocessor model. We discuss how to estimate the total number of cache misses (compulsory misses, conflict misses, capacity misses), and also the fractions of these cache misses that result in local vs. remote memory accesses. The goal of our work is to use this performance estimation to guide automatic and semi-automatic selection of data distributions and loop transformations in programs written for future shared-memory multiprocessors. This paper also includes simulation results as validation of our analysis method.

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. Anant Agarwal, David Krantz, and Venkat Natarajan. Automatic Partitioning of Parallel Loops and Data Arrays for Distributed Shared Memory Multiprocessors. International Conference on Parallel Computing, 1993.

    Google Scholar 

  2. S. Amarasinghe and M. Lam. Generating efficient communication for distributed memory machines. In Proceedings of ACM SIGPLAN'93 Conference on Programming Language Design and Implementation, June 1993.

    Google Scholar 

  3. J. M. Anderson and M. S. Lam. Global optimizations for parallelism and locality on scalable parallel machines. ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 112–125, June 1993. Albuquerque, NM.

    Google Scholar 

  4. David F. Bacon, Jyh-Herng Chow, Dz ching R. Ju, K. Muthukumar, and Vivek Sarkar. A Compiler Framework for Restructuring Data Declarations to Enhance Cache and TLB Effectiveness. CASCON '94 conference, November 1994.

    Google Scholar 

  5. David H. Bailey. Unfavorable Strides in Cache Memory Systems. Scientific Programming, 4:53–58, 1995. RNR Technical Report RNR-92-015, NASA Ames Research Center.

    Google Scholar 

  6. Utpal Banerjee. Dependence Analysis for Supercomputing. Kluwer Academic Publishers, Norwell, Massachusetts, 1988.

    Google Scholar 

  7. R. Berrendorf, M. Gerndt, and M. Mairandres. Programming Shared Virtual Memory on the Intel Paragon Supercomputer. Proceedings of Fifth Workshop on Compilers for Parallel Computers, 1995. Internal Report KFA-ZAM-IB-9509, Research Centre Juelich, Germany (also http://www.kfajuelich.de/zam/ZAMPeople/gerndt.html).

    Google Scholar 

  8. Jeanne Ferrante, Vivek Sarkar, and Wendy Thrash. On Estimating and Enhancing Cache Effectiveness. Lecture Notes in Computer Science, (589):328–343, 1991. Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing, Santa Clara, California, USA, August 1991.

    Google Scholar 

  9. D. Gannon, W. Jalby, and K. Gallivan. Strategies for cache and local memory management by global program transformation. Journal of Parallel and Distributed Computing, 5:587–616, 1988.

    Article  Google Scholar 

  10. Shaohua Han. Cache Misses Prediction for Array References in Loop Nest. Technical report, School of Computer Science, McGill University, 1996. Master's thesis in progress.

    Google Scholar 

  11. High Performance Fortran Forum. High Performance Fortran. Language Specification — Version 0.4, December 1992.

    Google Scholar 

  12. M. D. Hill. Aspects of Cache Memories and Instruction Buffer Performance. PhD thesis, Univ. of California at Berkeley, November 1987. Tech. Rep. UCB/CSD 87/381.

    Google Scholar 

  13. Tor E. Jeremiassen and Susan J. Eggers. Reducing False Sharing on Shared Memory Multiprocessors through Compile Time Data Transformations. The fifth Symposium on Principles and Practice of Parallel Programming, July 1995.

    Google Scholar 

  14. Monica S. Lam, Edward E. Rothberg, and Michael E. Wolf. The Cache Performance and Optimization of Blocked Algorithms. Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, April 1991.

    Google Scholar 

  15. Qi Ning, Van Dongen Vincent, and Guang R. Gao. Automatic Decomposition in EPPP Compiler. CASCON '94 conference, pages 283–291, November 1994.

    Google Scholar 

  16. M. J. Serrano. Performance Tradeoffs in Multistreamed Superscalar Architectures. PhD thesis, University of California at Santa Barbara, March 1994.

    Google Scholar 

  17. Ben Verghese, Scott Devine, Anoop Gupta, and Mendel Rosenblum. Operating System Support for Improving Data Locality on CC-NUMA Computer Servers. The seventh International Conference on Architectural Support for Programming Languages and Operating Systems, October 1996.

    Google Scholar 

  18. Michael E. Wolf and Monica S. Lam. A Data Locality Optimization Algorithm. Proceedings of the ACM SIGPLAN Symposium on Programming Language Design and Implementation, pages 30–44, June 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Sehr Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sarkar, V., Gao, G.R., Han, S. (1997). Locality analysis for distributed shared-memory multiprocessors. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1996. Lecture Notes in Computer Science, vol 1239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017243

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63091-3

  • Online ISBN: 978-3-540-69128-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics