PES: Proactive Event Scheduling for Responsive and Energy-Efficient Mobile Web Computing

Web applications are gradually shifting toward resource-constrained mobile devices. As a result, the Web runtime system must simultaneously address two challenges: responsiveness and energy-efficiency. Conventional Web runtime systems fall short due to their reactive nature: they react to a user event only after it is triggered. The reactive strategy leads to local optimizations that schedule event executions one at a time, missing global optimization opportunities. This paper proposes Proactive Event Scheduling (PES). The key idea of PES is to proactively anticipate future events and thereby globally coordinate scheduling decisions across events. Specifically, PES predicts events that are likely to happen in the near future using a combination of statistical inference and application code analysis. PES then speculatively executes future events ahead of time in a way that satisfies the QoS constraints of all the events while minimizing the global energy consumption. Fundamentally, PES unlocks more optimization opportunities by enlarging the scheduling window, which enables coordination across both outstanding events and predicted events. Hardware measurements show that PES reduces the QoS violation and energy consumption by 61.2% and 26.5%, respectively, over the Android's default Interactive CPU governor. It also reduces the QoS violation and energy consumption by 63.1% and 17.9%, respectively, compared to EBS, a state-of-the-art reactive scheduler.

[1]  Venkatesh Pallipadi,et al.  The Ondemand Governor Past, Present, and Future , 2010 .

[2]  Feng Qian,et al.  A close examination of performance and power characteristics of 4G LTE networks , 2012, MobiSys '12.

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

[4]  Hari Balakrishnan,et al.  Polaris: Faster Page Loads Using Fine-grained Dependency Tracking , 2016, NSDI.

[5]  Vijay Janapa Reddi,et al.  WebCore: Architectural support for mobile Web browsing , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

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

[7]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[8]  Alexander V. Veidenbaum,et al.  Towards parallelizing the layout engine of firefox , 2010 .

[9]  Feng Qian,et al.  Profiling resource usage for mobile applications: a cross-layer approach , 2011, MobiSys '11.

[10]  Carole-Jean Wu,et al.  DORA: Optimizing Smartphone Energy Efficiency and Web Browser Performance under Interference , 2018, 2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[11]  Samarjit Chakraborty,et al.  Control theory-based DVS for interactive 3D games , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[12]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[13]  Josef Noll,et al.  SenaaS: An event-driven sensor virtualization approach for Internet of Things cloud , 2010, 2010 IEEE International Conference on Networked Embedded Systems for Enterprise Applications.

[14]  Yunxin Liu,et al.  Optimizing Smartphone Power Consumption through Dynamic Resolution Scaling , 2015, MobiCom.

[15]  Lu Wang,et al.  Smart caching for web browsers , 2010, WWW '10.

[16]  Vijay Janapa Reddi,et al.  Microarchitectural implications of event-driven server-side web applications , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[17]  Karin Strauss,et al.  PocketWeb: instant web browsing for mobile devices , 2012, ASPLOS XVII.

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

[19]  Mason Chang,et al.  Trace-based just-in-time type specialization for dynamic languages , 2009, PLDI '09.

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

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

[22]  David Wetherall,et al.  Speeding up Web Page Loads with Shandian , 2016, NSDI.

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

[24]  Jon Howell,et al.  Crom: Faster Web Browsing Using Speculative Execution , 2010, NSDI.

[25]  Vijay Janapa Reddi,et al.  Mobile CPU's rise to power: Quantifying the impact of generational mobile CPU design trends on performance, energy, and user satisfaction , 2016, 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[26]  Scott A. Mahlke,et al.  Accelerating asynchronous programs through Event Sneak Peek , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

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

[28]  Michael Cohen,et al.  Energy types , 2012, OOPSLA '12.

[29]  Alec Wolman,et al.  Outatime: Using Speculation to Enable Low-Latency Continuous Interaction for Mobile Cloud Gaming , 2015, MobiSys.

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

[31]  Xin Fu,et al.  Redefining QoS and customizing the power management policy to satisfy individual mobile users , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[32]  Scott A. Mahlke,et al.  Dynamic parallelization of JavaScript applications using an ultra-lightweight speculation mechanism , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

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

[34]  Miska M. Hannuksela,et al.  HEVC-compliant Tile-based Streaming of Panoramic Video for Virtual Reality Applications , 2016, ACM Multimedia.

[35]  David A. Patterson,et al.  Computer Architecture, Fifth Edition: A Quantitative Approach , 2011 .

[36]  Mahmut T. Kandemir,et al.  VIP: Virtualizing IP chains on handheld platforms , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[37]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[38]  David Kaeli,et al.  Speculative execution in high performance computer architectures , 2005 .

[39]  Henry Hoffmann,et al.  Bard: A unified framework for managing soft timing and power constraints , 2016, 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS).

[40]  Mahmut T. Kandemir,et al.  Domain knowledge based energy management in handhelds , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[41]  Vijay Janapa Reddi,et al.  Mosaic: cross-platform user-interaction record and replay for the fragmented android ecosystem , 2015, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

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

[43]  Alvin Cheung,et al.  VisualCloud Demonstration: A DBMS for Virtual Reality , 2017, SIGMOD Conference.

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

[45]  Sharad Malik,et al.  Compile-time dynamic voltage scaling settings: opportunities and limits , 2003, PLDI '03.

[46]  Scott A. Mahlke,et al.  EFetch: Optimizing instruction fetch for event-driven web applications , 2014, 2014 23rd International Conference on Parallel Architecture and Compilation (PACT).

[47]  Anthony Canino,et al.  Proactive and adaptive energy-aware programming with mixed typechecking , 2017, PLDI.

[48]  David Kaeli,et al.  Speculative Execution In High Performance Computer Architectures (Chapman & Hall/Crc Computer & Information Science Series) , 2005 .

[49]  Vijay Janapa Reddi,et al.  The Role of the CPU in Energy-Efficient Mobile Web Browsing , 2015, IEEE Micro.

[50]  Vijay Janapa Reddi,et al.  GreenWeb: language extensions for energy-efficient mobile web computing , 2016, PLDI.

[51]  Carole-Jean Wu,et al.  Optimizing User Satisfaction of Mobile Workloads Subject to Various Sources of Uncertainties , 2019, IEEE Transactions on Mobile Computing.

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

[53]  Lin Zhong,et al.  Chameleon: A Color-Adaptive Web Browser for Mobile OLED Displays , 2012, IEEE Transactions on Mobile Computing.

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

[55]  Zheng Wang,et al.  Using latency to evaluate interactive system performance , 1996, OSDI '96.

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