Dandelion: A Unified Code Offloading System for Wearable Computing

Execution speed seriously bothers application developers and users for wearable devices such as Google Glass. Intensive applications like 3D games suffer from significant delays when CPU is busy. Energy is another concern when the devices are in low battery level, but users need them for urgency use. To ease such pains, one approach is to expand the computational power by cloud offloading. This paradigm works well when the available Internet access has enough bandwidth. Another way is to leverage nearby devices for computation-offloading, which is known as device-to-device (D2D) offloading. In this paper, we present Dandelion, a unified code offloading system for wearable computing. Such applications can leverage both the nearby devices and cloud for performance acceleration and energy efficiency. Dandelion is a novel generic code offloading system for wearable computing with a reference implementation on Google Glass. Dandelion includes a programmer-friendly framework based on Java annotation, a lightweight offloading service, and a runtime task scheduler to make offloading decisions. We design some wearable applications and several parallel execution benchmark methods for Dandelion performance evaluation. Extensive experiments on a testbed of Google Glass and Android phones demonstrate that Dandelion generally achieves over 5X execution speedup for local execution and can quickly recover from errors caused by network disruption.

[1]  Stephan Eidenbenz,et al.  Ad hoc-VCG: a truthful and cost-efficient routing protocol for mobile ad hoc networks with selfish agents , 2003, MobiCom '03.

[2]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[3]  Scott A. Mahlke,et al.  Accelerating Mobile Applications through Flip-Flop Replication , 2015, MobiSys.

[4]  Mohammed Yeasin,et al.  Expression: a dyadic conversation aid using Google Glass for people with visual impairments , 2014, UbiComp Adjunct.

[5]  Pan Hui,et al.  Ubii: Towards Seamless Interaction between Digital and Physical Worlds , 2015, ACM Multimedia.

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

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

[8]  Alan Messer,et al.  Adaptive offloading for pervasive computing , 2004, IEEE Pervasive Computing.

[9]  Henri E. Bal,et al.  Cuckoo: A Computation Offloading Framework for Smartphones , 2010, MobiCASE.

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

[11]  Dimitrios Gunopulos,et al.  Misco: a MapReduce framework for mobile systems , 2010, PETRA '10.

[12]  Mahadev Satyanarayanan,et al.  Towards wearable cognitive assistance , 2014, MobiSys.

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

[14]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[15]  Ji Yang,et al.  A Hitchhiker's Guide to Computation Offloading: Opinions from Practitioners , 2017, IEEE Communications Magazine.

[16]  J. Wenny Rahayu,et al.  Honeybee: A Programming Framework for Mobile Crowd Computing , 2012, MobiQuitous.

[17]  Mahadev Satyanarayanan,et al.  Early Implementation Experience with Wearable Cognitive Assistance Applications , 2015, WearSys@MobiSys.

[18]  Mohammed Gharib,et al.  Expert key selection impact on the MANETs' performance using probabilistic key management algorithm , 2013, SIN.

[19]  Inseok Hwang,et al.  CoMon: cooperative ambience monitoring platform with continuity and benefit awareness , 2012, MobiSys '12.

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

[21]  Ji Yang,et al.  Offloading Guidelines for Augmented Reality Applications on Wearable Devices , 2015, ACM Multimedia.

[22]  Pan Hui,et al.  Hyperion: A Wearable Augmented Reality System for Text Extraction and Manipulation in the Air , 2017, MMSys.

[23]  Ellen W. Zegura,et al.  Serendipity: enabling remote computing among intermittently connected mobile devices , 2012, MobiHoc '12.

[24]  Mahdieh Ahmadi,et al.  Probabilistic Key Pre-Distribution for Heterogeneous Mobile Ad Hoc Networks Using Subjective Logic , 2015, 2015 IEEE 29th International Conference on Advanced Information Networking and Applications.

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

[26]  Pan Hui,et al.  OPENRP: a reputation middleware for opportunistic crowd computing , 2016, IEEE Communications Magazine.

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

[28]  Pan Hu,et al.  iShadow: design of a wearable, real-time mobile gaze tracker , 2014, MobiSys.

[29]  Stephen Farrell,et al.  DTN: an architectural retrospective , 2008, IEEE Journal on Selected Areas in Communications.

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

[31]  Arvind Krishnamurthy,et al.  Customizable and Extensible Deployment for Mobile/Cloud Applications , 2014, OSDI.

[32]  Nadir Weibel,et al.  Chroma: a wearable augmented-reality solution for color blindness , 2014, UbiComp.

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