Instruction Balance, Energy Consumption, and Program Performance

Tao Li and Chen Ding


ABSTRACT

A computer processor 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 research has exploited this imbalance to save energy by slowing the components that have a lower load. Symmetrical to reconfiguring hardware is reorganizing software. For each program segment, we can alter its demands for different components by reordering program instructions. In other words, we can change the balance of program loads in different parts of a program. This paper explores the theoretical lower bound of the energy consumption assuming that both a program and a machine are fully adjustable. It shows that a program with constant load balances always consumes less power than the same program with uneven balances. In addition, the paper examines the relation between energy consumption and program performance. It shows that as far as program reordering is concerned, reducing power is a more complex problem than improving performance.
Download the paper in pdf or postscript format.

Copyright notice