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