Handling Limited Resources in Mobile Computing via Closed-Loop Approximate Computations

Mobile computing is one of the largest untapped reservoirs in today's pervasive computing world as it has the potential to enable a variety of in situ, real-time applications. Yet, this computing paradigm suffers when the available resources—such as energy in the network, CPU cycles, memory, and I/O data rate—are limited. In this paper, the new paradigm of approximate computing is proposed to harness such potential and to enable energy-intensive mobile applications. A reduction in time and energy consumed by an application is obtained via closed-loop approximate computing by decreasing the amount of computation needed; such improvement, however, comes with the potential loss in accuracy. We present our framework on how approximation can be applied at different levels, namely, at the application level and the input data level. The effectiveness of the proposed closed-loop approach is validated both through extensive simulation and testbed experiments by comparing approximate versus exact-computation performance.

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

[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]  Ramesh Govindan,et al.  Odessa: enabling interactive perception applications on mobile devices , 2011, MobiSys '11.

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

[5]  John F. Canny,et al.  A Computational Approach to Edge Detection , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[6]  Henry Hoffmann,et al.  Managing performance vs. accuracy trade-offs with loop perforation , 2011, ESEC/FSE '11.

[7]  C. Lawrence Zitnick,et al.  Edge Boxes: Locating Object Proposals from Edges , 2014, ECCV.

[8]  Jitendra Malik,et al.  A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics , 2001, Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001.

[9]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[10]  Sherief Reda,et al.  DRUM: A Dynamic Range Unbiased Multiplier for approximate applications , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[12]  Martin Vetterli,et al.  Poster abstract: Sensorcam: An energy-efficient smart wireless camera for environmental monitoring , 2012, 2012 ACM/IEEE 11th International Conference on Information Processing in Sensor Networks (IPSN).

[13]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[14]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[15]  Dario Pompili,et al.  MobiDiC: Exploiting the untapped potential of mobile distributed computing via approximation , 2016, PerCom.

[16]  Dario Pompili,et al.  Uncertainty-Aware Autonomic Resource Provisioning for Mobile Cloud Computing , 2015, IEEE Transactions on Parallel and Distributed Systems.

[17]  Bill Triggs,et al.  Histograms of oriented gradients for human detection , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).