Adaptive processing can be used for reducing energy consumption of modern microprocessors
while maintaining near optimal performance.
In previous work, a multitude of approaches were presented to
adapt various hardware structures to the phase behavior of a program execution. However, these approaches were unable to efficiently deal with a large number of possible hardware configurations in case of multiple
In this paper, we present a solution to this configuration space search problem
by extending the temporal adaptation approach.
We first identify phases through profiling of fixed length intervals and subsequently determine the optimal
hardware configuration per phase using an efficient offline search algorithm.
During program execution, we then inspect the phase behavior and adapt the hardware
on a per-phase basis.
With our approach, we are able to achieve an energy reduction of 37% on average (up to 61%)
with an average 2.9% performance degradation.