  Mobile platforms must satisfy the contradictory requirements of fast response
time and minimum energy consumption as a function of dynamically changing
applications. To address this need, system-on-chips (SoC) that are at the heart
of these devices provide a variety of control knobs, such as the number of
active cores and their voltage/frequency levels. Controlling these knobs
optimally at runtime is challenging for two reasons. First, the large
configuration space prohibits exhaustive solutions. Second, control policies
designed offline are at best sub-optimal since many potential new applications
are unknown at design-time. We address these challenges by proposing an online
imitation learning approach. Our key idea is to construct an offline policy and
adapt it online to new applications to optimize a given metric (e.g., energy).
The proposed methodology leverages the supervision enabled by power-performance
models learned at runtime. We demonstrate its effectiveness on a commercial
mobile platform with 16 diverse benchmarks. Our approach successfully adapts
the control policy to an unknown application after executing less than 25% of
its instructions.
