Cooperative CPU-GPU Dynamic Power Management Methodologies for Energy-efficient Mobile Gaming
One of the fundamental challenges to contemporary mobile platforms deploying heterogeneous CPU-GPU based architectures that execute mobile games and other graphics-intensive applications is to design software governors through Dynamic Voltage Frequency Scaling (DVFS) for achieving high performance with energy-efficiency on battery-based systems. However, separate CPU and GPU governors miss opportunities for further energy savings through cooperative/integrated CPU-GPU power management. Contemporary integrated CPU-GPU governors for diverse and dynamic gaming workloads utilize classical statistical or heuristic models with a small set of mobile games for both modeling and evaluation resulting in high prediction errors with lost potential for energy savings. To overcome these limitations, this thesis presents a comprehensive graphics workload characterization by developing custom micro-benchmarks and then proposes three different cooperative CPU-GPU dynamic power management methodologies by using large sets of real games and micro-benchmarks. As a first step, we present a study of mobile GPU graphics workload characterization for DVFS design considering performance and energy efficiency on a real smart-phone. We develop micro-benchmarks that stress specific stages of the graphics pipeline separately, and analyze the relationship between varying graphics workloads and resulting energy and performance of different mobile graphics pipeline stages. We then propose a simple yet effective strategy called Co-Cap (Cooperative Frequency-Capping), a cooperative CPU-GPU DVFS strategy that orchestrates energy-efficient CPU and GPU DVFS through coordinated CPU and GPU frequency capping to avoid frequency over-provisioning while maintaining desired performance. Furthermore, we propose a model-based DVFS design approach, a Hierarchical Finite State Machine (HFSM) based CPU-GPU governor that models the dynamic behavior of mobile gaming workloads, and applies a cooperative, dynamic CPU-GPU frequency-capping policy to yield energy efficiency adapting to the games' inherent dynamism. Finally, we present a machine learning enhanced integrated CPU-GPU governor that builds tree-based piecewise linear prediction models resulting in high accuracy and low complexity of cost functions using practical offline machine learning techniques, and integrate the models for online estimation into an integrated CPU-GPU DVFS governor applying piecewise policies based on the models. We demonstrate efficacy of our methodologies across over 100 real games and a few hundred custom micro-benchmarks, achieving substantial energy efficiency gains of up to 18% improvement in energy-per-frame over existing governor policies, with minimal loss in performance.