Abstract
Caches are an important part of architectural and compiler low-power strategies by reducing memory accesses and energy per access. In this chapter, we examine efficient utilization of data caches for low power in an adaptive memory hierarchy. We focus on the optimization of data reuse through the static analysis of line size adaptivity. We present an approach that enables the quantification of data misses with respect to cache line size at compile-time. This analysis is implemented in a software package STAMINA. Experimental results demonstrate effectiveness and accuracy of the analytical results compared to alternative simulation based methods.
Supported by AMRM DABT63-98-C-0045
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
Anderson, E., Van Vleet, T., Brown, L., Baer, J., and Karlin, A.R. (2001). On the performance potential of dynamic cache line sizes. Technical Report UW-CSE-99-02-01. Department of Computer Science University of Washington.
Banerjee, U. (1993). Loop Transformations for Restructuring Compilers The Foundations. Kluwer Academic Publishers.
Clauss, Ph. (1998). Advances in parameterized linear diophantine equations for precise program analysis, Technical Report ICPS RR 98-02. Image and Scientific Parallel Computing of Strasbourg, France.
Clauss, Ph. (1996). Counting solutions to linear and non-linear constraints through Ehrhart polynomials: Applications to analyze and transform scientific programs. Proceeding 10th ACM Int. Conff on Supercomputing, ICS' 96.
Clauss, Ph., and Loechner, V. (1996). Parametric analysis of polyhedral iteration spaces. IEEE Int. Conff on Application Specific Array Processors, ASAP' 96, Chicago, Illinois.
Cmelik, B., and Keppel, D. (1994). Shade: a fast instruction-set simulator for execution profiling. Proceedings of the 1994 conference on Measurement and modeling of computer systems. Pages 128–137.
Ghosh, S.,Martonosi, M., and Malik, S. (1999) Cache miss equations: a compiler framework for analyzing and tuning memory behavior. ACM Transactions on Programming Languages and Systems. Vol. 21, No. 4, Pages 703–746.
Ghose, K., and Kamble, M.B. (1999) Reducing power in superscalar processor caches using subbanking, multiple line buffers and bit-line segmentation. Proceedings 1999 International Symposium on Low Power Electronics and Design. Pages 70–75.
Givargis, T.D., Henkel, J., and Vahid, F. (1999) Interface and cache power exploration for core-based embedded system design. Proceeding of the 1999 International Conference on Computer-aided Design. Pages 270–273.
Golub, G.H., and Van Loan, C.F. (1996). Matrix computations. Johns Hopkins Series in the Mathematical Sciences.
Ji, X., Nicolaescu, D., Veidembaum, A., Nicolau, A., and Gupta, R. (2000). Compiler-directed cache assist adaptivity. ICS Techincal Report #00 17, May 2000. University of California at Irvine Department of Information and Computer Science.
Kamble, MB., and Ghose, K. Analytical energy dissipation models for low power caches. Proceedings of the 1997 International Symposium on Low Power Electronics and Design. Pages 143–148.
McKinley, K.S., and Temam, O. (1996). A quantitative analysis of loop nest locality. Proceedings of the 7th International Conference Architectural Support for Programming Languages and Operating Systems .(ASPLOS VII 10/96 MA, USA). Pages 94–104.
Muchnick, S.S. Advanced compiler design implementation. Morgan Kaufman. Wilton, S.J.E., and Jouppi, N.P. (1996) CACTI: an enhanced cache access and cycle time model. IEEE Journal of Solid-State Circuits. Vol. 31. No. 5.
Su, C., and Despain, A.M. (1995). Cache design trade-offs for power and performance optimization: a case study. Proceedings 1995 International Symposium on Low Power Design. Pages 63–68.
Van Vleet, P., Anderson, E., Brown, L., Baer, J. and Karlin, A.R. (1999). Pursuing the performance potential of dynamic cache line sizes. Int. Conference on Computer Design (ICDD' 99).
Veidenbaum, A. V., Tang, W., Gupta, R., Nicolau, A. and Ji, X. (1999). Adaptive cache line size to application behavior. In Proceedings of International Conference on Supercomputing. Pages 145–154.
Vera, X., Llosa, J., Gonzales, A. and Bermudo, N. (2000). A fast and accurate approach to analyze cache memory behavior. Parallel Processing 6 th International Euro-Par Conference Munich, Germany. Pages 194–198
Wilde, D.K. (1993). A library for doing polyhedral operations. Publication interne N 785.
Wolf, M.E., and Lam, M.S. A data locality optimizing algorithm. Proc. Of the ACM SIGPLAN'91 Conference on Programming Languages Design and Implementation. Toronto, Ontario, Canada. Pages 30–44.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
D’Alberto, P., Nicolau, A., Veidenbaum, A., Gupta, R. (2003). Static Analysis of Parameterized Loop Nests for Energy Efficient Use of Data Caches. In: Benini, L., Kandemir, M., Ramanujam, J. (eds) Compilers and Operating Systems for Low Power. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-9292-5_11
Download citation
DOI: https://doi.org/10.1007/978-1-4419-9292-5_11
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-4879-5
Online ISBN: 978-1-4419-9292-5
eBook Packages: Springer Book Archive