Skip to main content

An ILP-Based Approach to Locality Optimization

  • Conference paper
Languages and Compilers for High Performance Computing (LCPC 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3602))

Abstract

One of the most important factors that determine performance of data-intensive applications is data locality. A program with high data locality makes better use of fast, on-chip memories and can avoid large main memory latencies. Although previous compiler research investigated numerous techniques for enhancing locality, we lack of formal techniques, against which the existing heuristics can be compared. Motivated by this observation, this paper presents a fresh look at locality optimization based on integer linear programming (ILP). We formulate the conditions for data locality, and present a system of constraints whose solution gives optimal computation re-ordering and data-to-memory assignment under our objective function and cost model. Our experimental results using three data-intensive applications clearly indicate that the ILP-based approach generates very good results and outperforms a previously proposed heuristic solution to locality.

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. Aarts, B., et al.: OCEANS: optimizing compilers for embedded applications. In: Proceedings of EuroPar. LNCS, Springer, Heidelberg (1997)

    Google Scholar 

  2. Bozkus, Z., Choudhary, A., Fox, G.C., Haupt, T., Ranka, S.: Fortran 90D/HPF compiler for distributed memory MIMD computers: design, implementation, and performance results. In: Proceedings of Supercomputing, Portland, OR (November 1993)

    Google Scholar 

  3. Catthoor, F., et al.: Data Access and Storage Management for Embedded Programmable Processors. Kluwer Academic Publishers, Dordrecht (2002)

    MATH  Google Scholar 

  4. Douglas, F., Krishnan, P., Marsh, B.: Thwarting the power-hungry disk. In: Proceedings of Winter Usenix (1994)

    Google Scholar 

  5. Kandemir, M., Kolcu, I., Kadayif, I.: Influence of loop optimizations on energy consumption of multi-bank memory systems. In: Proceedings of the International Conference on Compiler Construction, Grenoble, France, April 6–14 (2002)

    Google Scholar 

  6. Kennedy, K., McKinley, K.: Optimizing for parallelism and data locality. In: Proceedings of the 1992 ACM International Conference on Supercomputing. ACM, New York (1992)

    Google Scholar 

  7. Kodukula, I., Ahmed, N., Pingali, K.: Data-centric multi-level blocking. In: Proceedings of SIGPLAN Conference on Programming Language Design and Implementation (June 1997)

    Google Scholar 

  8. Lam, M., Rothberg, E., Wolf, M.: The cache performance of blocked algorithms. In: Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (April 1991)

    Google Scholar 

  9. Lebeck, A.R., Fan, X., Zeng, H., Ellis, C.S.: Power-aware page allocation. In: Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (November 2000)

    Google Scholar 

  10. Leung, S.-T., Zahorjan, J.: Optimizing data locality by array restructuring. Technical Report TR 95–09–01, Department of Computer Science and Engineering, University of Washington (September 1995)

    Google Scholar 

  11. Li, W.: Compiling for NUMA Parallel Machines. Ph.D. Thesis, Computer Science Department, Cornell University, Ithaca, NY (1993)

    Google Scholar 

  12. Li, K., Kumpf, R., Horton, P., Anderson, T.: A quantitative analysis of disk drive power management in portable computers. In: Proceedings of Winter Usenix (1994)

    Google Scholar 

  13. lp_solve, ftp://ftp.es.ele.tue.nl/pub/lp_solve/

  14. Muchnick, S.S.: Advanced Compiler Design and Implementation, 1st edn. Morgan Kaufmann Publishers, San Francisco (1997)

    Google Scholar 

  15. Nemhauser, G., Wolsey, L.: Integer and Combinatorial Optimization. Wiley-Interscience Publications/John Wiley & Sons, New York (1988)

    MATH  Google Scholar 

  16. Rambus Inc., http://www.rambus.com/

  17. Rivera, G., Tseng, C.-W.: Locality optimizations for multi-Level caches. In: Proceedings of SC1999, Portland, OR (November 1999)

    Google Scholar 

  18. Tseng, C.-W.: An Optimizing Fortran D Compiler for MIMD Distributed-Memory Machines. Ph.D. Thesis, Rice COMP TR93-199, Department of Computer Science, Rice University (January 1993)

    Google Scholar 

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

    Article  Google Scholar 

  20. Wolf, M., Maydan, D., Chen, D.: Combining loop transformations considering caches and scheduling. In: Proceedings of the International Symposium on Microarchitecture, Paris, France, December 1996, pp. 274–286 (1996)

    Google Scholar 

  21. Wolfe, M.: High Performance Compilers for Parallel Computing. Addison-Wesley, CA (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, G., Ozturk, O., Kandemir, M. (2005). An ILP-Based Approach to Locality Optimization. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_12

Download citation

  • DOI: https://doi.org/10.1007/11532378_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28009-5

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics