An input-centric performance model for computational offloading of mobile applications

Abstract Computational offloading frameworks are a widely-researched technology for optimising mobile applications through the use of cloud resources. Existing frameworks fail to fully account for the effect of input data characteristics on application behaviour. Comprehensive timing models exist in the literature, but feature information requirements and performance overheads that preclude use on mobile devices. In this paper, we propose a conceptual model for an input-centric view of application performance. Our proposed model simplifies the existing count-and-weights and pipeline timing models to significantly reduce their information and processing requirements, facilitating use on resource-constrained mobile devices. Our proposed model also utilises symbolic execution techniques to account for the effects of application input data characteristics. Validation with both synthetic and real device datasets demonstrates that our model provides an extremely accurate approximation of the count-and-weights model. Results demonstrate the predictive power of our model for linear execution paths with no loops or recursion. Further work with improved symbolic execution techniques may look to expand application of our proposed model to real-world use cases. The proposed input-centric approach provides a promising foundation for incorporating a deeper level of application-specific knowledge into computational offloading framework cost models, with the potential to contribute to higher-quality offloading decisions.

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

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

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

[4]  Olivier Temam,et al.  Chaos in computer performance , 2005, Chaos.

[5]  Ling Huang,et al.  Predicting Execution Time of Computer Programs Using Sparse Polynomial Regression , 2010, NIPS.

[6]  Vivek Sarkar,et al.  Determining average program execution times and their variance , 1989, PLDI '89.

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

[8]  Ting Wang,et al.  On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications , 2014, 2014 IEEE 22nd International Conference on Network Protocols.

[9]  Grace A. Lewis,et al.  Architectural tactics for cyber-foraging: Results of a systematic literature review , 2015, J. Syst. Softw..

[10]  Visar Januzaj,et al.  Performance Modelling for Avionics Systems , 2009, EUROCAST.

[11]  Vinicius H. S. Durelli,et al.  An empirical study to quantify the characteristics of Java programs that may influence symbolic execution from a unit testing perspective , 2016, J. Syst. Softw..

[12]  Sparsh Mittal,et al.  A survey of techniques for improving energy efficiency in embedded computing systems , 2014, Int. J. Comput. Aided Eng. Technol..

[13]  Kang G. Shin,et al.  Measurement of OS services and its application to performance modeling and analysis of integrated embedded software , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[14]  Jakob Engblom,et al.  Processor Pipelines and Static Worst-Case Execution Time Analysis , 2002 .

[15]  Joseph Gil,et al.  A microbenchmark case study and lessons learned , 2011, SPLASH Workshops.

[16]  Chang Yun Park,et al.  Predicting program execution times by analyzing static and dynamic program paths , 1993, Real-Time Systems.

[17]  Eli Tilevich,et al.  Reducing the Energy Consumption of Mobile Applications Behind the Scenes , 2013, 2013 IEEE International Conference on Software Maintenance.

[18]  Björn Franke,et al.  Fast cycle-approximate instruction set simulation , 2008, SCOPES '08.

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

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

[21]  M. Abramowitz,et al.  Handbook of Mathematical Functions With Formulas, Graphs and Mathematical Tables (National Bureau of Standards Applied Mathematics Series No. 55) , 1965 .

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

[23]  Isabelle Puaut,et al.  Worst Case Execution Time Analysis for a Processor with Branch Prediction , 2004, Real-Time Systems.

[24]  Daniele Puccinelli,et al.  Reducing your local footprint with anyrun computing , 2016, Comput. Commun..

[25]  Andreas Holzer,et al.  Timely Time Estimates , 2010, ISoLA.

[26]  Yunheung Paek,et al.  Mantis: Automatic Performance Prediction for Smartphone Applications , 2013, USENIX Annual Technical Conference.

[27]  Dan Tsafrir,et al.  System noise, OS clock ticks, and fine-grained parallel applications , 2005, ICS '05.

[28]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[29]  Mostafa Ammar,et al.  IC-Cloud: Computation Offloading to an Intermittently-Connected Cloud , 2013 .

[30]  Torsten Hoefler,et al.  Characterizing the Influence of System Noise on Large-Scale Applications by Simulation , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[31]  George Candea,et al.  S2E: a platform for in-vivo multi-path analysis of software systems , 2011, ASPLOS XVI.

[32]  Susan Coghlan,et al.  The Influence of Operating Systems on the Performance of Collective Operations at Extreme Scale , 2006, 2006 IEEE International Conference on Cluster Computing.

[33]  Jan Gustafsson,et al.  Early execution time-estimation through automatically generated timing models , 2016, Real-Time Systems.

[34]  Paramvir Bahl,et al.  Fine-grained power modeling for smartphones using system call tracing , 2011, EuroSys '11.

[35]  Sanjit A. Seshia,et al.  Timing analysis of interrupt-driven programs under context bounds , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[36]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

[37]  M. Stone Cross‐Validatory Choice and Assessment of Statistical Predictions , 1976 .

[38]  George Candea,et al.  The S2E Platform: Design, Implementation, and Applications , 2012, TOCS.

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

[40]  Susan Coghlan,et al.  Benchmarking the effects of operating system interference on extreme-scale parallel machines , 2008, Cluster Computing.

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

[42]  Guohong Cao,et al.  Energy-Efficient Computation Offloading in Cellular Networks , 2015, 2015 IEEE 23rd International Conference on Network Protocols (ICNP).

[43]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..

[44]  Rolf Ernst,et al.  Embedded program timing analysis based on path clustering and architecture classification , 1997, ICCAD 1997.

[45]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[46]  Paolo Giusto,et al.  Reliable estimation of execution time of embedded software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[47]  Ralf Klamma,et al.  Mobile Cloud Computing: A Comparison of Application Models , 2011, ArXiv.

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

[49]  Björn Lisper,et al.  Improved Heuristics for Partitioned Multiprocessor Scheduling Based on Rate-Monotonic Small-Tasks , 2011, RTNS.

[50]  J. Wenny Rahayu,et al.  Mobile cloud computing: A survey , 2013, Future Gener. Comput. Syst..

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

[52]  William H. Press,et al.  Numerical recipes in C , 2002 .

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

[54]  Syed Adeel Ali Shah,et al.  A Study on the Critical Analysis of Computational Offloading Frameworks for Mobile Cloud Computing , 2015, J. Netw. Comput. Appl..

[55]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 1997, Real-Time Systems.

[56]  Huber Flores,et al.  Adaptive code offloading for mobile cloud applications: exploiting fuzzy sets and evidence-based learning , 2013, MCS '13.

[57]  Francisco J. Cazorla,et al.  A Quantitative Analysis of OS Noise , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[58]  Jonathan Levin Mac OS X and iOS Internals: To the Apple's Core , 2012 .

[59]  David B. Whalley,et al.  A retargetable technique for predicting execution time of code segments , 2005, Real-Time Systems.

[60]  Vasudeva Varma,et al.  MECCA: mobile, efficient cloud computing workload adoption framework using scheduler customization and workload migration decisions , 2013, MobileCloud '13.

[61]  Sachin Katti,et al.  MARS: adaptive remote execution for multi-threaded mobile devices , 2011, MobiHeld '11.

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

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

[64]  Koushik Sen,et al.  Symbolic execution for software testing: three decades later , 2013, CACM.

[65]  Ravi Kothari,et al.  Identifying sources of Operating System Jitter through fine-grained kernel instrumentation , 2007, 2007 IEEE International Conference on Cluster Computing.

[66]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[67]  David K. Gifford,et al.  Static dependent costs for estimating execution time , 1994, LFP '94.

[68]  Friedhelm Stappert,et al.  Complete worst-case execution time analysis of straight-line hard real-time programs , 2000, J. Syst. Archit..

[69]  James R. Larus,et al.  Optimally profiling and tracing programs , 1994, TOPL.

[70]  Piet Demeester,et al.  Mobile device power models for energy efficient dynamic offloading at runtime , 2016, J. Syst. Softw..

[71]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[72]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[73]  Ingrid Daubechies,et al.  Ten Lectures on Wavelets , 1992 .

[74]  Corina S. Pasareanu,et al.  A survey of new trends in symbolic execution for software testing and analysis , 2009, International Journal on Software Tools for Technology Transfer.

[75]  Carl Staelin lmbench: an extensible micro‐benchmark suite , 2005, Softw. Pract. Exp..

[76]  Sanjit A. Seshia,et al.  Game-theoretic timing analysis , 2008, ICCAD 2008.