Energy Management of Applications With Varying Resource Usage on Smartphones - Mukherjee, Anway; Chantem, Thidapat (IEEE transactions on computer-aided design of integrated circuits and systems, 2018)
The split-screen mode in smartphones allows for the simultaneous side-by-side execution of multiple applications, which permits multitasking and improves users' experience. However, such technology results in simultaneously running multiple foreground processes, which increases the power consumption of a smartphone and reduces its battery lifetime. We present an integrated system-level resource management framework that aims to minimize the total energy consumption of a smartphone with negligible impact on the quality of service (QoS) of applications whose resource usage characteristics are not precisely known offline or vary over time. Our proposed solution: 1) leverages applications' offline profiles to detect instantaneous phase changes (i.e., dynamic changes in resource usage patterns) of the workload of a given application at runtime and 2) adaptively adjusts both voltage and frequency settings of the processor and memory bandwidth to achieve the most energy-efficient configuration subject to QoS constraints. Our approach is also able to progressively reduce the energy consumption of newly installed real-world applications for which there exists no prior resource usage data. Experiments on a Nexus 6 smartphone show that our approach achieves an average energy reduction of 23% (19%) and up to 31% (27%) compared to existing work (and default Android governor) for different combinations of real-world applications running side-by-side in split-screen mode. For applications with no prior resource usage data, the proposed framework saves up to 22% (18%) of energy within at most 14 s when compared to existing work (and default Android governor).