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.
Similar content being viewed by others
Notes
NVIDIA. 2009. Whitepaper: NVIDIA’s Next Generation CUDATM Compute Architecture: FermiTM. Technical Report. NVIDIA.
References
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
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
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
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
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
Á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
Anh DTT, Ganjoo M, Braghin S, Datta A (2014) Mosco: a privacy-aware middleware for mobile social computing. J Syst Softw 92:20–31
Android Lint Checks (2017) https://sites.google.com/a/android.com/tools/tips/lint-checks/. Accessed August-2017
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
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
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
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
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
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
Bertolino A (2007) Software testing research: achievements, challenges, dreams. In: 2007 future of software engineering, IEEE Computer Society, pp 85–103
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
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
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
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
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
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
Carção TA (2014) Spectrum-based energy leak localization. Ph.D. thesis
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)
Carroll A, Heiser G (2014) Mobile multicores: use them or waste them. ACM SIGOPS Oper Syst Rev 48(1):44–48
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
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
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
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
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
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
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
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
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
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
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
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
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
Choi J, Jung B, Choi Y, Son S (2017) An adaptive and integrated low-power framework for multicore mobile computing. In: Mobile information systems
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
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
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
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
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
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
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
Cruz L, Abreu R (2019) Catalog of energy patterns for mobile applications. In: Empirical software engineering, pp 1–27
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Flinn J, Satyanarayanan M (2004) Managing battery lifetime with energy-aware adaptation. ACM Trans Comput Syst (TOCS) 22(2):137–179
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hong L, Qian J, Cui J (2014) Automated unit-level testing of Java memory leaks. Comput Model New Technol 18(11)
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
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
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
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
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
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
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
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
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
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
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
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
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
Jasemi M, Hessabi S, Bagherzadeh N (2020) Reliable and energy efficient MLC STT-RAM buffer for CNN accelerators. arXiv preprint arXiv:2001.08806
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
Jump M, McKinley KS (2007) Cork: dynamic memory leak detection for garbage-collected languages. In: Acm Sigplan Notices, ACM, vol 42, pp 31–38
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
Karbab EB, Debbabi M, Derhab A, Mouheb D (2017) Android Malware detection using deep learning on API method sequences. ArXiv preprint arXiv:1712.08996
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
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
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)
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
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
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
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
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
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
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
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
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
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
Lee J, Choi K, Kim Y, Han H, Kang S (2016) Exploiting remote GPGPU in mobile devices. Clust Comput 19(3):1571–1583
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
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
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
Li S, Mishra S (2016) Optimizing power consumption in multicore smartphones. J Parallel Distrib Comput 95:124–137
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
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
Li Y, Chen H, Shi W (2014) Power behavior analysis of mobile applications using bugu. Sustain Comput Informat Syst 4(3):183–195
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
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
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
Liang Y, Wang S (2016) Performance-centric optimization for racetrack memory based register file on GPUs. J Comput Sci Technol 31(1):36–49
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
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
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
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
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
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
Liu Y, Wei L, Xu C, Cheung SC (2016) DroidLeaks: benchmarking resource leak bugs for android applications. ArXiv preprint arXiv:1611.08079
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
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
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
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
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
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
Martins M, Cappos J, Fonseca R (2015) Selectively taming background android apps to improve battery lifetime. In: USENIX Annual Technical Conference, pp 563–575
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
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
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
McAnlis C (2015) The magic of lru cache (100 days of google dev). https://youtu.be/R5ON3iwx78M. Accessed January 2019
Mei H, Lü J (2016) Greendroid: automated diagnosis of energy inefficiency for smartphone applications. In: Internetware, Springer, pp 389–438
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
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
Milosevic N, Dehghantanha A, Choo KKR (2017) Machine learning aided android malware classification. Comput Electr Eng 61:266–274
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
Momeni A, Han J, Montuschi P, Lombardi F (2014) Design and analysis of approximate compressors for multiplication. IEEE Trans Comput 64(4):984–994
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
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
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
Ni-Lewis I (2015) Custom views and performance (100 days of google dev). https://youtu.be/zK2i7ivzK7M. Accessed January 2019
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
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
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
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
Pandey P, Pompili D (2019) Handling limited resources in mobile computing via closed-loop approximate computations. IEEE Pervasive Comput 18(1):39–48
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
Park J, Choi B (2012) Automated memory leakage detection in android based systems. Int J Control Autom 5(2):35–42
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
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
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
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
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
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
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
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
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
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
Pejović V (2019) Towards approximate mobile computing. GetMobile Mobile Comput Commun 22(4):9–12
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
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
Perez-Castillo R, Piattini M (2014) Analyzing the harmful effect of god class refactoring on power consumption. IEEE Softw 31(3):48–54
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
Singh I, Krishnamurthy SV, Madhyastha HV, Neamtiu I (2016) Zapdroid: managing infrequently used applications on smartphones. IEEE Trans Mob Comput 16(5):1475–1489
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
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
Šor V, Srirama SN (2014) Memory leak detection in java: taxonomy and classification of approaches. J Syst Softw 96:139–151
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
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
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
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
Sullivan MB, Swartzlander EE (2013) Truncated logarithmic approximation. In: 2013 IEEE 21st symposium on computer arithmetic, IEEE, pp 191–198
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
Sutherland M, San Miguel J, Jerger NE (2015) Texture cache approximation on GPUs. In: Workshop on approximate computing across the stack
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
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
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
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
Vekris P, Jhala R, Lerner S, Agarwal Y (2012) Towards verifying android apps for the absence of no-sleep energy bugs. In: HotPower
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
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
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
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
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
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
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
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
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
Wang Z, Cui Y, Lai Z (2019) A first look at mobile intelligence: architecture, experimentation and challenges. IEEE Netw 33(4):120–125
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
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
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
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
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
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
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
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
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
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
Xu G, Rountev A (2013) Precise memory leak detection for java software using container profiling. ACM Trans Softw Eng Methodol (TOSEM) 22(3):17
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03312-z