Skip to main content

Improving Locality for Adaptive Irregular Scientific Codes

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2000)

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

Abstract

Irregular scientific codes experience poor cache performance due to their memory access patterns. In this paper, we examine two issues for locality optimizations for irregular computations. First, we experimentally find locality optimization can improve performance for parallel codes, but is dependent on the parallelization techniques used. Second, we show locality optimization may be used to improve performance even for adaptive codes. We develop a cost model which can be employed to calculate an efficient optimization frequency; it may be applied dynamically instrumenting the program to measure execution time per time-step iteration. Our results are validated through experiments on three representative irregular scientific codes.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. I. Al-Furaih and S. Ranka. Memory hierarchy management for iterative graph structures. In Proceedings of the 12th International Parallel Processing Symposium, Orlando, FL, April 1998.

    Google Scholar 

  2. J. M. Bull. Feedback guided dynamic loop scheduling: Algorithms and experiments. In Proceedings of the Fourth International Euro-Par Conference (Euro-Par’98), Southhampton, UK, September 1998.

    Google Scholar 

  3. R. Das, D. Mavriplis, J. Saltz, S. Gupta, and R. Ponnusamy. The design and implementation of a parallel unstructured euler solver using software primitives. In Proceedings of the 30th Aerospace Sciences Meeting & Exhibit, Reno, NV, January 1992.

    Google Scholar 

  4. C. Ding and K. Kennedy. Improving cache performance of dynamic applications with computation and data layout transformations. In Proceedings of the SIGPLAN’ 99 Conference on Programming Language Design and Implementation, Atlanta, GA, May 1999.

    Google Scholar 

  5. C. Ding and K. Kennedy. Inter-array data regrouping. In Proceedings of the Twelfth Workshop on Languages and Compilers for Parallel Computing, San Diego, CA, August 1999.

    Google Scholar 

  6. M. Hall, S. Amarasinghe, B. Murphy, S. Liao, and M. Lam. Detecting coarsegrain parallelism using an interprocedural parallelizing compiler. In Proceedings of Supercomputing’ 95, San Diego, CA, December 1995.

    Google Scholar 

  7. H. Han and C.-W. Tseng. Improving compiler and run-time support for adaptive irregular codes. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, Paris, France, October 1998.

    Google Scholar 

  8. H. Han and C.-W. Tseng. A comparison of locality transformations for irregular codes. In Proceedings of the 5th Workshop on Languages, Compilers, and Runtime Systems for Scalable Computers, Rochester, NY, May 2000.

    Google Scholar 

  9. R. v. Hanxleden and K. Kennedy. Give-N-Take-A balanced code placement framework. In Proceedings of the SIGPLAN’ 94 Conference on Programming Language Design and Implementation, Orlando, FL, June 1994.

    Google Scholar 

  10. S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiling Fortran D for MIMD distributed-memory machines. Communications of the ACM, 35(8):66–80, August 1992.

    Article  Google Scholar 

  11. J. Mellor-Crummey, D. Whalley, and K. Kennedy. Improving memory hierarchy performance for irregular applications. In Proceedings of the 1999 ACM International Conference on Supercomputing, Rhodes, Greece, June 1999.

    Google Scholar 

  12. N. Mitchell, L. Carter, and J. Ferrante. Localizing non-affine array references. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, Newport Beach, LA, October 1999.

    Google Scholar 

  13. D. Nicol and J. Saltz. Dynamic remapping of parallel computations with varying resource demands. IEEE Transactions on Computers, 37(9):1073–1087, September 1988.

    Article  Google Scholar 

  14. W. Pottenger. The role of associativity and commutativity in the detection and transformation of loop level parallelism. In Proceedings of the 1998 ACM International Conference on Supercomputing, Melbourne, Australia, July 1998.

    Google Scholar 

  15. R. Wilson et al. SUIF: An infrastructure for research on parallelizing and optimizing compilers. ACM SIGPLAN Notices, 29(12):31–37, December 1994.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Han, H., Tseng, CW. (2001). Improving Locality for Adaptive Irregular Scientific Codes. In: Midkiff, S.P., et al. Languages and Compilers for Parallel Computing. LCPC 2000. Lecture Notes in Computer Science, vol 2017. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45574-4_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-45574-4_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42862-6

  • Online ISBN: 978-3-540-45574-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics