Application-Specific Performance-Aware Energy Optimization on Android Mobile Devices

Energy management is a key issue for mobile devices. On current Android devices, power management relies heavily on OS modules known as governors. These modules are created for various hardware components, including the CPU, to support DVFS. They implement algorithms that attempt to balance performance and power consumption. In this paper we make the observation that the existing governors are (1) general-purpose by nature (2) focused on power reduction and (3) are not energy-optimal for many applications. We thus establish the need for an application-specific approach that could overcome these drawbacks and provide higher energy efficiency for suitable applications. We also show that existing methods manage power and performance in an independent and isolated fashion and that co-ordinated control of multiple components can save more energy. In addition, we note that on mobile devices, energy savings cannot be achieved at the expense of performance. Consequently, we propose a solution that minimizes energy consumption of specific applications while maintaining a user-specified performance target. Our solution consists of two stages: (1) offline profiling and (2) online controlling. Utilizing the offline profiling data of the target application, our control theory based online controller dynamically selects the optimal system configuration (in this paper, combination of CPU frequency and memory bandwidth) for the application, while it is running. Our energy management solution is tested on a Nexus 6 smartphone with 6 real-world applications. We achieve 4 - 31% better energy than default governors with a worst case performance loss of

[1]  Margaret Martonosi,et al.  Live, Runtime Phase Monitoring and Prediction on Real Systems with Application to Dynamic Power Management , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[2]  Chin-Feng Lai,et al.  Energy efficient video decoding for the Android operating system , 2013, 2013 IEEE International Conference on Consumer Electronics (ICCE).

[3]  Sudhakar Yalamanchili,et al.  A power capping controller for multicore processors , 2012, 2012 American Control Conference (ACC).

[4]  Sudhakar Yalamanchili,et al.  Temperature regulation in multicore processors using adjustable-gain integral controllers , 2015, 2015 IEEE Conference on Control Applications (CCA).

[5]  Thomas F. Wenisch,et al.  CoScale: Coordinating CPU and Memory System DVFS in Server Systems , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[6]  Tharindu Patikirikorala,et al.  Feedback controllers in the cloud , 2010, APSEC 2010.

[7]  Chantal Ykman-Couvreur,et al.  Linking run-time resource management of embedded multi-core platforms with automated design-time exploration , 2011, IET Comput. Digit. Tech..

[8]  Ronald G. Dreslinski,et al.  Full-system analysis and characterization of interactive smartphone applications , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).

[9]  Carole-Jean Wu,et al.  Performance, energy characterizations and architectural implications of an emerging mobile platform benchmark suite - MobileBench , 2013, 2013 IEEE International Symposium on Workload Characterization (IISWC).

[10]  Sudhakar Yalamanchili,et al.  Throughput Regulation in Shared Memory Multicore Processors , 2015, 2015 IEEE 22nd International Conference on High Performance Computing (HiPC).

[11]  Benjamin C. Kuo,et al.  AUTOMATIC CONTROL SYSTEMS , 1962, Universum:Technical sciences.

[12]  Po-Ting Lai,et al.  Design and Implementation of a Critical Speed-Based DVFS Mechanism for the Android Operating System , 2010, 2010 5th International Conference on Embedded and Multimedia Computing.

[13]  Brad Calder,et al.  Structures for phase classification , 2004, IEEE International Symposium on - ISPASS Performance Analysis of Systems and Software, 2004.

[14]  Margaret Martonosi,et al.  An Analysis of Efficient Multi-Core Global Power Management Policies: Maximizing Performance for a Given Power Budget , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[15]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[16]  Rizwana Begum,et al.  Energy-Performance Trade-offs on Energy-Constrained Devices with Multi-component DVFS , 2015, 2015 IEEE International Symposium on Workload Characterization.

[17]  Howard M. Schwartz,et al.  Analysis of the Kalman filter based estimation algorithm: an orthogonal decomposition approach , 2004, Autom..

[18]  André L. M. Santos,et al.  Dynamic frequency scaling on android platforms for energy consumption reduction , 2013, PM2HW2N '13.

[19]  Li Shen,et al.  PPEP: Online Performance, Power, and Energy Prediction Framework and DVFS Space Exploration , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[20]  Sudhakar Yalamanchili,et al.  Harmonia: Balancing compute and memory power in high-performance GPUs , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[21]  Patrick Mochel The sysfs Filesystem , 2005 .