Advertisement

Enhancing Compiler Techniques for Memory Energy Optimizations

  • Joseph Zambreno
  • Mahmut Taylan Kandemir
  • Alok Choudhary
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Code Size Instruction Memory Leakage Energy Loop Unroll Instruction Count 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 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. 5.
    Chandrakasan and R. Brodersen. Low Power Digital CMOS Design, Kluwer Academic Publishers, 1995.Google Scholar
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 16.
    R. Leupers. Code Optimization Techniques for Embedded Processors, Kluwer Academic Publishers, 2000.Google Scholar
  17. 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. 18.
    MIPSpro compiling and performance tuning guide. Silicon Graphics, Inc., 1999.Google Scholar
  19. 19.
    J. Montanaro et al. A 160-MHz, 32-b, 0.5W CMOS RISC microprocessor. Digital Technical Journal, 1996.Google Scholar
  20. 20.
    R. Morgan. Building an Optimizing Compiler, Butterworth-Heinemann, 1998.Google Scholar
  21. 21.
    S. Muchnick. Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.Google Scholar
  22. 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. 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. 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. 25.
    The Standard Performance Evaluation Corporation. http://www.spec.org.
  26. 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. 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. 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. 29.
    M. Wolfe. High Performance Compilers for Parallel Computing, Addison-Wesley Publishing Company, 1996.Google Scholar
  30. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Joseph Zambreno
    • 1
  • Mahmut Taylan Kandemir
    • 2
  • Alok Choudhary
    • 1
  1. 1.Department of Electrical and Computer EngineeringNorthwestern UniversityEvanstonUSA
  2. 2.Microsystems Design LabPennsylvania State UniversityUniversity ParkUSA

Personalised recommendations