Software-Controlled Energy Conservation
Energy conservation is an important problem in battery-powered portable
computers.
Existing solutions to this problem tend to be hardware-oriented,
ad-hoc, and difficult to evaluate.
Typically, the hardware includes support
for turning off various system
devices
such as the screen or the disk to conserve energy.
The hardware usually turns off a device based
on some heuristics and the current usage level of that device.
The thesis of this project is that hardware-controlled solutions to reducing
energy consumption are not
satisfactory, and that a more effective solution is to integrate
the
hardware, system software, and user applications in an energy-aware system
design.
In this design,
the hardware provides the mechanisms for controlling the operation of each
device, leaving policy decisions to the software.
The operating system uses its knowledge about the current workload
and application requirements to control the system devices.
It also externalizes the mechanisms implemented by the hardware to the
application level for those applications that are willing to cooperate
in energy conservation. In addition, the operating system also collects
information about the behavior of the most frequently run applications
and uses it in policy decisions.
The system adapts to the variation of the operating conditions
to trade off performance versus energy conservation. The system gears toward
maximizing performance when powered by a stable
source of energy, and toward energy conservation
when powered by an energy-constrained source.
The system also uses information from the application when available to
control this tradeoff.
Goals
-
To develop a systematic approach for evaluating energy conservation
techniques whether implemented in hardware or software. The evaluation
will guide energy-driven hardware and software design.
-
At the operating system level, to develop techniques to control the devices
using the mechanisms provided by the hardware;
to study and modify the behavior of common system servers and daemons
for lower-energy consumption; to develop
energy-aware scheduling and memory management
algorithms; and to
study the impact of networking on energy consumption.
-
At the architecture level, to design and evaluate a memory architecture
that allows the system to trade
off performance versus energy conservation.
-
To develop
a file system that exploits information about the application
usage patterns and the availability of low-power, solid-state stable memory.
-
At the application level, to design an application program interface for
conveying information
to the operating
system about
the application's usage patterns and performance requirements. The system
tries to estimate this information for
applications that do not wish or cannot participate in energy conservation.