A survey of computation offloading strategies for performance improvement of applications running on mobile devices

Handheld mobile devices have evolved from simple voice communication devices to general purpose devices capable of executing complex applications. Despite this evolution, the applications executing on the mobile devices suffer due to their constrained resources. The constraints such as limited battery lifetime, limited storage and processing capabilities produce an adverse impact on the performance of applications executing on the mobile devices.Computation offloading addresses the issue of limited resources by transferring the computation workload to other systems having better resources. It may be oriented towards extending battery lifetime, enhancing storage capacity or improving the performance of an application. In this paper, we perform a survey of the computation offloading strategies correlated with performance improvement for an application. We categorize these approaches in terms of their workload distribution and offloading decisions. We also describe the evolution of the computation offloading based environment as well as a categorization of application partitioning mechanisms adopted in various contributions. Furthermore, we present a parameter-wise comparison of automated frameworks, the application domains that benefit from computation offloading and the future challenges impeding the evolution of computation offloading.

[1]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

[2]  Heeseung Jo,et al.  Offloading data encryption to GPU in database systems , 2014, The Journal of Supercomputing.

[3]  Ermyas Abebe,et al.  Adaptive application offloading using distributed abstract class graphs in mobile environments , 2012, J. Syst. Softw..

[4]  Khaled A. Harras,et al.  Towards resource sharing in mobile device clouds: power balancing across mobile devices , 2013, MCC '13.

[5]  Kun Yang,et al.  On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications , 2008, IEEE Communications Magazine.

[6]  Geoffrey H. Kuenning,et al.  The remote processing framework for portable computer power saving , 1999, SAC '99.

[7]  Jian-Jia Chen,et al.  Computation Offloading for Frame-Based Real-Time Tasks with Resource Reservation Servers , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[8]  Alan Messer,et al.  Adaptive offloading inference for delivering applications in pervasive computing environments , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[9]  Sujit Dey,et al.  Rendering Adaptation to Address Communication and Computation Constraints in Cloud Mobile Gaming , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[10]  H AmmarMostafa,et al.  Towards resource sharing in mobile device clouds , 2013 .

[11]  Radu-Corneliu Marin Hybrid contextual cloud in ubiquitous platforms comprising of smartphones , 2013, Int. J. Intell. Syst. Technol. Appl..

[12]  Miodrag Potkonjak,et al.  mHealthMon: Toward Energy-Efficient and Distributed Mobile Health Monitoring Using Parallel Offloading , 2013, 2013 35th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).

[13]  Chandra Krintz,et al.  On the Efficacy of Computation Offloading Decision-Making Strategies , 2008, Int. J. High Perform. Comput. Appl..

[14]  Gerard J. M. Smit,et al.  Mapping streaming applications on a reconfigurable MPSoC platform at run-time , 2007, 2007 International Symposium on System-on-Chip.

[15]  Stanislav Kurkovsky,et al.  A collaborative problem-solving framework for mobile devices , 2004, ACM-SE 42.

[16]  Mazliza Othman,et al.  Power conservation strategy for mobile computers using load sharing , 1998, MOCO.

[17]  Luís Nogueira,et al.  Dynamic QoS-aware coalition formation , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[18]  Mahmut T. Kandemir,et al.  Studying energy trade offs in offloading computation/compilation in Java-enabled mobile devices , 2004, IEEE Transactions on Parallel and Distributed Systems.

[20]  Seonggun Kim,et al.  Transparent Method Offloading for Slim Execution , 2006, 2006 1st International Symposium on Wireless Pervasive Computing.

[21]  Mario Gerla,et al.  Energy-efficient content retrieval in mobile cloud , 2013, MCC '13.

[22]  Francesco Sergio Pisani,et al.  A Framework for Modeling Automatic Offloading of Mobile Applications Using Genetic Programming , 2013, EvoApplications.

[23]  Katina Michael Securing the Cloud: Cloud Computer Security Techniques and Tactics , 2012, Comput. Secur..

[24]  Shensheng Zhang,et al.  A resource aware software partitioning algorithm based on mobility constraints in pervasive grid environments , 2008, Future Gener. Comput. Syst..

[25]  Erol Gelenbe,et al.  Energy-Efficient Cloud Computing , 2010, Comput. J..

[26]  Kun Yang,et al.  An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems , 2006, Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PERCOM'06).

[27]  Wei Zhang,et al.  SM@RT offloader: supporting adaptive computation offloading for Android applications , 2013, MiddlewareDPT '13.

[28]  Geoffrey H. Kuenning,et al.  Saving portable computer battery power through remote process execution , 1998, MOCO.

[29]  Hossam S. Hassanein,et al.  Empowering Mobile Service Provisioning through Cloud Assistance , 2013, 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing.

[30]  Cheng Wang,et al.  A computation offloading scheme on handheld devices , 2004, J. Parallel Distributed Comput..

[31]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[32]  Xiao Ma,et al.  A Survey of Energy Efficient Wireless Transmission and Modeling in Mobile Cloud Computing , 2012, Mobile Networks and Applications.

[33]  Ian Goldberg,et al.  A Secure Environment for Untrusted Helper Applications ( Confining the Wily Hacker ) , 1996 .

[34]  Tao Zhang,et al.  LEAP: a low energy assisted GPS for trajectory-based services , 2011, UbiComp '11.

[35]  Cecilia Mascolo,et al.  SociableSense: exploring the trade-offs of adaptive sampling and computation offloading for social sensing , 2011, MobiCom.

[36]  Chandra Krintz,et al.  Using bandwidth data to make computation offloading decisions , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[37]  Abdul Ghafoor Abbasi,et al.  Cloud Based Secure and Privacy Enhanced Authentication & Authorization Protocol , 2013, KES.

[38]  Karin Anna Hummel,et al.  Adaptive role switching for fair and efficient battery usage in device-to-device communication , 2014, MOCO.

[39]  Mario Gerla,et al.  PowerSense: power aware dengue diagnosis on mobile phones , 2011, mHealthSys '11.

[40]  Abdullah Gani,et al.  Tripod of Requirements in Horizontal Heterogeneous Mobile Cloud Computing , 2012, ArXiv.

[41]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[42]  Sokol Kosta,et al.  To offload or not to offload? The bandwidth and energy costs of mobile cloud computing , 2013, 2013 Proceedings IEEE INFOCOM.

[43]  Mahadev Satyanarayanan,et al.  Self-tuned remote execution for pervasive computing , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[44]  Sumit Soni,et al.  A survey of mobile cloud computing architecture, applications, approaches & Current Solution Providers , 2015 .

[46]  James M. Rehg,et al.  A Compilation Framework for Power and Energy Management on Mobile Computers , 2001, LCPC.

[47]  Milind Kulkarni,et al.  Techniques for Fine-Grained, Multi-site Computation Offloading , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[48]  Heon Young Yeom,et al.  Design and evaluation of mobile offloading system for web-centric devices , 2014, J. Netw. Comput. Appl..

[49]  Shensheng Zhang,et al.  Energy Saving of Mobile Devices Based on Component Migration and Replication in Pervasive Computing , 2006, UIC.

[50]  Yung-Hsiang Lu,et al.  Tradeoff between energy savings and privacy protection in computation offloading , 2010, 2010 ACM/IEEE International Symposium on Low-Power Electronics and Design (ISLPED).

[51]  Mohammad S. Obaidat,et al.  MOCLO: A Cloud Framework for Mobile Devices , 2013, 2013 IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing.

[52]  Dongman Lee,et al.  An Adaptable Application Offloading Scheme Based on Application Behavior , 2008, 22nd International Conference on Advanced Information Networking and Applications - Workshops (aina workshops 2008).

[53]  Paramvir Bahl,et al.  The Case for VM-Based Cloudlets in Mobile Computing , 2009, IEEE Pervasive Computing.

[54]  Filip De Turck,et al.  AIOLOS: Middleware for improving mobile application performance through cyber foraging , 2012, J. Syst. Softw..

[55]  Yung-Hsiang Lu,et al.  Energy efficient content-based image retrieval for mobile systems , 2009, 2009 IEEE International Symposium on Circuits and Systems.

[56]  Rajkumar Buyya,et al.  Heterogeneity in Mobile Cloud Computing: Taxonomy and Open Challenges , 2014, IEEE Communications Surveys & Tutorials.

[57]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[58]  Gustavo Alonso,et al.  Dynamic Software Deployment from Clouds to Mobile Devices , 2012, Middleware.

[59]  Ralph Deters,et al.  Reliable services composition for mobile consumption in mHealth , 2013, MEDES.

[60]  Jukka K. Nurminen,et al.  Energy Efficiency of Mobile Clients in Cloud Computing , 2010, HotCloud.

[61]  Xinwen Zhang,et al.  Securing elastic applications on mobile devices for cloud computing , 2009, CCSW '09.

[62]  Khaled A. Harras,et al.  Towards resource sharing in mobile device clouds: power balancing across mobile devices , 2013, MCC '13.

[63]  George Pavlou,et al.  Service discovery strategies in ubiquitous communication environments , 2006, IEEE Communications Magazine.

[64]  Tao Li,et al.  A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[65]  Vesa Hirvisalo,et al.  Energy-efficient parallel software for mobile hand-held devices , 2009 .

[66]  D. M. Hutton,et al.  Cloud Computing: Principles, Systems and Applications , 2011 .

[67]  Pierre St. Juste,et al.  SNARF: a social networking-inspired accelerator remoting framework , 2012, MCC '12.

[68]  Minhaj Ahmad Khan,et al.  Scheduling for heterogeneous Systems using constrained critical paths , 2012, Parallel Comput..

[69]  Jian-Jia Chen,et al.  Computation offloading for real-time systems , 2013, SAC '13.

[70]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[71]  Mohammed Atiquzzaman,et al.  Bandwidth-adaptive partitioning for distributed execution optimization of mobile applications , 2014, J. Netw. Comput. Appl..

[72]  Matti Kemppainen,et al.  Mobile Computation offloading - Factors Affecting Technology Evolution , 2012, ICMB.

[73]  James D. Herbsleb,et al.  Simplifying cyber foraging for mobile devices , 2007, MobiSys '07.

[74]  Arun K. Majumdar,et al.  Algorithms and heuristics for efficient medical information display in PDA , 2007, Comput. Biol. Medicine.

[75]  Qinru Qiu,et al.  A game theoretic resource allocation for overall energy minimization in mobile cloud computing system , 2012, ISLPED '12.

[76]  J. R. Vic Winkler Securing the Cloud: Cloud Computer Security Techniques and Tactics , 2011 .

[77]  Chein-Wei Jen,et al.  A novel programmable digital signal processor for multimedia applications , 2004, The 2004 IEEE Asia-Pacific Conference on Circuits and Systems, 2004. Proceedings..

[78]  Shoji Kurakake,et al.  Roam, a seamless application framework , 2004, J. Syst. Softw..

[79]  Tei-Wei Kuo,et al.  Computation offloading by using timing unreliable components in real-time systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[80]  Matti Siekkinen,et al.  Can offloading save energy for popular apps? , 2012, MobiArch '12.

[81]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users , 2011 .

[82]  Luís Veiga,et al.  SPADE: scheduler for parallel and distributed execution from mobile devices , 2008, MPAC '08.

[83]  Zhiyuan Li,et al.  Adaptive computation offloading for energy conservation on battery-powered systems , 2007, 2007 International Conference on Parallel and Distributed Systems.

[84]  Shaojie Tang,et al.  A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[85]  Xinwen Zhang,et al.  Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing , 2011, Mob. Networks Appl..

[86]  J. Nurminen,et al.  SmartDiet: offloading popular apps to save energy , 2012, CCRV.

[87]  Yannis Smaragdakis,et al.  J-Orchestra: Automatic Java Application Partitioning , 2002, ECOOP.

[88]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[89]  Antonio Liotta,et al.  Performance Analysis of Offloading Systems in Mobile Wireless Environments , 2007, 2007 IEEE International Conference on Communications.

[90]  Qi Han,et al.  Investigation on runtime partitioning of elastic mobile applications for mobile cloud computing , 2013, The Journal of Supercomputing.

[91]  Zhiyuan Li,et al.  A Compiler Analysis of Interprocedural Data Communication , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[92]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[93]  Tian Yu,et al.  Adaptive Computation Offloading from Mobile Devices into the Cloud , 2012, 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications.

[94]  Mani B. Srivastava,et al.  Computation Hierarchy for In-Network Processing , 2003, WSNA '03.

[95]  KandemirMahmut,et al.  Studying Energy Trade Offs in Offloading Computation/Compilation in Java-Enabled Mobile Devices , 2004 .

[96]  Ralf Klamma,et al.  Building mobile multimedia services: a hybrid cloud computing approach , 2012, Multimedia Tools and Applications.

[97]  Jukka K. Nurminen Parallel Connections and their Effect on the Battery Consumption of a Mobile Phone , 2010, 2010 7th IEEE Consumer Communications and Networking Conference.

[98]  Haiyun Luo,et al.  Energy-optimal mobile application execution: Taming resource-poor mobile devices with cloud clones , 2012, 2012 Proceedings IEEE INFOCOM.

[99]  Yung-Hsiang Lu,et al.  Real-time moving object recognition and tracking using computation offloading , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[100]  Chen-Khong Tham,et al.  Energy-Efficient Mapping and Scheduling of Task Interaction Graphs for Code Offloading in Mobile Cloud Computing , 2013, 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing.

[101]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[102]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[103]  Parthasarathy Ranganathan,et al.  Energy Consumption in Mobile Devices: Why Future Systems Need Requirements-Aware Energy Scale-Down , 2003, PACS.

[104]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[105]  Mazliza Othman,et al.  Pirax: framework for application piracy control in mobile cloud environment , 2013, The Journal of Supercomputing.

[106]  Cheng Wang,et al.  Task allocation for distributed multimedia processing on wirelessly networked handheld devices , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[107]  Yung-Hsiang Lu,et al.  Energy-efficient image compression in mobile devices for wireless transmission , 2009, 2009 IEEE International Conference on Multimedia and Expo.

[108]  Pierre St. Juste,et al.  Machine Learning-Based Runtime Scheduler for Mobile Offloading Framework , 2013, 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing.

[109]  Kun Yang,et al.  An effective offloading middleware for pervasive services on mobile devices , 2007, Pervasive Mob. Comput..

[110]  Cheng Wang,et al.  Computation offloading to save energy on handheld devices: a partition scheme , 2001, CASES '01.

[111]  Carlos A. Varela,et al.  Light-weight adaptive task offloading from smartphones to nearby computational resources , 2011, RACS.

[112]  KovachevDejan,et al.  Building mobile multimedia services , 2014 .

[113]  Alan Messer,et al.  Towards a distributed platform for resource-constrained devices , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[114]  Milind Kulkarni,et al.  EventWave: programming model and runtime support for tightly-coupled elastic cloud applications , 2013, SoCC.

[115]  Byung-Gon Chun,et al.  Augmented Smartphone Applications Through Clone Cloud Execution , 2009, HotOS.

[116]  Cheng Wang,et al.  Parametric analysis for adaptive computation offloading , 2004, PLDI '04.

[117]  Xudong Wang,et al.  AppMobiCloud: improving mobile web applications by mobile-cloud convergence , 2013, Internetware.

[118]  Haixia Mao,et al.  A Survey of Mobile Cloud Computing , 2011 .

[119]  Liviu Iftode,et al.  Programming ad-hoc networks of mobile and resource-constrained devices , 2005, PLDI '05.

[120]  Feng Xia,et al.  Phone2Cloud: Exploiting computation offloading for energy saving on smartphones in mobile cloud computing , 2013, Information Systems Frontiers.

[121]  Ying Zhang,et al.  Refactoring android Java code for on-demand computation offloading , 2012, OOPSLA '12.

[122]  Bharat K. Bhargava,et al.  A Survey of Computation Offloading for Mobile Systems , 2012, Mobile Networks and Applications.

[123]  Chandra Krintz,et al.  NWSLite: a light-weight prediction utility for mobile devices , 2004, MobiSys '04.

[124]  Shensheng Zhang,et al.  A Generic Software Partitioning Algorithm for Pervasive Computing , 2006, WASA.

[125]  Mazliza Othman,et al.  A Survey of Mobile Cloud Computing Application Models , 2014, IEEE Communications Surveys & Tutorials.

[126]  Chonho Lee,et al.  A survey of mobile cloud computing: architecture, applications, and approaches , 2013, Wirel. Commun. Mob. Comput..

[127]  Kenli Li,et al.  From Mobiles to Clouds: Developing Energy-Aware Offloading Strategies for Workflows , 2012, 2012 ACM/IEEE 13th International Conference on Grid Computing.

[128]  Arun Venkataramani,et al.  Energy consumption in mobile phones: a measurement study and implications for network applications , 2009, IMC '09.