Skip to main content

Advertisement

Log in

Smartphone processor architecture, operations, and functions: current state-of-the-art and future outlook: energy performance trade-off

Energy–performance trade-off for smartphone processors

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Balancing energy–performance trade-offs for smartphone processor operations is undergoing intense research considering the challenges with the evolving technology of mobile computing. However, to guarantee energy-efficient processor operation, layout, and architecture, it is necessary to identify and integrate optimization techniques and parameters influencing energy–performance trade-off in various processor activity domains. Existing literature on energy optimization in smartphones focuses primarily on individual sub-domains such as OS, GPU, and cloud offloading methods. It reflects multiple smartphone processor activities domains as being the most discussed but less integrated. Through this study, we intend to provide the current state-of-the-art energy optimization techniques for smartphone processor operations. It also classifies multiple energy-draining processor operations along with their thorough discussion of methodologies and popular optimization techniques. The study models smartphone processor sub-components highlighting conventional techniques and performance parameters among its varied domains affecting the device’s energy performance along with significant energy drain minimization without any serious performance degradation. The study analyzes these approaches in the context of applicability, performance, and expected future demands along with revealing limitations of those approaches and open research issues prevailing in the available literature. Finally, we conclude our study by summarizing the current state of the art for smartphone processor activities power consumption.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. http://powertutor.org/.

  2. http://www.nvidia.in/content/PDF/tegra_white_papers/Benefits-of-Multi-core-CPUs-in-Mobile-Devices_Ver1.2.pdf.

  3. https://www.geforce.com/hardware/desktop-gpus/geforce-gtx-480/architecture.

  4. NVIDIA. 2009. Whitepaper: NVIDIA’s Next Generation CUDATM Compute Architecture: FermiTM. Technical Report. NVIDIA.

  5. https://developer.android.com/studio/write/lint.html/.

  6. https://www.networkworld.com/article/3185766/security/malware-infection-rate-of-smartphones-is-soaring-android-devices-often-the-target.html.

  7. https://www.klocwork.com/products-services/klocwork/static-code-analysis.

  8. http://findbugs.sourceforge.net/.

  9. http://obm.org/content/smartphones-known-bugs/.

  10. https://techcrunch.com/2017/03/03/u-s-consumers-now-spend-5-hours-per-day-on-mobile-devices/.

  11. https://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/.

  12. https://www.tensorflow.org/lite.

  13. https://github.com/caffe2/caffe2.

  14. https://developer.apple.com/documentation/coreml.

  15. https://github.com/Tencent/ncnn.

  16. https://github.com/baidu/mobile-deep-learning.

References

  1. Abdel-Majeed M, Wong D, Annavaram M (2013) Warped gates: gating aware scheduling and power gating for GPGPUs. In: 2013 46th annual IEEE/ACM international symposium on microarchitecture (MICRO), IEEE, pp 111–122

  2. Aghilinasab H, Sadrosadat M, Samavatian MH, Sarbazi-Azad H (2016) Reducing power consumption of GPGPUs through instruction reordering. In: Proceedings of the 2016 international symposium on low power electronics and design, pp 356–361

  3. Ahmad RW, Gani A, Ab Hamid SH, Naveed A, Ko K, Rodrigues JJ (2016) A case and framework for code analysis-based smartphone application energy estimation. Int J Commun Syst 30(10):3235

    Google Scholar 

  4. Ali FA, Simoens P, Verbelen T, Demeester P, Dhoedt B (2016) Mobile device power models for energy efficient dynamic offloading at runtime. J Syst Softw 113:173–187

    Google Scholar 

  5. Altamimi M, Palit R, Naik K, Nayak A (2012) Energy-as-a-service (eaas): On the efficacy of multimedia cloud computing to save smartphone energy. In: 2012 IEEE 5th International Conference on Cloud Computing (CLOUD), IEEE, pp 764–771

  6. Álvarez JD, Risco-Martín JL, Colmenar JM (2016) Multi-objective optimization of energy consumption and execution time in a single level cache memory for embedded systems. J Syst Softw 111:200–212

    Google Scholar 

  7. Anh DTT, Ganjoo M, Braghin S, Datta A (2014) Mosco: a privacy-aware middleware for mobile social computing. J Syst Softw 92:20–31

    Google Scholar 

  8. Android Lint Checks (2017) https://sites.google.com/a/android.com/tools/tips/lint-checks/. Accessed August-2017

  9. Arndt OJ, Linde T, Blume H (2015) Implementation and analysis of the histograms of oriented Gradients algorithm on a heterogeneous multicore CPU/GPU architecture. In: 2015 IEEE Global Conference on Signal and Information Processing (GlobalSIP), IEEE, pp 1402–1406

  10. Arnold M, Vechev M, Yahav E (2011) QVM: An efficient runtime for detecting defects in deployed systems. ACM Trans Softw Eng Methodol (TOSEM) 21(1):2

    Google Scholar 

  11. Badampudi D, Wohlin C, Petersen K (2015) Experiences from using snowballing and database searches in systematic literature studies. In: Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, ACM, p 17

  12. Banerjee A, Guo HF, Roychoudhury A (2016) Debugging energy-efficiency related field failures in mobile apps. In: Proceedings of the international workshop on mobile software engineering and systems, ACM, pp 127–138

  13. Barros CA, Silveira LFQ, Valderrama CA, Xavier-de Souza S (2015) Optimal processor dynamic-energy reduction for parallel workloads on heterogeneous multi-core architectures. Microprocess Microsyst 39(6):418–425

    Google Scholar 

  14. Behroozi S, Li J, Melchert J, Kim Y (2019) SAADI: a scalable accuracy approximate divider for dynamic energy-quality scaling. In: Proceedings of the 24th Asia and South Pacific Design Automation Conference, pp 481–486

  15. Bertolino A (2007) Software testing research: achievements, challenges, dreams. In: 2007 future of software engineering, IEEE Computer Society, pp 85–103

  16. Biswas A, Fujimoto R (2016) Profiling energy consumption in distributed simulations. In: Proceedings of the 2016 Annual ACM Conference on SIGSIM Principles of Advanced Discrete Simulation, ACM, pp 201–209

  17. Bläsing T, Batyuk L, Schmidt AD, Camtepe SA, Albayrak S (2010) An android application sandbox system for suspicious software detection. In: 2010 5th International Conference on Malicious and Unwanted Software (MALWARE), IEEE, pp 55–62

  18. Boukerche A, Guan S, De Grande RE (2018) A task-centric mobile cloud-based system to enable energy-aware efficient offloading. IEEE Trans Sustain Comput 3(4):248–361

    Google Scholar 

  19. Bruce BR, Petke J, Harman M (2015) Reducing energy consumption using genetic improvement. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, ACM, pp 1327–1334

  20. Canfora G, Martinelli F, Mercaldo F, Nardone V, Santone A, Visaggio CA (2018) LEILA: formaL tool for idEntifying mobIle maLicious behAviour. IEEE Trans Softw Eng 45(12):1230–1252

    Google Scholar 

  21. Canfora G, Medvet E, Mercaldo F, Visaggio CA (2016) Acquiring and analyzing app metrics for effective mobile malware detection. In: Proceedings of the 2016 ACM on international workshop on security and privacy analytics, ACM, pp 50–57

  22. Carção TA (2014) Spectrum-based energy leak localization. Ph.D. thesis

  23. Carette A, Younes MAA, Hecht G, Moha N, Rouvoy R (2017) Investigating the energy impact of android smells. In: IEEE 24rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)

  24. Carroll A, Heiser G (2014) Mobile multicores: use them or waste them. ACM SIGOPS Oper Syst Rev 48(1):44–48

    Google Scholar 

  25. Carroll A, Heiser G (2014) Unifying DVFS and offlining in mobile multicores. In: 2014 IEEE 20th real-time and embedded technology and applications symposium (RTAS), IEEE, pp 287–296

  26. Carroll A, Heiser G et al (2010) An analysis of power consumption in a smartphone. In: USENIX Annual Technical Conference, Boston, MA, vol 14, pp 21–21

  27. Carvalho SA, Cunha DC, Silva-Filho AG (2016) On the use of nonlinear methods for low-power cpu frequency prediction based on android context variables. In: 2016 IEEE 15th international symposium on network computing and applications (NCA), IEEE, pp 250–253

  28. Carvalho SA, Cunha DC, Silva-Filho AG (2019) Autonomous power management in mobile devices using dynamic frequency scaling and reinforcement learning for energy minimization. Microprocess Microsyst 64:205–220

    Google Scholar 

  29. Chang YM, Hsiu PC, Chang YH, Chang CW (2013) A resource-driven dvfs scheme for smart handheld devices. ACM Trans Embed Comput Syst (TECS) 13(3):53

    Google Scholar 

  30. Chen G, Kang BT, Kandemir M, Vijaykrishnan N, Irwin MJ, Chandramouli R (2004) Studying energy trade offs in offloading computation/compilation in java-enabled mobile devices. IEEE Trans Parallel Distrib Syst 15(9):795–809

    Google Scholar 

  31. Chen H, Luo B, Shi W (2012) Anole: a case for energy-aware mobile application design. In: 2012 41st International Conference on Parallel Processing Workshops (ICPPW), IEEE, pp 232–238

  32. Chen WM, Cheng SW, Hsiu PC, Kuo TW (2015) A user-centric CPU-GPU governing framework for 3D games on mobile devices. In: 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), IEEE, pp 224–231

  33. Chen X, Jindal A, Ding N, Hu YC, Gupta M, Vannithamby R (2015) Smartphone background activities in the wild: origin, energy drain, and optimization. In: Proceedings of the 21st Annual International Conference on Mobile Computing and Networking, ACM, pp 40–52

  34. Chen X, Jindal A, Hu YC (2013) How much energy can we save from prefetching ads? Energy drain analysis of top 100 apps. In: Proceedings of the workshop on power-aware computing and systems, ACM, p 3

  35. Chen X, Zong Z (2016) Android app energy efficiency: the impact of language, runtime, compiler, and implementation. In: 2016 IEEE International Conferences on Big Data and Cloud Computing (BDCloud), Social Computing and Networking (SocialCom), Sustainable Computing and Communications (SustainCom) (BDCloud-SocialCom-SustainCom), IEEE, pp 485–492

  36. Cheng KT, Wang YC (2011) Using mobile GPU for general-purpose computing—a case study of face recognition on smartphones. In: 2011 international symposium on VLSI design, automation and test (VLSI-DAT), IEEE, pp 1–4

  37. Chippa VK, Chakradhar ST, Roy K, Raghunathan A (2013) Analysis and characterization of inherent application resilience for approximate computing. In: Proceedings of the 50th Annual Design Automation Conference, pp 1–9

  38. Choi J, Jung B, Choi Y, Son S (2017) An adaptive and integrated low-power framework for multicore mobile computing. In: Mobile information systems

  39. Choi K, Dantu K, Cheng WC, Pedram M (2002) Frame-based dynamic voltage and frequency scaling for a mpeg decoder. In: Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided Design, ACM, pp 732–737

  40. Choi Y, Park S, Cha H (2019) Graphics-aware power governing for mobile devices. In: Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services, ACM, pp 469–481

  41. Chu SL, Hsiao CC, Hsieh CC (2011) An energy-efficient unified register file for mobile GPUs. In: 2011 IFIP 9th International Conference on Embedded and Ubiquitous Computing (EUC), IEEE, pp 166–173

  42. Chwa HS, Seo J, Yoo H, Lee J, Shin I (2014) Energy and feasibility optimal global scheduling framework on big.LITTLE platforms. Department of Computer Science, KAIST and Department of Computer Science and Engineering, Sungkyunkwan University, Republic of Korea, Tech. Rep

  43. Corral L, Georgiev AB, Sillitti A, Succi G (2014) Can execution time describe accurately the energy consumption of mobile apps? An experiment in android. In: Proceedings of the 3rd international workshop on green and sustainable software, ACM, pp 31–37

  44. Couto M, Carção T, Cunha J, Fernandes JP, Saraiva J (2014) Detecting anomalous energy consumption in android applications. In: Brazilian symposium on programming languages, Springer, pp 77–91

  45. Cruz L, Abreu R (2017) Performance-based guidelines for energy efficient mobile applications. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), IEEE, pp 46–57

  46. Cruz L, Abreu R (2019) Catalog of energy patterns for mobile applications. In: Empirical software engineering, pp 1–27

  47. Dash SK, Suarez-Tangil G, Khan S, Tam K, Ahmadi M, Kinder J, Cavallaro L (2016) Droidscribe: classifying android malware based on runtime behavior. In: 2016 IEEE security and privacy workshops (SPW), IEEE, pp 252–261

  48. de la Guia Solaz M, Han W, Conway R (2012) A flexible low power DSP with a programmable truncated multiplier. IEEE Trans Circuits Syst I Regul Pap 59(11):2555–2568

    MathSciNet  Google Scholar 

  49. De Carvalho SAL, Da Cunha DC, Da Silva-Filho AG (2017) Autonomous power management for embedded systems using a non-linear power predictor. In: 2017 Euromicro Conference on Digital System Design (DSD), IEEE, pp 22–29

  50. De Sensi D, Torquati M, Danelutto M (2016) A reconfiguration algorithm for power-aware parallel applications. ACM Trans Archit Code Optim (TACO) 13(4):43

    Google Scholar 

  51. Deyannis D, Tsirbas R, Vasiliadis G, Montella R, Kosta S, Ioannidis S (2018) Enabling GPU-assisted antivirus protection on android devices through edge offloading. In: Proceedings of the 1st international workshop on edge systems, analytics and networking, ACM, pp 13–18

  52. Dong M, Zhong L (2011) Self-constructive high-rate system energy modeling for battery-powered mobile systems. In: Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, ACM, pp 335–348

  53. Du Y, Haezebrouck S, Cui J, Muralidhar R, Seshadri H, Rudramuni V, Chalhoub N, Chua Y, Quinzio R (2016) Taskfolder: dynamic and fine-grained workload consolidation for mobile devices. In: Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services, ACM, pp 137–149

  54. Dzhagaryan A, Milenković A, Milosevic M, Jovanov E (2016) An environment for automated measurement of energy consumed by mobile and embedded computing devices. Measurement 94:103–118

    Google Scholar 

  55. D’Ambrosio S, De Pasquale S, Iannone G, Malandrino D, Negro A, Patimo G, Scarano V, Spinelli R (2016) Energy consumption and privacy in mobile web browsing: individual issues and connected solutions. Sustain Comput Informat Syst 11:63–79

    Google Scholar 

  56. Enck W, Gilbert P, Han S, Tendulkar V, Chun BG, Cox LP, Jung J, McDaniel P, Sheth AN (2014) Taintdroid: an information-flow tracking system for realtime privacy monitoring on smartphones. ACM Trans Comput Syst (TOCS) 32(2):5

    Google Scholar 

  57. Fan L, Su T, Chen S, Meng G, Liu Y, Xu L, Pu G, Su Z (2018) Large-scale analysis of framework-specific exceptions in android apps. ArXiv preprint arXiv:1801.07009

  58. Faruki P, Bhandari S, Laxmi V, Gaur M, Conti M (2016) Droidanalyst: Synergic app framework for static and dynamic app analysis. In: Recent advances in computational intelligence in defense and security, Springer, pp 519–552

  59. Feizollah A, Anuar NB, Salleh R, Suarez-Tangil G, Furnell S (2017) Androdialysis: analysis of android intent effectiveness in malware detection. Comput Secur 65:121–134

    Google Scholar 

  60. Ferrari A, Gallucci D, Puccinelli D, Giordano S (2015) Detecting energy leaks in android app with POEM. In: 2015 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom Workshops), IEEE, pp 421–426

  61. Ferrari A, Puccinelli D, Giordano S (2016) Code mobility for on-demand computational offloading. In: 2016 IEEE 17th international symposium on a world of wireless, mobile and multimedia networks (WoWMoM), IEEE, pp 1–6

  62. Flinn J, Satyanarayanan M (2004) Managing battery lifetime with energy-aware adaptation. ACM Trans Comput Syst (TOCS) 22(2):137–179

    Google Scholar 

  63. Gajaria D, Adegbija T (2019) ARC: DVFS-aware asymmetric-retention STT-RAM caches for energy-efficient multicore processors. In: Proceedings of the international symposium on memory systems, pp 439–450

  64. Gaudette B, Wu CJ, Vrudhula S (2016) Improving smartphone user experience by balancing performance and energy with probabilistic qos guarantee. In: 2016 IEEE international symposium on high performance computer architecture (HPCA), IEEE, pp 52–63

  65. Georgiev P, Lane ND, Rachuri KK, Mascolo C (2016) LEO: scheduling sensor inference algorithms across heterogeneous mobile processors and network resources. In: Proceedings of the Annual International Conference on Mobile Computing and Networking, MOBICOM, CONFCODE, ACM, pp 320–333

  66. Ghanavati M, Andrzejak A (2015) Automated memory leak diagnosis by regression testing. In: 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM), IEEE, pp 191–200

  67. Ghasemazar M, Pakbaznia E, Pedram M (2010) Minimizing energy consumption of a chip multiprocessor through simultaneous core consolidation and DVFS. In: Proceedings of 2010 IEEE international symposium on circuits and systems (ISCAS), IEEE, pp 49–52

  68. Gómez M, Rouvoy R, Monperrus M, Seinturier L (2015) A recommender system of buggy app checkers for app store moderators. In: 2015 2nd ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft), IEEE, pp 1–11

  69. Gong X, Liu W, Zhang J, Xu H, Zhao W, Liu C (2016) Wwof: an energy efficient offloading framework for mobile webpage. In: Proceedings of the 13th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services, ACM, pp 160–169

  70. Gottschalk M, Jelschen J, Winter A (2016) Refactorings for energy-efficiency. In: Advances and new trends in environmental and energy informatics, Springer, pp 77–96

  71. Grillo A, Lentini A, Me G (2011) Mobile information warfare: a countermeasure to privacy leaks based on securemydroid. In: Information technology and innovation trends in organizations. Springer, New York, pp 461–468

    Google Scholar 

  72. Gu Y, Chakraborty S (2008) Power management of interactive 3D games using frame structures. In: 21st International Conference on VLSI Design, 2008. VLSID 2008. IEEE, pp 679–684

  73. Gui J, Li D, Wan M, Halfond WG (2016) Lightweight measurement and estimation of mobile ad energy consumption. In: Proceedings of the 5th international workshop on green and sustainable software, ACM, pp 1–7

  74. Gui J, Mcilroy S, Nagappan M, Halfond WG (2015) Truth in advertising: the hidden cost of mobile ads for software developers. In: Proceedings of the 37th International Conference on Software Engineering, IEEE Press, Vol 1, pp 100–110

  75. Guo C, Zhang J, Yan J, Zhang Z, Zhang Y (2013) Characterizing and detecting resource leaks in android applications. In: 2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), IEEE, pp 389–398

  76. Hallis F, Holmbacka S, Lund W, Slotte R, Lafond S, Lilius J (2013) Thermal influence on the energy efficiency of workload consolidation in many-core architectures. In: 2013 24th Tyrrhenian international workshop on digital communications-green ICT (TIWDC), IEEE, pp 1–6

  77. Hamers J, Eeckhout L (2012) Exploiting media stream similarity for energy-efficient decoding and resource prediction. ACM Trans Embed Comput Syst (TECS) 11(1):2

    Google Scholar 

  78. Hao S, Li D, Halfond WG, Govindan R (2013) Estimating mobile application energy consumption using program analysis. In: 2013 35th International Conference on Software Engineering (ICSE), IEEE, pp 92–101

  79. Hassan MM, Zhao M, Son Sh, Lee Hs, Kim Hg, Jang B (2015) A low power and high performance face detection on mobile gpu. In: 5th International Conference on Energy Aware Computing Systems & Applications, IEEE, pp 1–4

  80. Heath T, Pinheiro E, Hom J, Kremer U, Bianchini R (2004) Code transformations for energy-efficient device management. IEEE Trans Comput 53(8):974–987

    Google Scholar 

  81. Hecht G, Benomar O, Rouvoy R, Moha N, Duchien L (2015) Tracking the software quality of android applications along their evolution (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), IEEE, pp 236–247

  82. Henry GG, Parks T, Hooker RE (2019) Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction. US Patent 10,235,232

  83. Hong L, Qian J, Cui J (2014) Automated unit-level testing of Java memory leaks. Comput Model New Technol 18(11)

  84. Hu C, Neamtiu I (2011) A GUI bug finding framework for android applications. In: Proceedings of the 2011 ACM symposium on applied computing, ACM, pp 1490–1491

  85. Hu Y, Neamtiu I (2016) Fuzzy and cross-app replay for smartphone apps. In: Proceedings of the 11th international workshop on automation of software test, ACM, pp 50–56

  86. Huang G, Cai H, Swiech M, Zhang Y, Liu X, Dinda P (2017) Delaydroid: an instrumented approach to reducing tail-time energy of android apps. Sci China Inf Sci 60(1):012106

    Google Scholar 

  87. Huang J, Qian F, Mao ZM, Sen S, Spatscheck O (2012) Screen-off traffic characterization and optimization in 3g/4g networks. In: Proceedings of the 2012 ACM Conference on Internet Measurement Conference, ACM, pp 357–364

  88. Huang P, Xu T, Jin X, Zhou Y (2016) DefDroid: towards a more defensive mobile OS against disruptive app behavior. In: Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services, ACM, pp 221–234

  89. Hussein A, Payer M, Hosking AL, Vick C (2017) One process to reap them all: garbage collection as-a-service. In: Submission to the ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, vol 17

  90. Hwang C, Pushp S, Koh C, Yoon J, Liu Y, Choi S, Song J (2017) RAVEN: perception-aware optimization of power consumption for mobile games. In: Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking, ACM, pp 422–434

  91. Imes C, Kim DH, Maggio M, Hoffmann H (2015) POET: a portable approach to minimizing energy under soft real-time constraints. In: 2015 IEEE real-time and embedded technology and applications symposium (RTAS), IEEE, pp 75–86

  92. Imes C, Kim DH, Maggio M, Hoffmann H (2016) Portable multicore resource management for applications with performance constraints. In: 2016 IEEE 10th international symposium on embedded multicore/many-core systems-on-Chip (MCSoC), IEEE, pp. 305–312

  93. Isidro-Ramirez R, Viveros AM, Rubio EH (2015) Energy consumption model over parallel programs implemented on multicore architectures. Int J Adv Comput Sci Appl (IJACSA) 6(6):21

    Google Scholar 

  94. Jabbarvand R, Sadeghi A, Bagheri H, Malek S (2016) Energy-aware test-suite minimization for android apps. In: Proceedings of the 25th international symposium on software testing and analysis, ACM, pp 425–436

  95. Jabbarvand R, Sadeghi A, Garcia J, Malek S, Ammann P (2015) Ecodroid: An approach for energy-based ranking of android apps. In: Proceedings of the fourth international workshop on green and sustainable software, IEEE Press, pp 8–14

  96. Jafri SM, Ozbag O, Farahini N, Paul K, Hemani A, Plosila J, Tenhunen H (2015) Architecture and implementation of dynamic parallelism, voltage and frequency scaling (PVFS) on CGRAs. ACM J Emerg Technol Comput Syst (JETC) 11(4):40

    Google Scholar 

  97. Jasemi M, Hessabi S, Bagherzadeh N (2020) Reliable and energy efficient MLC STT-RAM buffer for CNN accelerators. arXiv preprint arXiv:2001.08806

  98. Jiang H, Liu L, Lombardi F, Han J (2018) Adaptive approximation in arithmetic circuits: a low-power unsigned divider design. In: 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE), IEEE, pp 1411–1416

  99. Jump M, McKinley KS (2007) Cork: dynamic memory leak detection for garbage-collected languages. In: Acm Sigplan Notices, ACM, vol 42, pp 31–38

  100. Jun M, Sheng L, Shengtao Y, Xianping T, Jian L (2017) LeakDAF: an automated tool for detecting leaked activities and fragments of android applications. In: 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), IEEE, vol 1, pp 23–32

  101. Karbab EB, Debbabi M, Derhab A, Mouheb D (2017) Android Malware detection using deep learning on API method sequences. ArXiv preprint arXiv:1712.08996

  102. Kayaalp M, Khasawneh KN, Esfeden HA, Elwell J, Abu-Ghazaleh N, Ponomarev D, Jaleel A (2017) RIC: relaxed inclusion caches for mitigating llc side-channel attacks. In: 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC), IEEE, pp 1–6

  103. Kayiran O, Jog A, Pattnaik A, Ausavarungnirun R, Tang X, Kandemir MT, Loh GH, Mutlu O, Das CR (2016) \(\mu\)C-States: fine-grained GPU datapath power management. In: 2016 International Conference on Parallel Architecture and Compilation Techniques (PACT), IEEE, pp 17–30

  104. Keramidas G, Kokkala C, Stamoulis I (2015) Clumsy value cache: an approximate memoization technique for mobile GPU fragment shaders. In: Workshop on approximate computing (WAPCO’15)

  105. Kim K, Cha H (2013) Wakescope: Runtime wakelock anomaly management scheme for Android platform. In: 2013 Proceedings of the International Conference on Embedded Software (EMSOFT), IEEE, pp 1–10

  106. Kim NS, Flautner K, Blaauw D, Mudge T (2002) Drowsy instruction caches. leakage power reduction using dynamic voltage scaling and cache sub-bank prediction. In: 35th Annual IEEE/ACM international symposium on microarchitecture, 2002 (MICRO-35). Proceedings, IEEE, pp 219–230

  107. Kremer U, Hicks J, Rehg J (2001) A compilation framework for power and energy management on mobile computers. In: International workshop on languages and compilers for parallel computing, Springer, pp 115–131

  108. Krishnan DR, Quoc DL, Bhatotia P, Fetzer C, Rodrigues R (2016) Incapprox: a data analytics system for incremental approximate computing. In: Proceedings of the 25th International Conference on World Wide Web, pp 1133–1144

  109. Kuan K, Adegbija T (2019) Energy-efficient runtime adaptable L1 STT-RAM cache design. IEEE Trans Comput Aid Des Integr Circuits Syst. https://doi.org/10.1109/TCAD.2019.2912920

    Article  MATH  Google Scholar 

  110. Kuan K, Adegbija T (2019) Halls: an energy-efficient highly adaptable last level STT-RAM cache for multicore systems. IEEE Trans Comput 68(11):1623–1634

    MathSciNet  MATH  Google Scholar 

  111. Kulkarni P, Gupta P, Ercegovac M (2011) Trading accuracy for power with an underdesigned multiplier architecture. In: 2011 24th Internatioal Conference on VLSI Design, IEEE, pp 346–351

  112. Kültürsay E, Kandemir M, Sivasubramaniam A, Mutlu O (2013) Evaluating STT-RAM as an energy-efficient main memory alternative. In: 2013 IEEE international symposium on performance analysis of systems and software (ISPASS), IEEE, pp 256–267

  113. Lane ND, Bhattacharya S, Georgiev P, Forlivesi C, Jiao L, Qendro L, Kawsar F (2016) Deepx: a software accelerator for low-power deep learning inference on mobile devices. In: Proceedings of the 15th International Conference on Information Processing in Sensor Networks, IEEE Press, p 23

  114. Latifi Oskouei SS, Golestani H, Hashemi M, Ghiasi S (2016) CNNdroid: GPU-accelerated execution of trained deep convolutional neural networks on android. In: Proceedings of the 2016 ACM on Multimedia Conference, ACM, pp 1201–1205

  115. Lee J, Choi K, Kim Y, Han H, Kang S (2016) Exploiting remote GPGPU in mobile devices. Clust Comput 19(3):1571–1583

    Google Scholar 

  116. Leng J, Hetherington T, ElTantawy A, Gilani S, Kim NS, Aamodt TM, Reddi VJ (2013) GPUWattch: enabling energy optimizations in GPGPUs. ACM SIGARCH Comput Archit News 41(3):487–498

    Google Scholar 

  117. Li D, Halfond WG (2014) An investigation into energy-saving programming practices for android smartphone app development. In: Proceedings of the 3rd international workshop on green and sustainable software, ACM, pp 46–53

  118. Li D, Lyu Y, Gui J, Halfond WG (2016) Automated energy optimization of HTTP requests for mobile applications. In: Proceedings of the 38th International Conference on Software Engineering, ACM, pp 249–260

  119. Li S, Mishra S (2016) Optimizing power consumption in multicore smartphones. J Parallel Distrib Comput 95:124–137

    Google Scholar 

  120. Li X, Gallagher JP (2016) A source-level energy optimization framework for mobile applications. In: 2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), IEEE, pp 31–40

  121. Li X, Gallagher JP (2016) An energy-aware programming approach for mobile application development guided by a fine-grained energy model. ArXiv preprint arXiv:1605.05234

  122. Li Y, Chen H, Shi W (2014) Power behavior analysis of mobile applications using bugu. Sustain Comput Informat Syst 4(3):183–195

    Google Scholar 

  123. Li Z, Wang C, Xu R (2001) Computation offloading to save energy on handheld devices: a partition scheme. In: Proceedings of the 2001 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, ACM, pp 238–246

  124. Li Z, Wang C, Xu R (2001) Task allocation for distributed multimedia processing on wirelessly networked handheld devices. In: Proceedings International, IPDPS 2002, Abstracts and CD-ROM Parallel and Distributed Processing Symposium, IEEE, p 6

  125. Li Z, Xu R (2002) Energy impact of secure computation on a handheld device. In: 2002 IEEE international workshop on workload characterization, 2002. WWC-5, IEEE, pp 109–117

  126. Liang Y, Wang S (2016) Performance-centric optimization for racetrack memory based register file on GPUs. J Comput Sci Technol 31(1):36–49

    MathSciNet  Google Scholar 

  127. Lin CC, Syu YC, Chang CJ, Wu JJ, Liu P, Cheng PW, Hsu WT (2015) Energy-efficient task scheduling for multi-core platforms with per-core DVFS. J Parallel Distrib Comput 86:71–81

    Google Scholar 

  128. Lin SY, King CT (2019) User-centered context-aware cpu/gpu power management for interactive applications on smartphones. In: Proceedings of the 16th ACM International Conference on Computing Frontiers, ACM, pp 247–250

  129. Lindorfer M, Neugschwandtner M, Platzer C (2015) Marvin: efficient and comprehensive mobile app classification through static and dynamic analysis. In: 2015 IEEE 39th Annual Computer Software and Applications Conference (COMPSAC), IEEE vol 2, pp 422–433

  130. Liu J, Wu T, Yan J, Zhang J (2016) Fixing resource leaks in android apps with light-weight static analysis and low-overhead instrumentation. In: 2016 IEEE 27th international symposium on software reliability engineering (ISSRE), IEEE, pp 342–352

  131. Liu L, Yan G, Zhang X, Chen S (2009) Virusmeter: preventing your cellphone from spies. In: International workshop on recent advances in intrusion detection, Springer, pp 244–264

  132. Liu X, Shenoy P, Corner M (2004) Chameleon: application controlled power management with performance isolation. Tech. Rep., Technical Report 04-26, Department of Computer Science University of Massachusetts

  133. Liu Y, Wei L, Xu C, Cheung SC (2016) DroidLeaks: benchmarking resource leak bugs for android applications. ArXiv preprint arXiv:1611.08079

  134. Liu Y, Xiao M, Zhang M, Li X, Dong M, Ma Z, Li Z, Chen S (2016) GoCAD: GPU-assisted online content-adaptive display power saving for mobile devices in internet streaming. In: Proceedings of the 25th International Conference on World Wide Web, pp. 1329–1338. International World Wide Web Conferences Steering Committee

  135. Lu Q, Wu T, Yan J, Yan J, Ma F, Zhang F (2016) Lightweight method-level energy consumption estimation for android applications. In: 2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE), IEEE, pp 144–151

  136. Maich H, Melo M, Agostini L, Zatt B, Porto M (2016) Energy analisys of motion estimation memory transference on embedded processors. In: 2016 IEEE 7th Latin American symposium on circuits & systems (LASCAS), IEEE, pp 319–322

  137. Manotas I, Pollock L, Clause J (2014) SEEDS: a software engineer’s energy-optimization decision support framework. In: Proceedings of the 36th International Conference on Software Engineering, ACM, pp 503–514

  138. Mao B, Zhou J, Wu S, Jiang H, Chen X, Yang W (2018) Improving flash memory performance and reliability for smartphones with I/O deduplication. IEEE Trans Comput Aid Des Integr Circuits Syst 38(6):1017–1027

    Google Scholar 

  139. Mao M, Wen W, Zhang Y, Chen Y, Li H (2017) An energy-efficient GPGPU register file architecture using racetrack memory. IEEE Trans Comput 66(9):1478–1490

    MathSciNet  Google Scholar 

  140. Martins M, Cappos J, Fonseca R (2015) Selectively taming background android apps to improve battery lifetime. In: USENIX Annual Technical Conference, pp 563–575

  141. Marz S, Zanden BV (2016) Reducing power consumption and latency in mobile devices using an event stream model. ACM Trans Embed Comput Syst (TECS) 16(1):11

    Google Scholar 

  142. Massari G, Terraneo F, Zanella M, Zoni D (2018) Towards fine-grained DVFS in embedded multi-core CPUs. In: International Conference on Architecture of Computing Systems, Springer, pp 239–251

  143. Mazouzi H, Achir N, Boussetta K (2019) DM2-ECOP: an efficient computation offloading policy for multi-user multi-cloudlet mobile edge computing environment. ACM Trans Internet Technol (TOIT) 19(2):24

    Google Scholar 

  144. McAnlis C (2015) The magic of lru cache (100 days of google dev). https://youtu.be/R5ON3iwx78M. Accessed January 2019

  145. Mei H, Lü J (2016) Greendroid: automated diagnosis of energy inefficiency for smartphone applications. In: Internetware, Springer, pp 389–438

  146. Melchert J, Behroozi S, Li J, Kim Y (2019) SAADI-EC: a quality-configurable approximate divider for energy efficiency. IEEE Trans Very Large Scale Integr (VLSI) Syst 27(11):2680–2692

    Google Scholar 

  147. Michalevsky Y, Schulman A, Veerapandian GA, Boneh D, Nakibly G (2015) Powerspy: location tracking using mobile device power analysis. In: USENIX Security, pp 785–800

  148. Milosevic N, Dehghantanha A, Choo KKR (2017) Machine learning aided android malware classification. Comput Electr Eng 61:266–274

    Google Scholar 

  149. Mitchell N, Sevitsky G (2003) LeakBot: an automated and lightweight tool for diagnosing memory leaks in large Java applications. In: European Conference on Object-Oriented Programming, Springer, pp 351–377

  150. Momeni A, Han J, Montuschi P, Lombardi F (2014) Design and analysis of approximate compressors for multiplication. IEEE Trans Comput 64(4):984–994

    MathSciNet  MATH  Google Scholar 

  151. Moons B, Verhelst M (2015) Dvas: dynamic voltage accuracy scaling for increased energy-efficiency in approximate computing. In: 2015 IEEE/ACM international symposium on low power electronics and design (ISLPED), IEEE, pp 237–242

  152. Morales R, Saborido R, Khomh F, Chicano F, Antoniol G (2016) Anti-patterns and the energy efficiency of Android applications. ArXiv preprint arXiv:1610.05711

  153. Mrazek V, Hrbacek R, Vasicek Z, Sekanina L (2017) EvoApproxSb: library of approximate adders and multipliers for circuit design and benchmarking of approximation methods. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017, IEEE, pp 258–261

  154. Ni-Lewis I (2015) Custom views and performance (100 days of google dev). https://youtu.be/zK2i7ivzK7M. Accessed January 2019

  155. Nilsson P, Shaik AUR, Gangarajaiah R, Hertz E (2014) Hardware implementation of the exponential function using taylor series. In: 2014 NORCHIP, IEEE, pp 1–4

  156. Nixon KW, Chen X, Zhou H, Liu Y, Chen Y (2014) Mobile GPU power consumption reduction via dynamic resolution and frame rate scaling. In: HotPower

  157. Nurvitadhi E, Lee B, Yu C, Kim M (2003) A comparative study of dynamic voltage scaling techniques for low-power video decoding. In: Embedded systems and applications, pp 292–298

  158. O’Hara KJ, Nathuji R, Raj H, Schwan K, Balch T (2006) Autopower: toward energy-aware software systems for distributed mobile robots. In: Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006. IEEE, pp 2757–2762

  159. Pandey P, Pompili D (2019) Handling limited resources in mobile computing via closed-loop approximate computations. IEEE Pervasive Comput 18(1):39–48

    Google Scholar 

  160. Papernot N, McDaniel P, Jha S, Fredrikson M, Celik ZB, Swami A (2016) The limitations of deep learning in adversarial settings. In: 2016 IEEE European symposium on security and privacy (EuroS&P), IEEE, pp 372–387

  161. Park J, Choi B (2012) Automated memory leakage detection in android based systems. Int J Control Autom 5(2):35–42

    Google Scholar 

  162. Park JG, Dutt N, Kim H, Lim SS (2016) HiCAP: Hierarchical FSM-based dynamic integrated CPU-GPU frequency capping governor for energy-efficient mobile gaming. In: Proceedings of the 2016 international symposium on low power electronics and design, ACM, pp 218–223

  163. Park JG, Hsieh CY, Dutt N, Lim SS (2016) Co-cap: energy-efficient cooperative CPU-GPU frequency capping for mobile games. In: Proceedings of the 31st annual ACM symposium on applied computing, ACM, pp 1717–1723

  164. Park S, Kim D, Cha H (2015) Reducing energy consumption of alarm-induced wake-ups on android smartphones. In: Proceedings of the 16th international workshop on mobile computing systems and applications, ACM, pp 33–38

  165. Pasandi G, Nazarian S, Pedram M (2019) Approximate logic synthesis: a reinforcement learning-based technology mapping approach. In: 20th international symposium on quality electronic design (ISQED), IEEE, pp 26–32

  166. Pathak A, Hu YC, Zhang M (2011) Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Proceedings of the 10th ACM workshop on hot topics in networks, ACM, p 5

  167. Pathak A, Hu YC, Zhang M (2012) Where is the energy spent inside my app?: Fine grained energy accounting on smartphones with eprof. In: Proceedings of the 7th ACM European Conference on Computer Systems, ACM, pp 29–42

  168. Pathak A, Hu YC, Zhang M, Bahl P, Wang YM (2011) Fine-grained power modeling for smartphones using system call tracing. In: Proceedings of the Sixth Conference on Computer systems, ACM, pp 153–168

  169. Pathak A, Jindal A, Hu YC, Midkiff SP (2012) What is keeping my phone awake?: Characterizing and detecting no-sleep energy bugs in smartphone apps. In: Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services, ACM, pp 267–280

  170. Pathania A, Jiao Q, Prakash A, Mitra T (2014) Integrated CPU-GPU power management for 3D mobile games. In: Proceedings of the 51st Annual Design Automation Conference, ACM, pp 1–6

  171. Pattnaik A, Tang X, Kayiran O, Jog A, Mishra A, Kandemir MT, Sivasubramaniam A, Das CR (2019) Opportunistic computing in GPU architectures. In: Proceedings of the 46th international symposium on computer architecture, pp 210–223

  172. Pejović V (2019) Towards approximate mobile computing. GetMobile Mobile Comput Commun 22(4):9–12

    MathSciNet  Google Scholar 

  173. Pereira R (2017) Locating energy hotspots in source code. In: Proceedings of the 39th International Conference on Software Engineering Companion, IEEE Press, pp 88–90

  174. Pereira R, Carção T, Couto M, Cunha J, Fernandes JP, Saraiva J (2017) Helping programmers improve the energy efficiency of source code. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), IEEE, pp 238–240

  175. Perez-Castillo R, Piattini M (2014) Analyzing the harmful effect of god class refactoring on power consumption. IEEE Softw 31(3):48–54

    Google Scholar 

  176. Pourshirazi B, Zhu Z (2017) NEMO: an energy-efficient hybrid main memory system for mobile devices. In: Proceedings of the international symposium on memory systems, pp 351–362

  177. Pouwelse J, Langendoen K, Sips H (2001) Dynamic voltage scaling on a low-power microprocessor. In: Proceedings of the 7th Annual International Conference on Mobile Computing and Networking, MobiCom ’01, ACM, pp. 251–259. https://doi.org/10.1145/381677.381701

  178. Procaccianti G, Fernández H, Lago P (2016) Empirical evaluation of two best practices for energy-efficient software development. J Syst Softw 117:185–198

    Google Scholar 

  179. Prochkova I, Singh V, Nurminen JK (2012) Energy cost of advertisements in mobile games on the android platform. In: 2012 6th International Conference on Next Generation Mobile Applications, Services and Technologies (NGMAST), IEEE, pp 147–152

  180. Rahimi A, Benini L, Gupta RK (2013) Spatial memoization: concurrent instruction reuse to correct timing errors in simd architectures. IEEE Trans Circuits Syst II Express Briefs 60(12):847–851

    Google Scholar 

  181. Ranjan A, Venkataramani S, Pajouhi Z, Venkatesan R, Roy K, Raghunathan A (2017) STAxCache: an approximate, energy efficient STT-MRAM cache. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017, IEEE, pp 356–361

  182. Reimann J, Brylski M, Aßmann U (2014) A tool-supported quality smell catalogue for android developers. In: Proceedings of the Conference Modellierung 2014 in the Workshop Modellbasierte und modellgetriebene Softwaremodernisierung–MMSM, vol 2014

  183. Rister B, Wang G, Wu M, Cavallaro JR (2013) A fast and efficient SIFT detector using the mobile GPU. In: 2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), IEEE, pp 2674–2678

  184. Rizvandi NB, Taheri J, Zomaya AY (2011) Some observations on optimal frequency selection in dvfs-based energy consumption minimization. J Parallel Distrib Comput 71(8):1154–1164

    MATH  Google Scholar 

  185. Rizvandi NB, Taheri J, Zomaya AY, Lee YC (2010) Linear combinations of DVFS-enabled processor frequencies to modify the energy-aware scheduling algorithms. In: 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing (CCGrid), IEEE, pp 388–397

  186. Rodriguez A, Mateos C, Zunino A (2016) Improving scientific application execution on android mobile devices via code refactorings. Softw Pract Exp 47(5):763–796

    Google Scholar 

  187. Rong P, Pedram M (2003) Extending the lifetime of a network of battery-powered mobile devices by remote processing: a markovian decision-based approach. In: Proceedings of the 40th Annual Design Automation Conference, ACM, pp 906–911

  188. Rumble SM, Stutsman R, Levis P, Mazières D, Zeldovich N (2010) Apprehending Joule thieves with Cinder. ACM SIGCOMM Comput Commun Rev 40(1):106–111

    Google Scholar 

  189. Rumi MA, Hasan DH et al (2015) Cpu power consumption reduction in android smartphone. In: 2015 3rd International Conference on Green Energy and Technology (ICGET), IEEE, pp 1–6

  190. Saadat H, Javaid H, Parameswaran S (2019) Approximate integer and floating-point dividers with near-zero error bias. In: 2019 56th ACM/IEEE Design Automation Conference (DAC), IEEE, pp 1–6

  191. Saborido R, Beltrame G, Khomh F, Alba E, Antoniol G (2016) Optimizing user experience in choosing android applications. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), IEEE, vol 1, pp 438–448

  192. Sadrosadati M, Ehsani SB, Falahati H, Ausavarungnirun R, Tavakkol A, Abaee M, Orosa L, Wang Y, Sarbazi-Azad H, Mutlu O (2019) ITAP: idle-time-aware power management for GPU execution units. ACM Trans Archit Code Optim (TACO) 16(1):1–26

    Google Scholar 

  193. Sahin C, Wan M, Tornquist P, McKenna R, Pearson Z, Halfond WG, Clause J (2016) How does code obfuscation impact energy usage? J Softw Evol Process 28(7):565–588

    Google Scholar 

  194. Samadi M, Jamshidi DA, Lee J, Mahlke S (2014) Paraprox: pattern-based approximation for data parallel applications. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, pp 35–50

  195. Samadi M, Lee J, Jamshidi DA, Hormati A, Mahlke S (2013) Sage: self-tuning approximation for graphics engines. In: Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pp 13–24

  196. Saravanan V, Shivam A, Chauhan S (2014) Reducing power dissipation in multi-core processors using effective core switching. Int J Comput Inf Technol 03(06)

  197. Schmeelk S, Yang J, Aho A (2015) Android malware static analysis techniques. In: Proceedings of the 10th Annual Cyber and Information Security Research Conference, ACM, p 5

  198. Sen S, Aysan AI, Clark JA (2018) SAFEDroid: Using structural features for detecting Android malwares. In: Security and Privacy in Communication Networks: SecureComm 2017 International Workshops, ATCS and SePrIoT, Niagara Falls, ON, Canada, 2017, Proceedings 13, Springer, pp 255–270

  199. Senn E, Derouineau N, Tizon N, Boukhobza J et al (2018) Joint DVFS and parallelism for energy efficient and low latency software video decoding. IEEE Trans Parallel Distrib Syst 29(4):858–872

    Google Scholar 

  200. Shahriar H, North S, Mawangi E (2014) Testing of memory leak in android applications. In: 2014 IEEE 15th international symposium on high-assurance systems engineering (HASE), IEEE, pp 176–183

  201. Shankari K, Culler DE, Katz RH (2016) Doing nothing well: OS-application coordination for energy saving. Technical Report No. UCB/EECS-2016-119. Electrical Engineering and Computer Sciences, University of California at Berkeley

  202. Shye A, Scholbrock B, Memik G (20099) Into the wild: Studying real user activity patterns to guide power optimizations for mobile architectures. In: 42nd annual IEEE/ACM international symposium on microarchitecture, 2009. MICRO-42, IEEE, pp 168–178

  203. Singh I, Krishnamurthy SV, Madhyastha HV, Neamtiu I (2016) Zapdroid: managing infrequently used applications on smartphones. IEEE Trans Mob Comput 16(5):1475–1489

    Google Scholar 

  204. Snowdon DC, Le Sueur E, Petters SM, Heiser G (2009) Koala: a platform for OS-level power management. In: Proceedings of the 4th ACM European Conference on Computer Systems, ACM, pp 289–302

  205. Son D, Yu C, Kim HN (2001) Dynamic voltage scaling on MPEG decoding. In: Eighth International Conference on Parallel and Distributed Systems, 2001. ICPADS 2001. Proceedings, IEEE, pp 633–640

  206. Šor V, Srirama SN (2014) Memory leak detection in java: taxonomy and classification of approaches. J Syst Softw 96:139–151

    Google Scholar 

  207. Spreitzenbarth M, Schreck T, Echtler F, Arp D, Hoffmann J (2015) Mobile-Sandbox: combining static and dynamic analysis with machine-learning techniques. Int J Inf Secur 14(2):141–153

    Google Scholar 

  208. Stoica I, Song D, Popa RA, Patterson D, Mahoney MW, Katz R, Joseph AD, Jordan M, Hellerstein JM, Gonzalez JE et al (2017) A berkeley view of systems challenges for AI. ArXiv preprint arXiv:1712.05855

  209. Stokke KR, Stensland HK, Griwodz C, Halvorsen P (2016) A high-precision, hybrid GPU, CPU and RAM power model for generic multimedia workloads. In: Proceedings of the 7th International Conference on Multimedia Systems, ACM, p 14

  210. Suarez-Tangil G, Tapiador JE, Peris-Lopez P, Blasco J (2014) Dendroid: a text mining approach to analyzing and classifying code structures in android malware families. Expert Syst Appl 41(4):1104–1117

    Google Scholar 

  211. Sullivan MB, Swartzlander EE (2013) Truncated logarithmic approximation. In: 2013 IEEE 21st symposium on computer arithmetic, IEEE, pp 191–198

  212. Sun M, Li X, Lui JC, Ma RT, Liang Z (2017) Monet: a user-oriented behavior-based malware variants detection system for android. IEEE Trans Inf Forensics Secur 12(5):1103–1112

    Google Scholar 

  213. Sutherland M, San Miguel J, Jerger NE (2015) Texture cache approximation on GPUs. In: Workshop on approximate computing across the stack

  214. Terefe MB, Lee H, Heo N, Fox GC, Oh S (2016) Energy-efficient multisite offloading policy using Markov decision process for mobile cloud computing. Pervasive Mob Comput 27:75–89

    Google Scholar 

  215. Tian Y, Zhang Q, Wang T, Yuan F, Xu Q (2015) Approxma: approximate memory access for dynamic precision scaling. In: Proceedings of the 25th edition on Great Lakes Symposium on VLSI, pp 337–342

  216. Vahdat S, Kamal M, Afzali-Kusha A, Pedram M, Navabi Z (2017) TruncApp: a truncation-based approximate divider for energy efficient DSP applications. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017, IEEE, pp 1635–1638

  217. Vassiliadis V, Parasyris K, Chalios C, Antonopoulos CD, Lalis S, Bellas N, Vandierendonck H, Nikolopoulos DS (2015) A programming model and runtime system for significance-aware energy-efficient computing. ACM SIGPLAN Notices 50(8):275–276

    Google Scholar 

  218. Vekris P, Jhala R, Lerner S, Agarwal Y (2012) Towards verifying android apps for the absence of no-sleep energy bugs. In: HotPower

  219. Venkataramani S, Chakradhar ST, Roy K, Raghunathan A (2015) Approximate computing and the quest for computing efficiency. In: 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC), IEEE, pp 1–6

  220. Venkataramani S, Chippa VK, Chakradhar ST, Roy K, Raghunathan A (2013) Quality programmable vector processors for approximate computing. In: 2013 46th Annual IEEE/ACM international symposium on microarchitecture (MICRO), IEEE, pp 1–12

  221. Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) SALSA: systematic logic synthesis of approximate circuits. In: DAC Design Automation Conference 2012, IEEE, pp 796–801

  222. Walker MJ, Diestelhorst S, Hansson A, Balsamo D, Merrett GV, Al-Hashimi BM (2016) Thermally-aware composite run-time CPU power models. In: 2016 26th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS). IEEE, pp 17–24

  223. Wang G, Xiong Y, Yun J, Cavallaro JR (2013) Accelerating computer vision algorithms using OpenCL framework on the mobile GPU—a case study. In: 2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), IEEE, pp 2629–2633

  224. Wang HC, Woungang I, Yao CW, Anpalagan A, Obaidat MS (2012) Energy-efficient tasks scheduling algorithm for real-time multiprocessor embedded systems. J Supercomput 62(2):967–988

    Google Scholar 

  225. Wang J, Peng J, Wei Y, Liu D, Fu J (2016) Adaptive application offloading decision and transmission scheduling for mobile cloud computing. In: 2016 IEEE International Conference on Communications (ICC), IEEE, pp 1–7

  226. Wang S, Liang Y, Zhang C, Xie X, Sun G, Liu Y, Wang Y, Li X (2016) Performance-centric register file design for GPUs using racetrack memory. In: 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC), IEEE, pp 25–30

  227. Wang X, Li X, Wen W (2014) Wlcleaner: reducing energy waste caused by wakelock bugs at runtime. In: 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure Computing (DASC), IEEE, pp 429–434

  228. Wang Z, Cui Y, Lai Z (2019) A first look at mobile intelligence: architecture, experimentation and challenges. IEEE Netw 33(4):120–125

    Google Scholar 

  229. Weirich MR, Paim G, da Costa EA, Bampi S (2018) A fixed-point natural logarithm approximation hardware design using Taylor series. In: 2018 New Generation of CAS (NGCAS), IEEE, pp 53–56

  230. Wohlin C (2014) Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, ACM, p 38

  231. Wu D, Chen T, Chen C, Ahia O, San Miguel J, Lipasti M, Kim Y (2019) SECO: a scalable accuracy approximate exponential function via cross-layer optimization. In: 2019 IEEE/ACM international symposium on low power electronics and design (ISLPED), IEEE, pp 1–6

  232. Wu H, Yang S, Rountev A (2016) Static detection of energy defect patterns in android applications. In: Proceedings of the 25th International Conference on Compiler Construction, ACM, pp 185–195

  233. Wu L, Lu Y, Qi J, Cai S, Deng B, Ming Z (2016) Bug analysis of android applications based on jpf. In: International Conference on Smart Computing and Communication, Springer, pp 173–182

  234. Wu T, Liu J, Deng X, Yan J, Zhang J (2016) Relda2: an effective static analysis tool for resource leak detection in Android apps. In: 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), IEEE, pp 762–767

  235. Wu T, Liu J, Xu Z, Guo C, Zhang Y, Yan J, Zhang J (2016) Light-weight, inter-procedural and callback-aware resource leak detection for android apps. IEEE Trans Softw Eng 42(11):1054–1076

    Google Scholar 

  236. Wu Y, Qian W (2016) An efficient method for multi-level approximate logic synthesis under error rate constraint. In: 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC), IEEE, pp 1–6

  237. Xian C, Lu YH, Li Z (2007) Adaptive computation offloading for energy conservation on battery-powered systems. In: 2007 International Conference on Parallel and Distributed Systems, IEEE, vol 2, pp 1–8

  238. Xu C, Qiao Y, Lee B, Murray N (2013) Moja-mobile offloading for javascript applications. In: Irish Signals & Systems Conference 2014 and 2014 China-Ireland International Conference on Information and Communications Technologies (ISSC 2014/CIICT 2014). 25th IET, pp 59–63

  239. Xu G, Rountev A (2013) Precise memory leak detection for java software using container profiling. ACM Trans Softw Eng Methodol (TOSEM) 22(3):17

    Google Scholar 

  240. Xu M, Liu J, Liu Y, Lin FX, Liu Y, Liu X (2019) A first look at deep learning apps on smartphones. In: The World Wide Web Conference, ACM, pp 2125–2136

  241. Xu Q, Annavaram M (2014) PATS: Pattern aware scheduling and power gating for GPGPUs. In: Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, pp 225–236

  242. Yan D, Xu G, Yang S, Rountev A (2014) LeakChecker: Practical static memory leak detection for managed languages. In: Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization, ACM, p 87

  243. Yang A, Song M (2009) Aggressive dynamic voltage scaling for energy-aware video playback based on decoding time estimation. In: Proceedings of the Seventh ACM International Conference on Embedded Software, ACM, pp 1–10

  244. Yao F, Demers A, Shenker S (1995) A scheduling model for reduced CPU energy. In: 36th annual symposium on foundations of computer science, 1995. Proceedings, IEEE, pp 374–382

  245. Yazdanbakhsh A, Pekhimenko G, Thwaites B, Esmaeilzadeh H, Mutlu O, Mowry TC (2016) RFVP: rollback-free value prediction with safe-to-approximate loads. ACM Trans Archit Code Optim (TACO) 12(4):1–26

    Google Scholar 

  246. Yazdanbakhsh A, Thwaites B, Esmaeilzadeh H, Pekhimenko G, Mutlu O, Mowry TC (2016) Mitigating the memory bottleneck with approximate load value prediction. IEEE Des Test 33(1):32–42

    Google Scholar 

  247. Ye R, Wang T, Yuan F, Kumar R, Xu Q (2013) On reconfiguration-oriented approximate adder design and its application. In: 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), IEEE, pp 48–54

  248. Yu B, Zhang Y, Li L (2016) Energy measurement for mobile phone’s data compression and transmission. In: 2016 6th International Conference on Machinery, Materials, Environment, Biotechnology and Computer. Atlantis Press

  249. Yu J, Han H, Zhu H, Chen Y, Yang J, Zhu Y, Xue G, Li M (2015) Sensing human-screen interaction for energy-efficient frame rate adaptation on smartphones. IEEE Trans Mob Comput 14(8):1698–1711

    Google Scholar 

  250. Zeinali B, Karsinos D, Moradi F (2017) Progressive scaled STT-RAM for approximate computing in multimedia applications. IEEE Trans Circuits Syst II Express Briefs 65(7):938–942

    Google Scholar 

  251. Zeldovich N, Boyd-Wickizer S, Kohler E, Mazières D (2006) Making information flow explicit in HiStar. In: Proceedings of the 7th symposium on operating systems design and implementation, USENIX Association, pp 263–278

  252. Zendegani R, Kamal M, Fayyazi A, Afzali-Kusha A, Safari S, Pedram M (2016) SEERAD: a high speed yet energy-efficient rounding-based approximate divider. In: 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), IEEE, pp 1481–1484

  253. Zhang H, Wu H, Rountev A (2016) Automated test generation for detection of leaks in android applications. In: Proceedings of the 11th international workshop on automation of software test, ACM, pp 64–70

  254. Zhang L, Gordon MS, Dick RP, Mao ZM, Dinda P, Yang L (2012) ADEL: an automatic detector of energy leaks for smartphone applications. In: Proceedings of the eighth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, ACM, pp 363–372

  255. Zhang L, Tiwana B, Dick RP, Qian Z, Mao ZM, Wang Z, Yang L (2010) Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In: 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS), IEEE, pp 105–114

  256. Zhu M, Shen K (2016) Energy discounted computing on multicore smartphones. In: 2016 USENIX Annual Technical Conference (USENIX ATC 16), USENIX Association, pp 129–141

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ginny.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

See Tables 15 and 16.

Table 15 List of acronyms used
Table 16 Search and hits distribution of energy optimization approaches

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ginny, Kumar, C. & Naik, K. Smartphone processor architecture, operations, and functions: current state-of-the-art and future outlook: energy performance trade-off. J Supercomput 77, 1377–1454 (2021). https://doi.org/10.1007/s11227-020-03312-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-020-03312-z

Keywords

Navigation