Lightweight graphics instrumentation for game state-specific power management in Android
Battery life is a major concern on portable devices like smartphones and tablet PCs. On these devices, games constitute the class of most popular applications and are at the same time highly compute-intensive. Every game consists of several states like the loading, main menu and the gaming state. Each of those states has its own workload characteristics, e.g., the loading phase is likely to be memory bound and the main menu state is less interactive than the gaming state. We propose an interception technique that allows to profile the game and detect its current state based on the games communication with the underlying OS. Current power management governors are unaware of the running applications and scale the processors voltage and frequency merely based on the systems utilization. We provide the games state information and workload profile to our governor which selects the processing frequency such that the desired frame rate of the current state is ensured. This leads to an optimal choice of processing frequencies and thereby significantly reduces power consumption. We have implemented the scheme on an Android-based Samsung Galaxy Nexus smartphone using popular games like Jetpack Joyride and Temple Run. We reduced the CPUs power consumption by up to 43.2% compared to the Android interactive governor without impacting the gaming experience. Motivated by these results we propose a power management API that would allow game developers to significantly reduce the power consumption of their game using simple API calls.
game power management android dvfs workload prediction