Process Cruise Control-Event-Driven Clock Scaling for Dynamic Power
Management
Andreas Weissel, Frank Bellosa, "Process Cruise
Control-Event-Driven Clock Scaling for Dynamic Power Management",
Proceedings of the International Conference on Compilers, Architecture and
Synthesis for Embedded Systems (CASES 2002), Grenoble, France, August 2002,
[Abstract(english)]
[Full Paper (pdf), 144 kB]
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 reveal the power-specific characteristics of
a thread.
In this paper we propose an energy-aware scheduling policy for non-real-time
operating systems 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.