skip to main content
10.1145/3064176.3064206acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article
Public Access

GfxDoctor: A Holistic Graphics Energy Profiler for Mobile Devices

Published: 23 April 2017 Publication History

Abstract

Graphics is one of the major energy drain sources in smartphone apps. To optimize the app graphics energy, however, developers face the challenge of highly complex graphics rendering process, which involves multiple system layers including the app, the framework, the GPU, and the asynchronous interactions among them. Current diagnostic tools can profile the resource usage from certain layers, but fall short in stitching together profiling information across all the layers which is needed to provide developers with the visual effect-energy tradeoff at the app source-code level.
In this paper, we design and implement a holistic graphics energy diagnosis tool, GfxDoctor1, that helps developers to systematically diagnose energy inefficiencies in app graphics at the app source-code level, by precisely quantifying (1) the visual effect of each UI update, and (2) the aggregate energy drain spent in traversing the entire frame rendering stack due to each UI update. GfxDoctor overcomes three challenges faced in deriving per-UI-update visual effect and energy accounting, asynchrony across system layers, UI update batching, and "black-box" GPU, with two key techniques -- lightweight view-frame-ID-based information flow tracking, and OpenGL record-and-replay plus frame diffing. We show the effectiveness of GfxDoctor by profiling a randomly sampled set of 30 popular Android apps which reveals three types of graphics energy bugs happening in 8 out of the 30 apps. Removing these bugs reduces the app energy drain by 46% to 90%.

References

[1]
Apktool. https://ibotpeaches.github.io/Apktool/.
[2]
GPU Debugger. http://tools.android.com/tech-docs/gpu-profiler.
[3]
Hierarchy Viewer. https://developer.android.com/studio/profile/hierarchy-viewer.html.
[4]
Material Design for Android. https://developer.android.com/design/material/index.html.
[5]
OpenGL ES Tracer. https://developer.android.com/studio/profile/gltracer.html.
[6]
Profile GPU Rendering. https://developer.android.com/studio/profile/dev-options-rendering.html.
[7]
Systrace. https://developer.android.com/studio/profile/systrace-commandline.html.
[8]
Xcode OpenGL ES Tools. https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ToolsOverview/ToolsOverview.html.
[9]
P. Bielik, V. Raychev, and M. Vechev. Scalable race detection for android applications. In Proc. of OOPSLA, 2015.
[10]
Q. A. Chen, H. Luo, S. Rosen, Z. M. Mao, K. Iyer, J. Hui, K. Sontineni, and K. Lau. Qoe doctor: Diagnosing mobile app qoe with automated ui control and cross-layer analysis. In Proc. of IMC, 2014.
[11]
S. L. Graham, P. B. Kessler, and M. K. McKusick. gprof: A call graph execution profiler. In Proc. of ACM PLDI, 1982.
[12]
S. Hao, B. Liu, S. Nath, W. G. Halfond, and R. Govindan. Puma: Programmable ui-automation for large-scale dynamic analysis of mobile apps. In Proc. of MobiSys, 2014.
[13]
C.-H. Hsiao, J. Yu, S. Narayanasamy, Z. Kong, C. L. Pereira, G. A. Pokam, P. M. Chen, and J. Flinn. Race detection for event-driven mobile applications. In Proc. of PLDI, 2014.
[14]
G. Hu, X. Yuan, Y. Tang, and J. Yang. Efficiently, effectively detecting mobile app bugs with appdoctor. In Proc. of EuroSys, 2014.
[15]
C. H. P. Kim, D. Kroening, and M. Kwiatkowska. Static program analysis for identifying energy bugs in graphicsintensive mobile apps. In Proc. of MASCOTS, 2016.
[16]
Y. G. Kim, M. Kim, J. M. Kim, M. Sung, and S. W. Chung. A novel gpu power model for accurate smartphone power breakdown. ETRI Journal, 37(1):157--164, 2015.
[17]
K. Lee, J. Flinn, T. Giuli, B. Noble, and C. Peplin. Amc: Verifying user interface properties for vehicular applications. In Proc. of MobiSys, 2013.
[18]
M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk. Mining energy-greedy api usage patterns in android apps: An empirical study. In Proc. of MSR, 2014.
[19]
P. Maiya, A. Kanade, and R. Majumdar. Race detection for android applications. In Proc. of PLDI, 2014.
[20]
D. T. Milano. Android Application Testing Guide. Packt Publishing, 2011.
[21]
R. Mittal, A. Kansal, and R. Chandra. Empowering developers to estimate app energy consumption. In Proc. of ACM MobiCom, 2012.
[22]
C. Pang, A. Hindle, B. Adams, and A. E. Hassan. What do programmers know about software energy consumption? IEEE Software, 33(3):83--89, May 2016.
[23]
A. Pathak, Y. C. Hu, and M. Zhang. Where is the energy spent inside my app? fine grained energy accounting on smartphones with eprof. In Proc. of EuroSys, 2012.
[24]
L. Ravindranath, S. Nath, J. Padhye, and H. Balakrishnan. Automatic and scalable fault detection for mobile applications. In Proc. of MobiSys, 2014.
[25]
L. Ravindranath, J. Padhye, S. Agarwal, R. Mahajan, I. Obermiller, and S. Shayandeh. Appinsight: Mobile app performance monitoring in the wild. In Proc. of OSDI, 2012.
[26]
A. Shye, B. Scholbrock, and G. Memik. Into the wild: studying real user activity patterns to guide power optimizations for mobile architectures. In MICRO, 2009.
[27]
F. Xu, Y. Liu, Q. Li, and Y. Zhang. V-edge: Fast self-constructive power modeling of smartphones based on battery voltage dynamics. In Proc. of NSDI, 2013.
[28]
C. Yoon, D. Kim, W. Jung, C. Kang, and H. Cha. Appscope: Application energy metering framework for android smartphones using kernel activity monitoring. In Proc. of USENIX ATC, 2012.
[29]
L. Zhang, D. R. Bild, R. P. Dick, Z. M. Mao, and P. Dinda. Panappticon: Event-based tracing to measure mobile application and platform performance. In Proc. of CODES+ISSS, 2013.
[30]
L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. Dick, Z. Mao, and L. Yang. Accurate Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones. In Proc. of CODES+ISSS, 2010.

Cited By

View all
  • (2024)Resource-Aware Split Federated Learning for Edge Intelligence2024 IEEE 3rd Workshop on Machine Learning on Edge in Sensor Systems (SenSys-ML)10.1109/SenSys-ML62579.2024.00008(15-20)Online publication date: 13-May-2024
  • (2024)Towards energy-aware Federated Learning via collaborative computing approachComputer Communications10.1016/j.comcom.2024.04.012Online publication date: Apr-2024
  • (2023)Unveiling Energy Efficiency in Deep Learning: Measurement, Prediction, and Scoring across Edge DevicesProceedings of the Eighth ACM/IEEE Symposium on Edge Computing10.1145/3583740.3628442(80-93)Online publication date: 6-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '17: Proceedings of the Twelfth European Conference on Computer Systems
April 2017
648 pages
ISBN:9781450349383
DOI:10.1145/3064176
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 April 2017

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

EuroSys '17
Sponsor:
EuroSys '17: Twelfth EuroSys Conference 2017
April 23 - 26, 2017
Belgrade, Serbia

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)129
  • Downloads (Last 6 weeks)19
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Resource-Aware Split Federated Learning for Edge Intelligence2024 IEEE 3rd Workshop on Machine Learning on Edge in Sensor Systems (SenSys-ML)10.1109/SenSys-ML62579.2024.00008(15-20)Online publication date: 13-May-2024
  • (2024)Towards energy-aware Federated Learning via collaborative computing approachComputer Communications10.1016/j.comcom.2024.04.012Online publication date: Apr-2024
  • (2023)Unveiling Energy Efficiency in Deep Learning: Measurement, Prediction, and Scoring across Edge DevicesProceedings of the Eighth ACM/IEEE Symposium on Edge Computing10.1145/3583740.3628442(80-93)Online publication date: 6-Dec-2023
  • (2022)An Empirical Study on the Impact of Deep Parameters on Mobile App Energy Usage2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00103(844-855)Online publication date: Mar-2022
  • (2022)Can 5G mmWave Support Multi-user AR?Passive and Active Measurement10.1007/978-3-030-98785-5_8(180-196)Online publication date: 22-Mar-2022
  • (2021)Scrolling-Aware Rendering to Reduce Frame Rates on SmartphonesElectronics10.3390/electronics1017217710:17(2177)Online publication date: 6-Sep-2021
  • (2021)AutoFL: Enabling Heterogeneity-Aware Energy Efficient Federated LearningMICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3466752.3480129(183-198)Online publication date: 18-Oct-2021
  • (2019)A Case for Lease-Based, Utilitarian Resource Management on Mobile DevicesProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304057(301-315)Online publication date: 4-Apr-2019
  • (2019)Software Energy Measurement at Different Levels of Granularity2019 International Conference on Computer and Information Sciences (ICCIS)10.1109/ICCISci.2019.8716456(1-6)Online publication date: Apr-2019
  • (2019)Delayed Wake-Up Mechanism Under Suspend Mode of SmartphoneMethionine Dependence of Cancer and Aging10.1007/978-3-030-12981-1_24(346-355)Online publication date: 7-Feb-2019

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media