Optimise web browsing on heterogeneous mobile platforms: A machine learning based approach

Web browsing is an activity that billions of mobile users perform on a daily basis. Battery life is a primary concern to many mobile users who often find their phone has died at most inconvenient times. The heterogeneous multi-core architecture is a solution for energy-efficient processing. However, the current mobile web browsers rely on the operating system to exploit the underlying hardware, which has no knowledge of individual web contents and often leads to poor energy efficiency. This paper describes an automatic approach to render mobile web workloads for performance and energy efficiency. It achieves this by developing a machine learning based approach to predict which processor to use to run the web rendering engine and at what frequencies the processors should operate. Our predictor learns offline from a set of training web workloads. The built predictor is then integrated into the browser to predict the optimal processor configuration at runtime, taking into account the web workload characteristics and the optimisation goal: whether it is load time, energy consumption or a trade-off between them. We evaluate our approach on a representative ARM big.LITTLE mobile architecture using the hottest 500 webpages. Our approach achieves 80% of the performance delivered by an ideal predictor. We obtain, on average, 45%, 63.5% and 81% improvement respectively for load time, energy consumption and the energy delay product, when compared to the Linux heterogeneous multi-processing scheduler.

[1]  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).

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

[3]  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).

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

[5]  D. Chen,et al.  Task scheduling and voltage selection for energy minimization , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

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

[7]  Vladimir Vapnik,et al.  Statistical learning theory , 1998 .

[8]  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).

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

[10]  Guohong Cao,et al.  Reducing the Delay and Power Consumption of Web Browsing on Smartphones in 3G Networks , 2011, 2011 31st International Conference on Distributed Computing Systems.

[11]  Zhen Wang,et al.  How far can client-only solutions go for mobile browser speed? , 2011, WWW.

[12]  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.

[13]  Michael F. P. O'Boyle,et al.  Exploitation of GPUs for the Parallelisation of Probably Parallel Legacy Code , 2014, CC.

[14]  Vijay Janapa Reddi,et al.  Event-based scheduling for energy-efficient QoS (eQoS) in mobile Web applications , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[15]  Qiang Zheng,et al.  Energy-Aware Web Browsing on Smartphones , 2015, IEEE Transactions on Parallel and Distributed Systems.

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

[17]  T. H. Tse,et al.  EClass: An execution classification approach to improving the energy-efficiency of software via machine learning , 2012, J. Syst. Softw..

[18]  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..

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

[20]  Alberto Negro,et al.  Energy consumption and privacy in mobile Web browsing: Individual issues and connected solutions , 2016, Sustain. Comput. Informatics Syst..

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

[22]  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).

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

[24]  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).

[25]  Christopher C. Cummins,et al.  Synthesizing benchmarks for predictive modeling , 2017, 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[26]  Jordi Torres,et al.  Adaptive Scheduling on Power-Aware Managed Data-Centers Using Machine Learning , 2011, 2011 IEEE/ACM 12th International Conference on Grid Computing.

[27]  Gokhan Memik,et al.  Into the wild: Studying real user activity patterns to guide power optimizations for mobile architectures , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[28]  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).

[29]  Amit Kumar Singh,et al.  Mapping on multi/many-core systems: Survey of current and emerging trends , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[31]  Feng Qian,et al.  Web caching on smartphones: ideal vs. reality , 2012, MobiSys '12.

[32]  Leo A. Meyerovich,et al.  Fast and parallel webpage layout , 2010, WWW '10.

[33]  Song Guo,et al.  Energy-Efficient Transmission Scheduling in Mobile Phones Using Machine Learning and Participatory Sensing , 2015, IEEE Transactions on Vehicular Technology.

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