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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aarts, B., et al.: OCEANS: optimizing compilers for embedded applications. In: Proceedings of EuroPar. LNCS, Springer, Heidelberg (1997)
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)
Catthoor, F., et al.: Data Access and Storage Management for Embedded Programmable Processors. Kluwer Academic Publishers, Dordrecht (2002)
Douglas, F., Krishnan, P., Marsh, B.: Thwarting the power-hungry disk. In: Proceedings of Winter Usenix (1994)
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)
Kennedy, K., McKinley, K.: Optimizing for parallelism and data locality. In: Proceedings of the 1992 ACM International Conference on Supercomputing. ACM, New York (1992)
Kodukula, I., Ahmed, N., Pingali, K.: Data-centric multi-level blocking. In: Proceedings of SIGPLAN Conference on Programming Language Design and Implementation (June 1997)
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)
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)
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)
Li, W.: Compiling for NUMA Parallel Machines. Ph.D. Thesis, Computer Science Department, Cornell University, Ithaca, NY (1993)
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)
lp_solve, ftp://ftp.es.ele.tue.nl/pub/lp_solve/
Muchnick, S.S.: Advanced Compiler Design and Implementation, 1st edn. Morgan Kaufmann Publishers, San Francisco (1997)
Nemhauser, G., Wolsey, L.: Integer and Combinatorial Optimization. Wiley-Interscience Publications/John Wiley & Sons, New York (1988)
Rambus Inc., http://www.rambus.com/
Rivera, G., Tseng, C.-W.: Locality optimizations for multi-Level caches. In: Proceedings of SC1999, Portland, OR (November 1999)
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)
Wilson, R., et al.: SUIF: an infrastructure for research on parallelizing and optimizing compilers. SIGPLAN Notices 29(12), 31–37 (1994)
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)
Wolfe, M.: High Performance Compilers for Parallel Computing. Addison-Wesley, CA (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)