Increasing the Efficiency of Code Offloading in n-tier Environments with Code Bubbling

Code offloading strives for increasing the energy efficiency and execution speed of mobile applications on resource-constrained mobile devices. First approaches only considered a code offloading between two (or three) tiers, executing code either locally on a mobile device or remotely on a powerful server. However, new execution environments comprise multiple tiers, containing highly distributed heterogeneous resources. To this end, we present our Code Bubbling Offload System (CoBOS) that targets n-tier environments containing highly distributed heterogeneous resources with different performance characteristics and cost implications. In such n-tier environments, it is very costly for a resource-constrained mobile device to gather a global view on available resources, why we propose the novel concept of code bubbling. Code bubbling moves code dynamically and adaptively toward more powerful and more distant tiers, enabling an efficient and scalable code offloading in n-tier environments. Each tier makes autonomous decisions to execute code in the tier or forward it further to the next tier. To support such a recursive escalation of code along autonomous tiers, CoBOS offloads self-contained offload requests that possess all information required for a decision-making and processing. Our real-world evaluation shows that CoBOS decreases execution time by 83% and energy consumption by 77% for code offloading in n-tier environments.

[1]  Mahadev Satyanarayanan,et al.  Balancing performance, energy, and quality in pervasive computing , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[2]  Tim Verbelen,et al.  Cloudlets: bringing the cloud to the mobile user , 2012, MCS '12.

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

[4]  Karim Habak,et al.  COSMOS: computation offloading as a service for mobile devices , 2014, MobiHoc '14.

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

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

[7]  José A. B. Fortes,et al.  On the Use of Machine Learning to Predict the Time and Resources Consumed by Applications , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[8]  Song Guo,et al.  Just-in-Time Code Offloading for Wearable Computing , 2015, IEEE Transactions on Emerging Topics in Computing.

[9]  Sateesh Addepalli,et al.  Fog computing and its role in the internet of things , 2012, MCC '12.

[10]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

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

[12]  Mads Darø Kristensen,et al.  Scavenger: Transparent development of efficient cyber foraging applications , 2010, 2010 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[13]  Krishna Sekar,et al.  Power and thermal challenges in mobile devices , 2013, MobiCom.