LEO: scheduling sensor inference algorithms across heterogeneous mobile processors and network resources

Mobile apps that use sensors to monitor user behavior often employ resource heavy inference algorithms that make computational offloading a common practice. However, existing schedulers/offloaders typically emphasize one primary offloading aspect without fully exploring complementary goals (e.g., heterogeneous resource management with only partial visibility into underlying algorithms, or concurrent sensor app execution on a single resource) and as a result, may overlook performance benefits pertinent to sensor processing. We bring together key ideas scattered in existing offloading solutions to build LEO -- a scheduler designed to maximize the performance for the unique workload of continuous and intermittent mobile sensor apps without changing their inference accuracy. LEO makes use of domain specific signal processing knowledge to smartly distribute the sensor processing tasks across the broader range of heterogeneous computational resources of high-end phones (CPU, co-processor, GPU and the cloud). To exploit short-lived, but substantial optimization opportunities, and remain responsive to the needs of near real-time apps such as voice-based natural user interfaces, LEO runs as a service on a low-power co-processor unit (LPU) to perform both frequent and joint schedule optimization for concurrent pipelines. Depending on the workload and network conditions, LEO is between 1.6 and 3 times more energy efficient than conventional cloud offloading with CPU-bound sensor sampling. In addition, even if a general-purpose scheduler is optimized directly to leverage an LPU, we find LEO still uses only a fraction (< 1/7) of the energy overhead for scheduling and is up to 19% more energy efficient for medium to heavy workloads.

[1]  Mani B. Srivastava,et al.  CAreDroid: Adaptation Framework for Android Context-Aware Applications , 2016, GETMBL.

[2]  Inseok Hwang,et al.  SocioPhone: everyday face-to-face interaction monitoring platform using multi-phone sensor fusion , 2013, MobiSys '13.

[3]  Alastair R. Beresford,et al.  Device Analyzer: Understanding Smartphone Usage , 2013, MobiQuitous.

[4]  Daniel Gatica-Perez,et al.  StressSense: detecting stress in unconstrained acoustic environments using smartphones , 2012, UbiComp.

[5]  Georg Heigold,et al.  Small-footprint keyword spotting using deep neural networks , 2014, 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[6]  Hideki Kawahara,et al.  YIN, a fundamental frequency estimator for speech and music. , 2002, The Journal of the Acoustical Society of America.

[7]  Ross J. Anderson,et al.  Aurasium: Practical Policy Enforcement for Android Applications , 2012, USENIX Security Symposium.

[8]  Haichen Shen,et al.  Enhancing mobile apps to use sensor hubs without programmer effort , 2015, UbiComp.

[9]  Zhen Wang,et al.  Reflex: using low-power processors in smartphones without knowing them , 2012, ASPLOS XVII.

[10]  Jose L. Ugia Gonzalez,et al.  Google Cloud Dataflow , 2015 .

[11]  Tara N. Sainath,et al.  Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups , 2012, IEEE Signal Processing Magazine.

[12]  Cecilia Mascolo,et al.  DSP.Ear: leveraging co-processor support for continuous audio sensing on smartphones , 2014, SenSys.

[13]  Pablo Moscato,et al.  On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts : Towards Memetic Algorithms , 1989 .

[14]  Carlos Cotta,et al.  Memetic Algorithms in Planning, Scheduling, and Timetabling , 2007, Evolutionary Scheduling.

[15]  Nicholas D. Lane,et al.  DeepX: A Software Accelerator for Low-Power Deep Learning Inference on Mobile Devices , 2016, 2016 15th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN).

[16]  张国亮,et al.  Comparison of Different Implementations of MFCC , 2001 .

[17]  H Hermansky,et al.  Perceptual linear predictive (PLP) analysis of speech. , 1990, The Journal of the Acoustical Society of America.

[18]  Jun Li,et al.  Crowd++: unsupervised speaker count with smartphones , 2013, UbiComp.

[19]  Jie Liu,et al.  LittleRock: Enabling Energy-Efficient Continuous Sensing on Mobile Phones , 2011, IEEE Pervasive Computing.

[20]  Jie Liu,et al.  SpeakerSense: Energy Efficient Unobtrusive Speaker Identification on Mobile Phones , 2011, Pervasive.

[21]  Agata Brajdic,et al.  Walk detection and step counting on unconstrained smartphones , 2013, UbiComp.

[22]  Paramvir Bahl,et al.  Anatomizing application performance differences on smartphones , 2010, MobiSys '10.

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

[24]  John H. L. Hansen,et al.  Nonlinear feature based classification of speech under stress , 2001, IEEE Trans. Speech Audio Process..

[25]  Youngki Lee,et al.  SeeMon: scalable and energy-efficient context monitoring framework for sensor-rich mobile environments , 2008, MobiSys '08.

[26]  Cecilia Mascolo,et al.  EmotionSense: a mobile phones based adaptive platform for experimental social psychology research , 2010, UbiComp.

[27]  Zhigang Liu,et al.  The Jigsaw continuous sensing engine for mobile phone applications , 2010, SenSys '10.

[28]  Ramesh Govindan,et al.  Odessa: enabling interactive perception applications on mobile devices , 2011, MobiSys '11.

[29]  Guanling Chen,et al.  AppJoy: personalized mobile application discovery , 2011, MobiSys '11.

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

[31]  Sivan Toledo,et al.  Wishbone: Profile-based Partitioning for Sensornet Applications , 2009, NSDI.

[32]  Gordon Bell,et al.  MyLifeBits: a personal database for everything , 2006, CACM.

[33]  Christopher M. Bishop,et al.  Pattern Recognition and Machine Learning (Information Science and Statistics) , 2006 .

[34]  Youngki Lee,et al.  Orchestrator: An active resource orchestration framework for mobile context monitoring in sensor-rich mobile environments , 2010, 2010 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[35]  Insik Shin,et al.  SymPhoney: a coordinated sensing flow execution engine for concurrent mobile sensing applications , 2012, SenSys '12.

[36]  Guoliang Xing,et al.  ORBIT: a smartphone-based platform for data-intensive embedded sensing applications , 2015, IPSN.

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

[38]  Emiliano Miluzzo,et al.  A survey of mobile phone sensing , 2010, IEEE Communications Magazine.

[39]  Tara N. Sainath,et al.  Deep Neural Networks for Acoustic Modeling in Speech Recognition , 2012 .

[40]  Mahadev Satyanarayanan,et al.  Just-in-time provisioning for cyber foraging , 2013, MobiSys '13.

[41]  Hari Balakrishnan,et al.  Code in the air: simplifying sensing and coordination tasks on smartphones , 2012, HotMobile '12.

[42]  Eiji Oki,et al.  GLPK (GNU Linear Programming Kit) , 2012 .

[43]  Prabal Dutta,et al.  AudioDAQ: turning the mobile phone's ubiquitous headset port into a universal data acquisition interface , 2012, SenSys '12.

[44]  Qiang Li,et al.  Auditeur: a mobile-cloud service platform for acoustic event detection on smartphones , 2013, MobiSys '13.

[45]  Yunxin Liu,et al.  MoodScope: building a mood sensor from smartphone usage patterns , 2013, MobiSys.

[46]  Mun Choon Chan,et al.  SocialWeaver: collaborative inference of human conversation networks using smartphones , 2013, SenSys '13.

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