Energy-Efficient Parallel Execution

Guri Sohi (University of Wisconsin-Madison)

The ubiquity of parallel machines brings about the need to achieve energy-efficient parallel execution
of an application program in a diverse set of hardware and software environments.
Existing parallel execution models (both static and dynamic), may be ill suited for this purpose
since they may create excessive parallelism for a particular dynamic operating environment,
thus creating contention for resources leading to time- and energy-inefficiency.

We propose a software framework for controlling the exposure of parallelism from an application program
into the dynamic operating environment.  This framework detects when excessive application parallelism
may be leading to energy-inefficiency, and reduces the parallelism, and vice-versa.  The framework
has been implemented in a prototype runtime system as well as on top of an open source version of
Intel's Threaded Building Blocks (TBB).

Experimental results on a 4-core (8-thread) Intel Core i7 2600 (Sandy Bridge) demonstrate that
the framework is very effective in achieving energy-efficient parallel execution---doing as well as or better than
the spectrum of other traditional scenarios considered---regardless of the dynamic operating environment.