Using Machine Learning to Optimize Web Interactions on Heterogeneous Mobile Systems

The web has become a ubiquitous application development platform for mobile systems. Yet, energy-efficient mobile web browsing remains an outstanding challenge. Prior work in the field mainly focuses on the initial page loading stage but fails to exploit the opportunities for energy-efficiency optimization while the user is interacting with a loaded page. This paper presents a novel approach for performing energy optimization for interactive mobile web browsing. At the heart of our approach is a set of machine learning models, which estimate \emph{at runtime} the frames per second for a given user interaction input by running the computation-intensive web render engine on a specific processor core under a given clock speed. We use the learned predictive models as a utility function to quickly search for the optimal processor setting to carefully trade responsive time for reduced energy consumption. We integrate our techniques to the open-source Chromium browser and apply it to two representative mobile user events: scrolling and pinching (i.e., zoom in and out). We evaluate the developed system on the landing pages of the top-100 hottest websites and two big.LITTLE heterogeneous mobile platforms. Our extensive experiments show that the proposed approach reduces system-wide energy consumption by over 36\% on average and up to 70\%. This translates to an over 10\% improvement on energy-efficiency over a state-of-the-art event-based web browser scheduler, but with significantly fewer violations on the quality of service.

[1]  Dan Boneh,et al.  Who killed my battery?: analyzing mobile browser energy consumption , 2012, WWW.

[2]  Peng Zhang,et al.  Auto-tuning Streamed Applications on Intel Xeon Phi , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[3]  Michael F. P. O'Boyle,et al.  OpenCL Task Partitioning in the Presence of GPU Contention , 2013, LCPC.

[4]  Michael F. P. O'Boyle,et al.  Smart, adaptive mapping of parallelism in the presence of external workload , 2013, Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[5]  Richard S. Sutton,et al.  Introduction to Reinforcement Learning , 1998 .

[6]  Jeff,et al.  ARM big.LITTLE系统技术应用 , 2013 .

[7]  Vijay Janapa Reddi,et al.  High-performance and energy-efficient mobile web browsing on big/little systems , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[8]  Michael F. P. O'Boyle,et al.  Partitioning streaming parallelism for multi-cores: A machine learning based approach , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[9]  Eduard Ayguadé,et al.  Task Scheduling Techniques for Asymmetric Multi-Core Systems , 2017, IEEE Transactions on Parallel and Distributed Systems.

[10]  Yingjun Lyu,et al.  Automated Energy Optimization of HTTP Requests for Mobile Applications , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[11]  Todd D. Millstein,et al.  RERAN: Timing- and touch-sensitive record and replay for Android , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[12]  Carole-Jean Wu,et al.  Improving smartphone user experience by balancing performance and energy with probabilistic QoS guarantee , 2016, 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[13]  Feng Zhao,et al.  Rethinking Energy-Performance Trade-Off in Mobile Web Page Loading , 2015, GETMBL.

[14]  Michael F. P. O'Boyle,et al.  Automatic and Portable Mapping of Data Parallel Programs to OpenCL for GPU-Based Heterogeneous Systems , 2014, ACM Trans. Archit. Code Optim..

[15]  Jaehyuk Huh,et al.  Big or Little: A Study of Mobile Interactive Applications on an Asymmetric Multi-core Platform , 2015, 2015 IEEE International Symposium on Workload Characterization.

[16]  Jianbo Yang,et al.  Deep Learning for Human Activity Recognition , 2020 .

[17]  Andreas Krause,et al.  Context-aware mobile computing: learning context- dependent personal preferences from a wearable sensor array , 2006, IEEE Transactions on Mobile Computing.

[18]  Barry Porter,et al.  Improving Spark Application Throughput Via Memory Aware Task Co-location: A Mixture of Experts Approach , 2017 .

[19]  Michael F. P. O'Boyle,et al.  Integrating profile-driven parallelism detection and machine-learning-based mapping , 2014, TACO.

[20]  Yehia El-khatib,et al.  Adaptive deep learning model selection on embedded systems , 2018, LCTES.

[21]  Henry Hoffmann,et al.  CALOREE: Learning Control for Predictable Latency and Low Energy , 2018, ASPLOS.

[22]  Yi Cao,et al.  Deconstructing the Energy Consumption of the Mobile Page Load , 2017, SIGMETRICS.

[23]  Jeffrey S. Vetter,et al.  A Survey of CPU-GPU Heterogeneous Computing Techniques , 2015, ACM Comput. Surv..

[24]  Michael F. P. O'Boyle,et al.  Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping , 2009, PLDI '09.

[25]  Ravi Netravali,et al.  Prophecy: Accelerating Mobile Page Loads Using Final-state Write Logs , 2018, NSDI.

[26]  Michael F. P. O'Boyle,et al.  Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms , 2014, 2014 21st International Conference on High Performance Computing (HiPC).

[27]  Chris Cummins,et al.  End-to-End Deep Learning of Optimization Heuristics , 2017, 2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[28]  Zheng Wang,et al.  Machine Learning in Compiler Optimization , 2018, Proceedings of the IEEE.

[29]  Guohong Cao,et al.  Energy optimization through traffic aggregation in wireless networks , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[30]  Jianbin Fang,et al.  Optimizing Sparse Matrix–Vector Multiplications on an ARMv8-based Many-Core Architecture , 2019, International Journal of Parallel Programming.

[31]  Zheng Wang,et al.  Adaptive optimization for OpenCL programs on embedded heterogeneous systems , 2017, LCTES.

[32]  Zhi Zhou,et al.  eBrowser: Making Human-Mobile Web Interactions Energy Efficient with Event Rate Learning , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[33]  Michael F. P. O'Boyle,et al.  Mapping parallelism to multi-cores: a machine learning based approach , 2009, PPoPP '09.

[34]  Yu Guan,et al.  Deep Learning for Human Activity Recognition in Mobile Computing , 2018, Computer.

[35]  Sangyoung Park,et al.  Phase-Aware Web Browser Power Management on HMP Platforms , 2018, ICS.

[36]  Michael F. P. O'Boyle,et al.  A workload-aware mapping approach for data-parallel programs , 2011, HiPEAC.

[37]  Feiping Nie,et al.  Efficient and Robust Feature Selection via Joint ℓ2, 1-Norms Minimization , 2010, NIPS.

[38]  Ling Gao,et al.  Optimise web browsing on heterogeneous mobile platforms: A machine learning based approach , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[39]  Carole-Jean Wu,et al.  Machine Learning at Facebook: Understanding Inference at the Edge , 2019, 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[40]  Michael F. P. O'Boyle,et al.  Portable mapping of data parallel programs to OpenCL for heterogeneous systems , 2013, Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[41]  Feng Qian,et al.  Characterizing resource usage for mobile web browsing , 2014, MobiSys.

[42]  B. Manly Multivariate Statistical Methods : A Primer , 1986 .

[43]  Zheng Wang,et al.  Adaptive Optimization of Sparse Matrix-Vector Multiplication on Emerging Many-Core Architectures , 2018, 2018 IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[44]  Bjoern Franke,et al.  Measuring QoE of interactive workloads and characterising frequency governors on mobile devices , 2014, 2014 IEEE International Symposium on Workload Characterization (IISWC).

[45]  Zheng Wang,et al.  CrossSense: Towards Cross-Site and Large-Scale WiFi Sensing , 2018, MobiCom.

[46]  Mateo Valero,et al.  Architectural Support for Task Dependence Management with Flexible Software Scheduling , 2018, 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[47]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

[48]  Denys Poshyvanyk,et al.  Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development , 2018, 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC).

[49]  J. A. López del Val,et al.  Principal Components Analysis , 2018, Applied Univariate, Bivariate, and Multivariate Statistics Using Python.

[50]  Zhe Wu,et al.  Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices , 2015, NSDI.

[51]  Zheng Wang,et al.  Fast Automatic Heuristic Construction Using Active Learning , 2014, LCPC.

[52]  Michael F. P. O'Boyle,et al.  Using machine learning to partition streaming programs , 2013, ACM Trans. Archit. Code Optim..

[53]  Andrew L. Maas Rectifier Nonlinearities Improve Neural Network Acoustic Models , 2013 .

[54]  G. Edward Suh,et al.  Prediction-guided performance-energy trade-off for interactive applications , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[55]  Wolfgang Ertel,et al.  On the Definition of Speedup , 1994, PARLE.

[56]  Pavlos Petoumenos,et al.  Minimizing the cost of iterative compilation with active learning , 2017, 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[57]  Majid Ghaderi,et al.  Energy-delay tradeoff for request bundling on smartphones , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[58]  Yansong Feng,et al.  Proteus: network-aware web browsing on heterogeneous mobile systems , 2018, CoNEXT.

[59]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..

[60]  Yu Feng,et al.  PES: Proactive Event Scheduling for Responsive and Energy-Efficient Mobile Web Computing , 2019, 2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA).