Instruction Balance and Its Relation to Program Energy Consumption
- 302 Downloads
A computer consists of multiple components such as functional units, cache and main memory. At each moment of execution, a program may have a varied amount of work for each component. Recent development has exploited this imbalance to save energy by slowing the components that have a lower load. Example techniques include dynamic scaling and clock gating used in processors from Transmeta and Intel. Symmetrical to reconfiguring hardware is reorganizing software. We can alter program demand for different components by reordering program instructions. This paper explores the theoretical lowe4r bound of energy consumption assuming that both a program and a machine are fully adjustable. It shows that a program with a balanced load always consumes less energy than the same program with uneven loads under the same execution speed. In addition, the paper examines the relation between energy consumption and program performance. It shows that reducing power is a different problem than that of improving performance. Finally, the paper presents empirical evidence showing that a program may be transformed to have a balanced demand in most parts of its execution.
KeywordsExecution Time Switching Cost Execution Trace Memory Operation Dynamic Scaling
Unable to display preview. Download preview PDF.
- D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level analysis and optimization. In Proceedings of the 27th International Symposium on Computer Architecture, Vancouver, BC, 2000.Google Scholar
- A. M. Despain and C. Su. Cache designs for energy efficiency. In Proceedings of 28th Hawaii International Conference on System Science, 1995.Google Scholar
- C. Ding and K. Kennedy. Memory bandwidth bottleneck and its amelioration by a compiler. In Proceedings of 2000 International Parallel and Distribute Processing Symposium (IPDPS), Cancun, Mexico, May 2000.Google Scholar
- C. Ding and K. Kennedy. Improving effective bandwidth through compiler enhancement of global cache reuse. In Proceedings of International Parallel and Distributed Processing Symposium, San Francisco, CA, 2001. http://www.ipdps.org.
- F. Douglis, R. Caceres, B. Marsh, F. Kaashoek, K. Li, and J. Tauber. Storage alternatives for mobile computers. In Proceedings of the first symposium on operating system design and implementation, Monterey, CA, 1994.Google Scholar
- S. Gary et al. PowerPC 603, a microprocessor for portable computers. In IEEE Design and Test of Computers, pages 14–23, 1994.Google Scholar
- C.-H. Hsu, U. Kremer, and M. Hsiao. Compiler-directed dynamic frequency and voltage scaling. In Workshop on Power-Aware Computer Systems, Cambridge, MA, 2000.Google Scholar
- A. R. Lebeck, X. Fan, H. Zeng, and C. Ellis. Power aware page allocation. In Proceedings of the 9th international conference on architectural support for programming languages and operating systems, Cambridge, MA, 2000.Google Scholar
- J. T. Russell and M. F. Jacome. Software power estimation and optimization for high performance, 32-bit embedded processors. In Proceedings of International Conference on Computer Design, Austin, Texas, 1998.Google Scholar
- G. Semeraro, M. Grigorios, R. Balasubramonian, D. H. Albonesi, S. Dwarkadas, and M. L. Scott. Energy-efficient processor design using multiple clock domains with dynamic voltage and frequency scaling. Submitted for publication, 2001.Google Scholar
- A. Srivastava and A. Eustace. ATOM: A system for building customized program analysis tools. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Orlando Florida, June 1994.Google Scholar
- C. Su, C. Tsui, and A. M. Despain. Low power architecture design and compilation techniques for high-performance processors. In Proceedings of the IEEE COMPCON, pages 489–498, 1994.Google Scholar
- V. Tiwari, S. Maik, and A. Wolfe. Power analysis of embedded software: a first step towards software power minimization. IEEE Transaction on VLSI Systems, 1994.Google Scholar
- V. Tiwari, S. Maik, A. Wolfe, and M. Lee. Instruction level power analysis and optimization of software. Journal of VLSI Signal Processing, 13(2):1–18, 1996.Google Scholar
- N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye. Energy-driven integrated hardware-software optimizations using SimplePower. In Proceedings of the 27th International Symposium on Computer Architecture, Vancouver, BC, 2000.Google Scholar
- H. Yang, G. R. Gao, and G. Cai. Maximizing pipelined functional unit usage for minimum power software pipelining. Technical Report CAPSL Technical Memo 41, University of Delaware, Newark, Delaware, September 2001.Google Scholar