This project concerns reduced-order modeling and forecasting techniques for reducing power use in microprocessor chips. Modern power management solutions for these systems employ extremely simple control strategies---e.g., lowering the clock frequency by a fixed, pre-determined amount if a processor's load crosses some threshold. The methods developed by the control theory and nonlinear dynamics communities have long since moved beyond this level of sophistication. Model-based prediction, in particular, could enable vastly improved power management, but only if the models involved are accurate. If one could predict that a particular thread of computation would be bogged down for the next 0.6 seconds waiting for data from the computer's memory, for instance, one could put that thread on a low-power hold for that time period. Prediction of the future behavior of a complex nonlinear dynamical system like a modern computer is a serious challenge, however---and it is all but impossible if one uses mathematics that assumes linearity and/or time invariance, as has been the rule until recently in the computer systems community. The approach proposed here uses a novel reduced-order modeling strategy that first transforms the time-series data into a 2D representation called a tau-return map. The power of this representation is that it brings out temporal relationships explicitly, `unfolding' the temporal patterns in the time series into a spatial dimension. Forecast models working on this transformed data can be used to create accurate predictions of processor and memory loads in multicore processors: information that can be used to dynamically adapt the computation to the resources, and vice versa.

Reducing the power use of microprocessor chips, one of the most critical classes of engineered systems in use today, is an important challenge in the modern world of ubiquitous computation. In order to manage power use effectively, one must be able to dynamically adapt the computation to the resources. Monitoring is one key element in solving that problem: if one knew which processing units in a multi-core processor were busy and which ones were idle, for instance, one could re-route work from the former to the latter. Forecasting is another key element: doing that kind of reallocation reactively is good, but doing it PROACTIVELY---based on a prediction of those loads and levels---would be far better. The complexity of modern computer systems makes prediction very difficult, however. These systems have large numbers of internal variables that interact in complex, nonlinear ways, and only a few of those variables can be monitored. The approach proposed here uses a mathematical mapping to tease the important temporal relationships out of these narrow streams of data that can be measured from a running computer. It builds forecast models in that new space using mathematics that fully respects the complexity and nonlinearity of the underlying system---unlike traditional approaches, which generally treat computer systems as linear and time-invariant. It uses those forecast models to save power by tailoring the computational load to the available resources, and vice versa. The potential impact of this work is significant, particularly in view of the recent design evolution of multicore processors and the rapid proliferation of mobile devices. Because computers are so common and so critical, this work has the potential to contribute to science, engineering, and well beyond.

Project Start
Project End
Budget Start
2012-08-15
Budget End
2016-07-31
Support Year
Fiscal Year
2011
Total Cost
$311,698
Indirect Cost
Name
University of Colorado at Boulder
Department
Type
DUNS #
City
Boulder
State
CO
Country
United States
Zip Code
80303