Abstract
As both chip densities and clock frequencies steadily rise in modern microprocessors, energy consumption is quickly joining performance as a key design constraint. Power issues are increasingly important in embedded systems, especially those found in portable devices. Much research has focused on the memory subsystems of these devices since they are a leading energy consumer. Compiler optimizations that are traditionally used to increase performance have shown much promise in also reducing cache energy consumption. In this paper we study the interaction between performance-oriented compiler optimizations and memory energy consumption and demonstrate that the best performance optimizations do not necessarily generate the best energy behavior in memory. We also show a simple metric that a power-optimizing compiler can utilize in order to capture the energy impact of potential optimizations. Next, we present heuristic algorithms that determine a suitable optimization strategy given a memory energy upper bound. Finally, we demonstrate that our strategies will gain even more importance in the future when leakage energy is expected to play an even larger role in the total energy consumption equation.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
R. Balasubramonian, D. H. Albonesi, A. Buyuktosunoglu, and S. Dwarkadas. Memory hierarchy reconfiguration for energy and performance in general-purpose architectures. In Proc. of the 33 rd Int’l Symposium on Microarchitecture (MICRO), 2000.
D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In Proc. of the 27 th Int’l Symposium on Computer Architecture (ISCA), 2000.
D. Burger and T. Austin The SimpleScalar tool set, version 2.0. Techincal Report CS-TR-97-1342. University of Wisconsin-Madison, 1997.
F. Catthoor, S. Wuytack, E. De Greef, F. Balasa, L. Nachtergaele, and A. Van-decappelle. Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design, Kluwer Academic Publishers, 1995.
Chandrakasan and R. Brodersen. Low Power Digital CMOS Design, Kluwer Academic Publishers, 1995.
G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, and M. Wolczko. Tuning Garbage Collection in an embedded Java environment. In Proc. of the 8 th Int’l Symposium on High Performance Computer Architecture (HPCA), 2002.
V. Delaluz, M. Kandemir, N. Vijaykrishnan, A. Sivasubramaniam, and M. J. Irwin. DRAM energy management using software and hardware directed power mode control. In Proc. of the 7 th Int’l Symposium on High Performance Computer Architecture (HPCA), 2001.
J. Edmondon et al. Internal organization of the Alpha 21164, a 300-MHz 64-bit quad-issue CMOS RISC microprocessor. Digital Technical Journal, 1995.
N. B. I. Hajj, C. Polychronopoulos, and G. Stamoulis. Architectural and compiler support for energy reduction in the memory hierarchy of high performance microprocessors. In Proc. of Int’l Symposium on Low-Power Electronics and Design (ISLPED), 1998.
A. Halambi, A. Shrivastava, P. Biswas, N. Dutt, and A. Nicolau. An efficient compiler technique for code size reduction using reduced bit-width ISAs. In Proc. of Design, Automation, and Test in Europe (DATE), 2001.
R. Joseph and M. Martonosi. Run-time power estimation in high-performance micrprocessors. In Proc. of Int’l Symposium on Low-Power Electronics and Design (ISLPED), 2001.
M. B. Kamble and K. Ghose. Analytical energy dissipation models for low-power caches. In Proc. of Int’l Symposium on Low-Power Electronics and Design (ISLPED), 1995.
S. Kaxiras, Z. Hu, and M. Martonosi. Cache decay: exploiting generational behavior to reduce cache leakage power. In Proc. of the 28 th Int’l Symposium on Computer Architecture (ISCA), 2001.
A. R. Lebeck, X. Fan, H. Zeng, and C. S. Ellis. Power-aware page allocation. In Proc. of the 9 th Int’l Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX), 2000.
C. Lee, M. Potkonjak, and W. H. Mangione-Smith. MediaBench: a tool for evaluating and synthesizing multimedia and communication systems. In Proc. of the 30 th Int’l Symposium on Microarchitecture (MICRO), 1997.
R. Leupers. Code Optimization Techniques for Embedded Processors, Kluwer Academic Publishers, 2000.
H. Mehta, R. M. Owens, M. J. Irwin, R. Chen, and D. Ghosh. Techniques for low-energy software. In Proc. of the 25 th Int’l Symposium on Computer Architecture (ISCA), 1998.
MIPSpro compiling and performance tuning guide. Silicon Graphics, Inc., 1999.
J. Montanaro et al. A 160-MHz, 32-b, 0.5W CMOS RISC microprocessor. Digital Technical Journal, 1996.
R. Morgan. Building an Optimizing Compiler, Butterworth-Heinemann, 1998.
S. Muchnick. Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.
M. D. Powell, S-H. Yang, B. Falsafi, K. Roy, and T. N. Vijaykumar. Gated-Vdd: A circuit technique to reduce leakage in deep-submicron cache memories. In Proc. of Int’l Symposium on Low-Power Electronics and Design (ISLPED), 2001.
J. Ramanujam, J. Hong, M. Kandemir, and A. Narayan. Reducing memory requirements of nested loops for embedded systems. In Proc. of the 38 th Design Automation Conference (DAC), 2001.
D. Singh and V. Tiwari. Power challenges in the Internet world. In Cool Chips Tutorial: An Industrial Perspective on Low-Power Processor Desgin (held in conjunction with The 32 nd Int’l Symposium on Microarchitecture (MICRO), 1999.
The Standard Performance Evaluation Corporation. http://www.spec.org.
N. Vijaykrishnan, M. Kandemir, M. H. Irwin, H. S. Kim, and W. Ye. Energy-driven integrated hardware-software optimizations using SimplePower. In Proc. of the 27 th Int’l Symposium on Computer Architecture (ISCA), 2000.
S. E. Wilton and N. Jouppi. An enhanced access and cycle time model for on-chip caches. In DEC WRL Research Report 93/5, 1994.
M. Wolf, D. Maydan, and D. Chen. Combining loop transformations considering caches and scheduling. In Proc. of the 30 th Int’l Symposium on Microarchitecture (MICRO), 1997.
M. Wolfe. High Performance Compilers for Parallel Computing, Addison-Wesley Publishing Company, 1996.
Y. Ye, S. Borkar, and V. De. A new technique for standby leakage reduction in high-performance circuits. In IEEE Symposium on VLSI Circuits, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zambreno, J., Kandemir, M.T., Choudhary, A. (2002). Enhancing Compiler Techniques for Memory Energy Optimizations. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds) Embedded Software. EMSOFT 2002. Lecture Notes in Computer Science, vol 2491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45828-X_27
Download citation
DOI: https://doi.org/10.1007/3-540-45828-X_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44307-0
Online ISBN: 978-3-540-45828-9
eBook Packages: Springer Book Archive