Skip to main content
Log in

Abstract

Reducing energy consumption has become an important issue in designing hardware and software systems in recent years. Although low power hardware components are critical for reducing energy consumption, the switching activity, which is the main source of dynamic power dissipation in electronic systems, is largely determined by the software running on these systems.

In this paper, we present and evaluate several instruction scheduling algorithms that reorder a given sequence of instructions taking into account the energy considerations. We first compare a performance-oriented scheduling technique with three energy-oriented instruction scheduling algorithms from both performance (execution cycles of the resulting schedules) and energy consumption points of view. Then, we propose three scheduling algorithms that consider energy and performance at the same time. Our experimentation with these scheduling techniques shows that the best scheduling from the performance perspective is not necessarily the best scheduling from the energy perspective. Further, scheduling techniques that consider both energy and performance simultaneously are found to be desirable, that is, these techniques are quite successful in reducing energy consumption and their performance (in terms of execution cycles) is comparable to that of a pure performance-oriented scheduling. We also illuminate the inherent approximations and difficulties in building energy models for enabling energy-aware instruction scheduling and explore alternative options using cycle-accurate energy simulator. The simulation results show that the energy-oriented scheduling reduces energy consumption by up to 30% compared to the performance-oriented scheduling.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J.R. Lorch and A.J. Smith, “Software Strategies for Portable Computer Energy Management,” IEEE Personal Communications, June 1998, pp. 60-73.

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

  3. G. Albera and R.I. Bahar, “Power and Performance Tradeoffs Using Various Cache Configurations,” in Proc. Power Driven Micro-Architecture Workshop, in conjunction with ISCA'98, Barcelona, Spain, June 1998.

  4. C.-L. Su and A.M. Despain, “Cache Design Trade-Offs for Power and Performance Optimization: A Case Study,” in Proc. International Symposium on Low Power Electronics and Design, 1995, pp. 63-68.

  5. B. Burgress et al., “The PowerPCTM603 Microprocessor: A High-Performance, Low-Power, Super-Scalar RISC Processor,” in Proc. IEEE COMPCON, Feb. 1994.

  6. S.B. Furber et al., “AMULET1: A Micro-Pipelined ARM,” in Proc. IEEE COMPCON, Feb. 1994.

  7. S. Manne, A. Klauser, and D. Grunwald, “Pipeline Gating: Speculation Control for Energy Reduction,” in Proc. 1998 Intl. Symposium on Computer Architecture, Barcelona, Spain, June 1998.

  8. K. Roy and M.C. Johnson, “Software Design for Low Power,” in Low Power Design in Deep Sub-micron Electronics, J. Mermet and W. Nebel (Eds.), Kluwer Academic Press, October 1996, pp. 433-459.

  9. F. Catthoor, F. Franssen, S. Wuytack, L. Nachtergaele, and H. DeMan, “Global Communication and Memory Optimizing Transformations for Low Power Signal Processing Systems,” in Proc. IEEE Workshop on VLSI Signal Processing, 1994, pp. 178-187.

  10. F. Catthoor, S. Wuytack, E.D. Greef, F. Balasa, L. Nachtergaele, and A. Vandecappelle, Custom Memory Management Methodology—Exploration of Memory Organization for Embedded Multimedia System Design, Kluwer Academic Publishers, June, 1998.

  11. J.T. Russell and M.F. Jacome, “Software Power Estimation and Optimization for High Performance, 32 Bit Embedded Processors,” in Proc. ICCD'98, Austin, TX, Oct. 1998.

  12. C.-L. Su, C.-Y. Tsui, and A.M. Despain, “Low Power Architecture Design and Compilation Techniques for High-Performance Processors,” in Proc. IEEE COMCON, 1994, pp. 489-498.

  13. M.C. Toburen, T.M. Conte, and M. Reilly, “Instruction Scheduling for Low Power Dissipation in High Performance Processors,” in Proc. Power Driven Micro-Architecture Workshop in Conjunction with the ISCA'98. Barcelona, Spain, June 1998.

  14. M. Lee, V. Tiwari, S. Malik, and M. Fujita, “Power Analysis and Minimization Techniques for Embedded DSP Software,” Fujitsu Scientific and Technical Journal, vol. 31, no. 2, 1995, pp. 215-229.

    Google Scholar 

  15. V. Tiwari, S. Malik, A. Wolfe, and T.C. Lee, “Instruction Level Power Analysis and Optimization of Software,” Journal of VLSI Signal Processing Systems, vol. 13, no. 2, 1996.

  16. V. Tiwari, S. Malik, and A. Wolfe, “Power Analysis of Embedded Software: A First Step Towards Software Power Minimization,” IEEE Transactions on VLSI Systems, Dec. 1994.

  17. S. Coleman and K. McKinley, “Tile Size Selection Using Cache Organization and Data Layout,” in Proc. SIGPLAN '95 Conference on Programming Language Design and Implementation, June 1995.

  18. M. Wolf and M. Lam, “A Data Locality Optimizing Algorithm,” in Proc. ACM SIGPLAN 91 Conf. on Programming Language Design and Implementation, June 1991, pp. 30-44.

  19. M. Wolf, D. Maydan, and D. Chen, “Combining Loop Transformations Considering Caches and Scheduling,” in Proc. MICRO-29, Paris, France, Dec. 1996, pp. 274-286.

  20. M. Kandemir, J. Ramanujam, and A. Choudhary, “Improving Cache Locality by a Combination of Loop and Data Transformations,” IEEE Transactions on Computers, vol. 48, no. 2, 1999, pp. 159-167.

    Article  Google Scholar 

  21. M. Kandemir, A. Choudhary, N. Shenoy, P. Banerjee, and J. Ramanujam, “A Linear Algebra Framework for Automatic Determination of Optimal Data Layouts,” IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 2, 1999, pp. 115-135.

    Article  Google Scholar 

  22. K. Ebcioglu, R.D. Groves, K.-C. Kim, G.M. Silberman, and I. Ziv, “VLIW Compilation Techniques in a Superscalar Environment,” in Proc. the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation, Orlando, Florida, 20–24 June 1994, pp. 36-48.

  23. A. Chandrakasan et al., “Optimizing Power Using Transformations,” IEEE Trans. on CAD, vol. TCAD-14, no. 1, 1995, pp. 12-31.

    Article  Google Scholar 

  24. T. Sato, Y. Ootaguro, M. Nagamatsu, and H. Tago, “Evaluation of Architecture-Level Power Estimation for CMOS RISC Processors,” in Proc. the Symposium on Low Power Electronics, 1995, pp. 44-45.

  25. H.A. Mehta, System Level Power Analysis. Ph.D. Thesis, CSE Department, The Pennsylvania State University, State College, PA, Dec. 1996.

  26. H. Mehta, M.J. Irwin, and R.M. Owens, “Energy Characterization Based on Clustering,” in Proc. of the 33rd Design Automation Conference, June 1996, p. 702.

  27. J. Bunda, W.C. Athas, and D. Fussell, “Evaluating Power Implication of CMOS Microprocessor Design Decisions,” in Proc. the 1994 International Workshop on Low Power Design, April 1994.

  28. J.W. Davidson and S. Jinturkar, “Memory Access Coalescing: A Technique for Eliminating Redundant Memory Accesses,” ACM SIGPLAN Notices, vol. 29, no. 6, 1994.

  29. A. Sudarsanam and S. Malik, “Memory Bank and Register Allocation in Software Synthesis for ASIPs,” in Proc. the International Conference on Computer-Aided Design, 1995, pp. 388-392.

  30. E. DeGreef, F. Catthoor, and H. DeMan, “Memory Organization for Video Algorithms on Programmable Signal Processors,” in Proc. the IEEE International Conference on Computer Design: VLSI in Computers and Processors, 1995, pp. 552-557.

  31. P.R. Panda, N.D. Dutt, and A. Nicolau, “Architectural Exploration and Optimization of Local Memory in Embedded Systems,” in Proc. ISSS'97, Antwerp, Sept. 1997.

  32. W.-T. Shiue and C. Chakrabarti, “Memory Exploration for Low Power, Embedded Systems,” in Proc. DAC'99, New Orleans, Louisiana, 1999.

  33. A. Parikh, M. Kandemir, N. Vijaykrishnan, and M.J. Irwin, “Instruction Scheduling Based on Energy and Performance Constraints,” in Proc. IEEE CS Annual Workshop on VLSI, April 2000.

  34. A. Parikh, M. Kandemir, N. Vijaykrishnan, and M.J. Irwin, “Energy Aware Instruction Scheduling,” in Proc. International Conference on High Performance Computing, Dec. 2000.

  35. S.S. Muchnick, Advanced Compiler Design Implementation. San Francisco, California: Morgan Kaufmann Publishers, 1997.

    Google Scholar 

  36. M.S. Lam, “Software Pipelining: An Efficient Scheduling Techniques for VLIW Machines,” in Proc. ACM SIGPLAN 88 Conf. on Programming Language Design and Implementation, June 1988, pp. 318-328.

  37. M. Smotherman, S. Krishnamurthy, P.S. Aravind, and D. Hunnicutt, “Efficient DAG Construction and Heuristic Calculation for Instruction Scheduling,” in Proc. the 24th Annual Intl. Symp. on Microarchitecture, Albuquerque, NM, Nov. 1991, pp. 93-102.

  38. J. Fisher, “Trace Scheduling: A Technique for Global Microcode Compaction,” IEEE Transactions on Computers, vol. C-30, no. 7, 1981, pp. 478-490.

    Article  Google Scholar 

  39. A. Nicolau, “A Fine-Grain Parallelizing Compiler,” Technical Report, TR-86-792, Department of Computer Science, Cornell University, Ithaca, NY, December, 1986.

    Google Scholar 

  40. A.V. Aho, R. Sethi, and J. Ullman, Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.

  41. M.R. Garey and D.S. Johnson, “Computers and Intractability: A Guide to the Theory of NP-Completeness, W.F. Freeman and Co., San Francisco, CA, 1979.

    MATH  Google Scholar 

  42. M.S. Lam and R.P. Wilson, “Limits of Control Flow on Parallelism,” in Proc. 19th International Symposium on Computer Architecture, 1992, pp. 46-57.

  43. J.A. DeRosa and H.M. Levy, “An Evaluation of Branch Architectures,” in Proc. 14th International Symposium on Computer Architecture, 1987, pp. 10-16.

  44. D. Sarta, D. Trifone, and G. Ascia, “A Data Dependent Approach to Power Estimation,” in Proc. IEEE Alessandro Volta Memorial Workshop on Low Power Design, City of Como, Italy, March 1999, pp. 182-190.

  45. W. Ye, Architectural Level Power Estimation and Experimentation. Ph.D. Thesis, Comp. Sci. and Eng., The Pennsylvania State University, Oct. 1999.

  46. N. Vijaykrishnan, M. Kandemir, M.J. Irwin, H.Y. Kim, and W. Ye, “Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower,” in Proc. the International Symposium on Computer Architecture (ISCA'00), June 2000.

  47. D. Burger and T. Austin, “The SimpleScalar Tool Set,” version 2.0. Tech. Rep., Computer Science Department, University of Wisconsin, Madison, June 1997.

    Google Scholar 

  48. M. Kamble and K. Ghose, “Analytical Energy Dissipation Models for Low Power Caches,” in Proc. the International Symposium on Low Power Electronics and Design, August 1997, p. 143.

  49. W.-T. Shiue and C. Chakrabarti, “Memory Exploration for Low Power, Embedded Systems,” CLPE-TR-9-1999-20, Technical Report, Center for Low Power Electronics, Arizona State University, 1999.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parikh, A., Kim, S., Kandemir, M. et al. Instruction Scheduling for Low Power. The Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology 37, 129–149 (2004). https://doi.org/10.1023/B:VLSI.0000017007.28247.f6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:VLSI.0000017007.28247.f6

Navigation