Skip to main content

Enhancing Compiler Techniques for Memory Energy Optimizations

  • Conference paper
  • First Online:

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

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

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. D. Burger and T. Austin The SimpleScalar tool set, version 2.0. Techincal Report CS-TR-97-1342. University of Wisconsin-Madison, 1997.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. Chandrakasan and R. Brodersen. Low Power Digital CMOS Design, Kluwer Academic Publishers, 1995.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. J. Edmondon et al. Internal organization of the Alpha 21164, a 300-MHz 64-bit quad-issue CMOS RISC microprocessor. Digital Technical Journal, 1995.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. R. Leupers. Code Optimization Techniques for Embedded Processors, Kluwer Academic Publishers, 2000.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. MIPSpro compiling and performance tuning guide. Silicon Graphics, Inc., 1999.

    Google Scholar 

  19. J. Montanaro et al. A 160-MHz, 32-b, 0.5W CMOS RISC microprocessor. Digital Technical Journal, 1996.

    Google Scholar 

  20. R. Morgan. Building an Optimizing Compiler, Butterworth-Heinemann, 1998.

    Google Scholar 

  21. S. Muchnick. Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. The Standard Performance Evaluation Corporation. http://www.spec.org.

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. M. Wolfe. High Performance Compilers for Parallel Computing, Addison-Wesley Publishing Company, 1996.

    Google Scholar 

  30. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics