High-performance and energy-efficient mobile web browsing on big/little systems

Internet web browsing has reached a critical tipping point. Increasingly, users rely more on mobile web browsers to access the Internet than desktop browsers. Meanwhile, webpages over the past decade have grown in complexity by more than tenfold. The fast penetration of mobile browsing and everricher webpages implies a growing need for high-performance mobile devices in the future to ensure continued end-user browsing experience. Failing to deliver webpages meeting hard cut-off constraints could directly translate to webpage abandonment or, for e-commerce websites, great revenue loss. However, mobile devices' limited battery capacity limits the degree of performance that mobile web browsing can achieve. In this paper, we demonstrate the benefits of heterogeneous systems with big/little cores each with different frequencies to achieve the ideal trade-off between high performance and energy efficiency. Through detailed characterizations of different webpage primitives based on the hottest 5,000 webpages, we build statistical inference models that estimate webpage load time and energy consumption. We show that leveraging such predictive models lets us identify and schedule webpages using the ideal core and frequency configuration that minimizes energy consumption while still meeting stringent cut-off constraints. Real hardware and software evaluations show that our scheduling scheme achieves 83.0% energy savings, while only violating the cut-off latency for 4.1% more webpages as compared with a performance-oriented hardware strategy. Against a more intelligent, OS-driven, dynamic voltage and frequency scaling scheme, it achieves 8.6% energy savings and 4.0% performance improvement simultaneously.

[1]  Tatiana Shpeisman,et al.  Parallel programming for the web , 2012, HotPar'12.

[2]  Ronald G. Dreslinski,et al.  Full-system analysis and characterization of interactive smartphone applications , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).

[3]  Gu-Yeon Wei,et al.  Thread motion: fine-grained power management for multi-core systems , 2009, ISCA '09.

[4]  FTL : Synthesizing a Parallel Layout Engine , 2011 .

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

[6]  Lieven Eeckhout,et al.  Scheduling heterogeneous multi-cores through performance impact estimation (PIE) , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

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

[8]  Norman P. Jouppi,et al.  Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction , 2003, MICRO.

[9]  Keshav Pingali,et al.  The tao of parallelism in algorithms , 2011, PLDI '11.

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

[11]  Eric R. Ziegel,et al.  The Elements of Statistical Learning , 2003, Technometrics.

[12]  Benjamin Livshits,et al.  JSMeter: Characterizing Real-World Behavior of JavaScript Programs , 2009 .

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

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

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

[16]  Gernot Heiser,et al.  An Analysis of Power Consumption in a Smartphone , 2010, USENIX Annual Technical Conference.

[17]  Samuel T. King,et al.  A case for parallelizing web pages , 2012, HotPar'12.

[18]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[19]  Kathryn S. McKinley,et al.  The model is not enough: Understanding energy consumption in mobile devices , 2012, 2012 IEEE Hot Chips 24 Symposium (HCS).

[20]  Ming Zhang,et al.  Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof , 2012, EuroSys '12.

[21]  Vyas Sekar,et al.  Understanding website complexity: measurements, metrics, and implications , 2011, IMC '11.

[22]  Philip Levis,et al.  Policies for dynamic clock scheduling , 2000, OSDI.

[23]  Robert D. Cameron,et al.  Parabix: Boosting the efficiency of text processing on commodity processors , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[24]  Ting Cao,et al.  The Yin and Yang of power and performance for asymmetric hardware and managed software , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

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

[26]  Leo A. Meyerovich,et al.  Data Parallel Programming for Irregular Tree Computations , 2011 .