Greenweb: Language Extensions for Energy-Efficient Mobile Web

Greenweb: Language Extensions for Energy-Efficient Mobile Web

GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing Yuhao Zhu Vijay Janapa Reddi Department of Electrical and Computer Engineering, The University of Texas at Austin, USA [email protected], [email protected] http://www.wattwiseweb.org/ Abstract 1. Introduction Web computing is gradually shifting toward mobile devices, Web computing is gradually shifting toward mobile devices. in which the energy budget is severely constrained. As a As of 2014, mobile devices already generate more Inter- result, Web developers must be conscious of energy effi- net traffic than desktops, and the gap is exponentially grow- ciency. However, current Web languages provide develop- ing [49]. The major challenge for mobile Web computing ers little control over energy consumption. In this paper, is the mobile devices’ tight battery budget, which severely we take a first step toward language-level research to en- limits sustained operation time and leads to user frustration. able energy-efficient Web computing. Our key motivation is Recent statistics shows that poor energy behavior is a top that mobile systems can wisely budget energy usage if in- reason that causes negative App reviews [1], and 55% of formed with user quality-of-service (QoS) constraints. To mobile users would delete an App that exhibits heavy bat- do this, programmers need new abstractions. We propose tery usage [19]. Mobile users are now aware of major energy two language abstractions, QoS type and QoS target, to cap- consumers through energy monitoring and diagnosis Apps. ture two fundamental aspects of user QoS experience. We For example, both Android and iOS provide built-in func- then present GreenWeb, a set of language extensions that tionality showing each application’s battery usage. empower developers to easily express the QoS abstractions Because of the increasing user awareness, Web develop- as program annotations. As a proof of concept, we develop ers today must be conscious of energy efficiency. Current a GreenWeb runtime, which intelligently determines how programming language abstractions, however, provide de- to deliver specified user QoS expectation while minimiz- velopers few opportunities to optimize for energy efficiency. ing energy consumption. Overall, GreenWeb shows signif- Instead, energy optimizations are mostly conducted at the icant energy savings (29.2% ∼ 66.0%) over Android’s de- hardware and OS level via techniques such as dynamic volt- fault Interactive governor with few QoS violations. age and frequency scaling. Although effective from a sys- Our work demonstrates a promising first step toward lan- tem perspective, the key limitation of these techniques is that guage innovations for energy-efficient Web computing. they are not aware of user quality-of-service (QoS) expecta- tions and may lead to poor experience [54, 71, 73]. Failing Categories and Subject Descriptors D.3.2 [Programming Language]: Language Classifications–Specialized applica- to deliver a desirable QoS experience can cause severe con- tion languages; D.3.3 [Programming Language]: Language sequences. For example, a 1-second delay in webpage load Constructs and Features–Constraints time costs Amazon $1.6 billion annual sales lost [38]. Language Support In this paper, we present GreenWeb, Keywords Energy-efficiency, Web, Mobile computing a set of Web language extensions defined as Cascading Style Sheet (CSS) rules that allow Web developers to express user QoS expectations at an abstract level. Based on programmer- guided QoS information, the runtime substrate of GreenWeb dynamically determines how to deliver the target QoS expe- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed rience while minimizing the energy consumption. for profit or commercial advantage and that copies bear this notice and the full citation To help Web developers reason about QoS constraints in on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, Web applications, our key insight is that user QoS experi- to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. ence can be sufficiently captured by two fundamental ab- PLDI’16, June 13–17, 2016, Santa Barbara, CA, USA stractions: QoS type and QoS target. Intuitively, QoS type c 2016 ACM. 978-1-4503-4261-2/16/06...$15.00 characterizes whether users perceive QoS experience by in- http://dx.doi.org/10.1145/2908080.2908082 145 ric chip-multiprocessor (ACMP) hardware architecture [50, Web Applications 68]. ACMP is long known to provide a wide performance- GreenWeb APIs energy trade-off space, and is already widely used in today’s Section 4 Web Languages mobile systems [4, 13]. Based on the QoS information, the GreenWeb runtime predicts the ideal ACMP configuration Automatic Annotation Manual Annotation (AutoGreen) Section 5 that minimizes energy consumption while meeting specified QoS expectations. The runtime also continuously monitors QoS Abstractions Section 3 (QoS type, QoS target) hardware execution to enable adaptive optimizations. GreenWeb Runtime Security We implement GreenWeb in the open-source Chromium Frame Execution Rendering Latency Configuration Network Section 6 browser engine [27], which is directly used in Google’s Tracking Prediction Input Web Browser Web Chrome browser and is the core for many other popu- <core, frequency> frame latency lar Web browsers such as Opera and the Android default Commodity Hardware Section 7 browser. We evaluate GreenWeb on the ODroid XU+E development board [59], which contains an Exynos 5410 Fig. 1: GreenWeb system overview. Enhancements to the existing System-on-chip (SoC) that is used in the Samsung Galaxy Web stack are shaded. Web applications annotated with GreenWeb S4 smartphone. Our results show that applications with APIs provide QoS information to the GreenWeb runtime. Based GreenWeb annotations achieve 29.2% ∼ 66.0% energy sav- on the QoS information, the runtime exploits energy-delay trade- ings with only small QoS violations comparing to Android’s off in commodity hardware to minimize energy while meeting Qos interactive expectations. The hardware also continuously provides feedback to governor, which is a common energy opti- the GreenWeb runtime to enable adaptive optimizations. mization strategy for interactive use. Contributions We make four contributions in the paper: teraction responsiveness or animation smoothness, and QoS • We identify two programming abstractions of user QoS target denotes the performance level that is required to de- experience, QoS type and QoS target, that are critical to liver a desirable user experience for a specific QoS type. QoS-aware energy efficiency optimizations. GreenWeb provides specific language constructs for express- • We present GreenWeb, a set of language extensions that ing the two QoS abstractions and thus empowering Web de- allow developers to express the two QoS abstractions and velopers to provide “hints” to guide energy optimizations. guide energy optimizations in mobile Web applications. Allowing programmers to annotate QoS information in applications is both precise and efficient. It is precise be- • We demonstrate one candidate design of a GreenWeb cause only developers have exact knowledge of code logic. runtime, which leverages the ACMP heterogeneous CPU They can provide critical QoS type and target information architecture that is already prevalent in today’s mobile that is difficult for the runtime to infer. It is efficient because hardware and achieves significant energy savings over it does not entail performance and energy overhead of run- current energy optimization strategies. time detection. Such a design philosophy is similar to tra- • We present AUTOGREEN, an automatic annotation frame- ditional pragma-based programming APIs such as OpenMP. work that improves developer productivity by applying For example, the “omp for” pragma in OpenMP indicates GreenWeb annotations without developers intervention. that the iterations in a for loop are completely independent so that the runtime can safely parallelize the loop without the We make our GreenWeb language specification, design, need to check for correctness. Similarly, GreenWeb annota- and implementation as well as the AUTOGREEN framework tions allow the Web runtime to perform “best-effort” energy publicly available at: http://wattwiseweb.org/. optimizations while still guaranteeing a satisfactory QoS ex- The rest of this paper is organized as follows. Sec. 2 perience without having to infer QoS information. introduces the background and describes the scope of the Design and Implementation Fig. 1 provides an overview Web that this paper discusses. Sec. 3 defines two abstrac- of the system. Web applications are annotated with GreenWeb tions that are critical to mobile user QoS experience, and APIs to provide QoS information (i.e., QoS type and QoS Sec. 4 describes the proposed GreenWeb language constructs target) to the GreenWeb runtime. The GreenWeb runtime is that express the two abstractions. Sec. 5 presents AUTO- designed as a new Web browser component sitting alongside GREEN to demonstrate the feasibility of automatically ap- existing modules. Annotation is conducted either manually plying GreenWeb annotations to a Web application. Sec. 6 by developers or through an automatic annotation

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us