GreenWeb: language extensions for energy-efficient mobile web computing

Web computing is gradually shifting toward mobile devices, in which the energy budget is severely constrained. As a result, Web developers must be conscious of energy efficiency. However, current Web languages provide developers little control over energy consumption. In this paper, we take a first step toward language-level research to enable energy-efficient Web computing. Our key motivation is that mobile systems can wisely budget energy usage if informed with user quality-of-service (QoS) constraints. To do this, programmers need new abstractions. We propose two language abstractions, QoS type and QoS target, to capture two fundamental aspects of user QoS experience. We then present GreenWeb, a set of language extensions that empower developers to easily express the QoS abstractions as program annotations. As a proof of concept, we develop a GreenWeb runtime, which intelligently determines how to deliver specified user QoS expectation while minimizing energy consumption. Overall, GreenWeb shows significant energy savings (29.2% ∼ 66.0%) over Android’s default Interactive governor with few QoS violations. Our work demonstrates a promising first step toward language innovations for energy-efficient Web computing.

[1]  Darin Fisher,et al.  Link Prefetching in Mozilla: A Server-Driven Approach , 2003, WCW.

[2]  Clayton Shepard,et al.  LiveLab: measuring wireless networks and smartphone users in the field , 2011, SIGMETRICS Perform. Evaluation Rev..

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

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

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

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

[7]  Jock D. Mackinlay,et al.  The information visualizer, an information workspace , 1991, CHI.

[8]  Fabrice Paillet,et al.  FIVR — Fully integrated voltage regulators on 4th generation Intel® Core™ SoCs , 2014, 2014 IEEE Applied Power Electronics Conference and Exposition - APEC 2014.

[9]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

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

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

[12]  Robert Richards,et al.  Document Object Model (DOM) , 2006 .

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

[14]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

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

[16]  Whitepaper NVIDIA Tegra 4 Family CPU Architecture 4-PLUS-1 Quad core , .

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

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

[19]  Meeta Sharma Gupta,et al.  System level analysis of fast, per-core DVFS using on-chip switching regulators , 2008, 2008 IEEE 14th International Symposium on High Performance Computer Architecture.

[20]  Kathryn S. McKinley,et al.  The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing , 2013, OOPSLA.

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

[22]  Yale N. Patt,et al.  Asymmetric Chip Multiprocessors: Balancing Hardware Effic iency and Programmer Efficiency , 2007 .

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

[24]  Gabriele Bavota,et al.  Mining energy-greedy API usage patterns in Android apps: an empirical study , 2014, MSR 2014.

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

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

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

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

[29]  Jakob Nielsen,et al.  Chapter 6 – Usability Testing , 1993 .

[30]  Robert B. Miller,et al.  Response time in man-computer conversational transactions , 1899, AFIPS Fall Joint Computing Conference.

[31]  Ramesh Govindan,et al.  Estimating mobile application energy consumption using program analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

[33]  Margaret Martonosi,et al.  A dynamic compilation framework for controlling microprocessor energy and performance , 2005, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05).

[34]  Sasu Tarkoma,et al.  Carat: collaborative energy diagnosis for mobile devices , 2013, SenSys '13.

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

[36]  Kajal T. Claypool,et al.  The effects of frame rate and resolution on users playing first person shooter games , 2006, Electronic Imaging.

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

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

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

[40]  Francisco J. Martínez-López,et al.  Evolution of the Web , 2016 .

[41]  Xia Zhou,et al.  Human Sensing Using Visible Light Communication , 2015, MobiCom.

[42]  George C. Necula,et al.  EventBreak: analyzing the responsiveness of user interfaces through performance-guided test generation , 2014, OOPSLA.

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