Bellosa, Frank
:
Process Cruise Control: Event-Driven Clock Scaling for Dynamic Power Management.
Erlangen:
FAU.
2001
TR-I4-01-11.- Interner Bericht.
9 Seiten.
Abstract:
Scalability of the core frequency is a common feature of low-power processor architectures.
Many heuristics for frequency scaling were proposed in the past to find the best trade-off
between energy efficiency and computational performance. With complex applications exhibiting
unpredictable behavior these heuristics cannot reliably adjust the operation point of the hardware
because they do not know where the energy is spent and why the performance is lost.
Embedded hardware monitors in the form of event counters have proven to offer valuable information
in the field of performance analysis. We will demonstrate that counter values can also characterize
the power-specific characteristics of a thread.
In this paper we propose an energy-aware scheduling policy that benefits from event counters.
By exploiting the information from these counters, the scheduler determines the appropriate clock
frequency for each individual thread running in a time-sharing environment. A recurrent analysis
of the thread-specific energy and performance profile allows an adjustment of the frequency to the
behavioral changes of the application. While the clock frequency may vary in a wide range, the
application performance should only suffer slightly (e.g. with 10% performance loss compared to
the execution at the highest clock speed). Because of the similarity to a car cruise control,
we called our scheduling policy Process Cruise Control. This adaptive clock scaling is accomplished
by the operating system without any application support.
Process Cruise Control has been implemented on the Intel XScale architecture, that offers a variety
of frequencies and a set of configurable event counters. Energy measurements of the target architecture
under variable load show the advantage of the proposed approach.