|
Adaptive Power Management (APM) systems for laptops decide when to place a component into various power-saving states given the user
activity. The long-term goal of an APM system is to maximize the battery life while minimizing the annoyance to the user. The state-of-the-art in commercial solutions is timeout policies. These policies switch components into their low power states based on thresholds of
periods of inactivity. Unfortunately, such methods not only waste power during the periods of inactivity, but also needlessly annoy the
user when they turn off components at inappropriate times. Research in APM, on the other hand, has focused more on modeling system
dynamics and not on usage patterns. We propose a system that learns when to turn off components based on different user patterns. We
describe the challenges of building such a system and progressively explore a range of solutions. We experiment with a direct approach
that predicts when to turn off a component given usage features (e.g., historical keyboard and mouse activity, active application,
history of network traffic, and history of CPU utilization). To improve performance of the direct approach we partition data based on
the context and train the learning algorithms separately for each context. Context could be past idleness or any partitioning of the
data that improves performance. We then propose a model-based approach that captures the temporal dynamic of system and user state, the
cost of power and user annoyance, as well as the effect of power-saving actions on the user and system. Our direct approach is validated
on a large data corpus collected from multiple real users where results show a considerable improvement over traditional timeout
methods.
|