Conference Paper

Rethinking Energy-Performance Trade-Off in Mobile Web Page Loading

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Web browsing is a key application on mobile devices. However, mobile browsers are largely optimized for performance, imposing a significant burden on power-hungry mobile devices. In this work, we aim to reduce the energy consumed to load web pages on smartphones, preferably without increasing page load time and compromising user experience. To this end, we first study the internals of web page loading on smartphones and identify its energy-inefficient behaviors. Based on our findings, we then derive general design principles for energy-efficient web page loading, and apply these principles to the open-source Chromium browser and implement our techniques on commercial smartphones. Experimental results show that our techniques are able to achieve a 24.4% average system energy saving for Chromium on a latest-generation big.LITTLE smartphone using WiFi (a 22.5% saving when using 3G), while not increasing average page load time. We also show that our proposed techniques can bring a 10.5% system energy saving on average with a small 1.69\% increase in page load time for mobile Firefox web browser. User study results indicate that such a small increase in page load time is hardly perceivable.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Several studies have been proposed, which can mitigate low battery anxiety; energy consumption monitoring and analysis tools [4][5][6][7][8][9][10][11][12] provide users and software developers with guidance on how to optimize energy consumption. Software-centric optimization approaches such as application-level [2,5,7,[13][14][15][16][17] and systemlevel [18] introduced various techniques to reconstruct the software behavior to reduce energy consumption. As such, a number of studies proposed techniques to minimize energy consumption for a single chemical type of battery. ...
... Improving battery performance for mobile devices without battery change: A large body of research has studied techniques to improve the performance of batteries for mobile systems. They improve it from various aspects: measurement and analysis techniques [5][6][7][8][9][10][11][12], charging techniques [41,[47][48][49], and energy management at application-level [5,7,[13][14][15][16][17] and at system-level [18]. Recently, Tang et al. [2,50] alleviated the low battery anxiety of mobile users' using a technique of low power video streaming. ...
... Integration with low power management software. Mobile OSes already manage the low battery situation by power saving modes [55][56][57], and there are many power-saving software techniques [7,[14][15][16] which limit background services, CPU, or screen. Since such approaches are orthogonal to MixMax, we can further improve the low battery experience by adopting those software and MixMax at the same time. ...
... The multimeters are connected to a power link transmitting energy from a battery or a constant laboratory power supply to the mobile phone. We identified Monsoon Solutions's power monitor as the most commonly used hardware [15], [16], [27]- [29], [44], [51], [52], [57], [62]- [64]. We assume that Monsoon's power monitor is often used as it can take up to 5000 samples per second, and has a +/-50µA accuracy [68]. ...
... Software-based 16 [3], [16], [26], [27], [30], [31], [31]- [34], [39], [43], [46], [47], [49], [50], [59] Hardware-based 24 [14], [15], [28], [29], [35], [37], [38], [40], [41], [44], [45], [51]- [56], [58], [60], [62]- [65], [67] Estimation-based 4 [36], [42], [48], [61] supplier profiles) on the device and can be accessed via the Android Debug Bridge, for further analysis, even on a single hardware unit [30], [32], [33]. An alternative for devices with Qualcomm chips was Trepn Profiler [31], [32], [49], [50]. ...
... The mobile device: In past experiments, Android devices have been commonly used for measurements, with Samsung [14], [28], [29], [34], [36], [40], [42], [46], [51], [57], [58], [62] and Nexus [26], [31], [32], [35], [37], [41], [44], [51]- [53], [61], [63] devices being the most popular ones. The Android versions differed from Android 4 to 11. ...
Preprint
Full-text available
In 2022, over half of the web traffic was accessed through mobile devices. By reducing the energy consumption of mobile web apps, we can not only extend the battery life of our devices, but also make a significant contribution to energy conservation efforts. For example, if we could save only 5% of the energy used by web apps, we estimate that it would be enough to shut down one of the nuclear reactors in Fukushima. This paper presents a comprehensive overview of energy-saving experiments and related approaches for mobile web apps, relevant for researchers and practitioners. To achieve this objective, we conducted a systematic literature review and identified 44 primary studies for inclusion. Through the mapping and analysis of scientific papers, this work contributes: (1) an overview of the energy-draining aspects of mobile web apps, (2) a comprehensive description of the methodology used for the energy-saving experiments, and (3) a categorization and synthesis of various energy-saving approaches. -- Published version: 10.1109/MOBILSoft59058.2023.00017
... Traditional ACMP schedulers such as OS governors [3,53] are QoS-agnostic, and thus tend to miss event/job QoS targets or waste energy. Recent work has started investigating QoS-aware schedulers that make scheduling decisions based on individual event's QoS targets [21,40,44,56,58,70]. Most of such scheduling techniques are based on predicting the execution latency of the next schedulable event using history information [21,70], machine learning [56,58,72], and a combination of profiling and machine learning [44]. ...
... Recent work has started investigating QoS-aware schedulers that make scheduling decisions based on individual event's QoS targets [21,40,44,56,58,70]. Most of such scheduling techniques are based on predicting the execution latency of the next schedulable event using history information [21,70], machine learning [56,58,72], and a combination of profiling and machine learning [44]. Others have studied applying control theory to ACMP scheduling [32,39,40]. ...
... General Mobile Web Optimization Prior work on mobile Web has primarily focused on improving the absolute performance through paralleling browser tasks [19,47], smart browser caching [68], resource loading [21,45], and improving the JavaScript engine [29,46]. Our work on proactive scheduling focus on user-perceivable performance (i.e., QoS), but can benefit from the absolute performance improvement techniques to better exploit time slack for global optimizations. ...
Preprint
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 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.
... Traditional ACMP schedulers such as OS governors [3,53] are QoS-agnostic, and thus tend to miss event/job QoS targets or waste energy. Recent work has started investigating QoS-aware schedulers that make scheduling decisions based on individual event's QoS targets [21,40,44,56,58,70]. Most of such scheduling techniques are based on predicting the execution latency of the next schedulable event using history information [21,70], machine learning [56,58,72], and a combination of profiling and machine learning [44]. ...
... Recent work has started investigating QoS-aware schedulers that make scheduling decisions based on individual event's QoS targets [21,40,44,56,58,70]. Most of such scheduling techniques are based on predicting the execution latency of the next schedulable event using history information [21,70], machine learning [56,58,72], and a combination of profiling and machine learning [44]. Others have studied applying control theory to ACMP scheduling [32,39,40]. ...
... General Mobile Web Optimization Prior work on mobile Web has primarily focused on improving the absolute performance through paralleling browser tasks [19,47], smart browser caching [68], resource loading [21,45], and improving the JavaScript engine [29,46]. Our work on proactive scheduling focus on user-perceivable performance (i.e., QoS), but can benefit from the absolute performance improvement techniques to better exploit time slack for global optimizations. ...
Conference Paper
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.
... 7 Table IV. Comparative evaluation of different concepts/entities Category References Desktop and mobile webpages/browsers/processors [3,11,13,16,38,54,67,74,75] Cloud and device-local browser [40] Websites with different webpage/image sizes [13,16,27,33,46,52,56] Websites with different update frequency [28,67] Different networks (e.g., 3G vs. LTE) [8,9,12,15,17,30,40,41,51] Different bandwidth/network conditions [11,13,29,68] Enabling and disabling SPDY [30] Different image formats (e.g., JPEG and PNG) [25,29,33,54,57,74] In-order and out-of-order processor [10,44,46] Different phones (e.g., feature-phone and smart-phone) [17,27] 3. TECHNIQUES FOR SAVING ENERGY While the battery capacity of mobile devices are unlikely to increase significantly or soon, the energy demands on them are escalating fast due to several features, such as powerful processors/displays, multitasking and advanced wireless technologies [76]. This makes energy-efficiency the primary constraint in the design and operation of mobile systems [77]. ...
... Processor-level energy saving techniques are discussed in Section 6. In cellular networks, the radio energy consumption can be reduced significantly by batching the transfers in a single burst instead of sending the data intermittently, since this allows transitioning the device in low-energy mode for longer time [11,[15][16][17]51]. Some techniques reduce over-provisioning to save energy, for example, by slowing-down the JS. ...
... Some works study the impact of screen-size in relation to the size of webpages [3,61,78]. Reference Data transfer batching [11, 15-17, 51, 56] Separating computation and communication [16,56] Avoiding display of partial webpage [16] Using page-specific JS and CSS [54] Throttling content paint rate [51] Throttling execution speed of JS [57] Network-aware management [29,41,51] Battery-aware management [41] Color transformation for OLED display [55] Several techniques for reducing energy consumption or PLT use proxy-based optimizations. These techniques along with their key ideas are summarized in Table VI. ...
Article
Full-text available
Mobile web traffic has now surpassed the desktop web traffic and has become the primary means for service providers to reach-out to the billions of end-users. Due to this trend, optimization of mobile web browsing (MWB) has gained significant attention. In this paper, we present a survey of techniques for improving efficiency of web browsing on mobile systems, proposed in last 6-7 years. We review the techniques from both networking domain (e.g., proxy and browser enhancements) and processor-architecture domain (e.g., hardware customization, thread-to-core scheduling). We organize the research works based on key parameters to highlight their similarities and differences. Beyond summarizing the recent works, this survey aims to emphasize the need of architecting for MWB as the first principle, instead of retrofitting for it.
... For years, researchers have been building home-grown test-beds for hardwarebased power measurements, consisting of an Android device connected to a highfrequency power monitor [13,14,21,40]. This required expertise in hardware setup and writing code when automation is needed -code which is unfortunately never shared with the community. ...
... There is an increasing interest in understanding the power drawn by modern websites and browsers [13,14,40], especially on smartphones due to inherent battery constraints. Although different, these studies share a scalability limitation: 1) they most target a single Android device, 2) they only test 100 websites or less accessed from a single location. ...
Preprint
Full-text available
Advances in cloud computing have simplified the way that both software development and testing are performed. This is not true for battery testing for which state of the art test-beds simply consist of one phone attached to a power meter. These test-beds have limited resources, access, and are overall hard to maintain; for these reasons, they often sit idle with no experiment to run. In this paper, we propose to share existing battery testbeds and transform them into vantage points of BatteryLab, a power monitoring platform offering heterogeneous devices and testing conditions. We have achieved this vision with a combination of hardware and software which allow to augment existing battery test-beds with remote capabilities. BatteryLab currently counts three vantage points, one in Europe and two in the US, hosting three Android devices and one iPhone 7. We benchmark BatteryLab with respect to the accuracy of its battery readings, system performance, and platform heterogeneity. Next, we demonstrate how measurements can be run atop of BatteryLab by developing the "Web Power Monitor" (WPM), a tool which can measure website power consumption at scale. We released WPM and used it to report on the energy consumption of Alexa's top 1,000 websites across 3 locations and 4 devices (both Android and iOS).
... There are also some studies related with the energy consumption of web sites [64] and the effect of different JavaScript libraries on energy consumption [43]. Energy efficiency is also worked by the browsers [18,35,66,67,16]. [49] compares the energy consumption of two different operating system: Android and Angstrom Linux, with two different sorting algorithms. ...
... Apart from the sector, there are some scientific studies that aim to improve the energy efficiency of the browsers. [16] worked on reducing the energy consumption to load web pages on smartphones presenting three different techniques. ...
Conference Paper
Mobile devices and also the web have become essential in our daily lives. Although mobile devices nowadays are technically much stronger than the desktops in the past, they still have some limitations regarding the battery size, processing power, and device memory. Additionally , the development of battery capacity is slow and increasing at around 3% per year. These limitations have effects on browsing web pages since they are not designed for mobile use, and it takes more power than necessary on the client side. To save energy and extend the battery life, there are some guidelines for web site programmers. However, most programmers are not aware of these guidelines, and therefore most web sites do not adhere to these guidelines. Important components of modern websites are the scripts that make them dynamic and stylesheets that are used for visual rendering. These two are external components of websites that are shown to effect the downloading time of web pages. This paper first investigates the effect of scripts and stylesheets on the energy consumption of web pages on mobile devices, and then presents techniques that can be used to transcode web pages based on these two components to improve energy consumption and therefore improve battery life. These transcoding techniques focus on saving energy on the client side, without changing the look&feel of the web pages and without adding extra load on the client side or the server.
... Smart mobile devices play important roles in daily life because they are the dominant media through which users connect Internet services [1]. In this field, battery power management has always been a major concern because it is one of the most crucial resources for mobile devices [2]. However, the power needs of high-end smart mobile devices cannot be met with the performance of modern batteries, and the discrepancy is increasing every year [3]. ...
... To achieve this tradeoff, multiple sleep modes are employed in most upto-date DPM systems [15], [16]. 2 There is a DPM scheme that provides two sleep modes: deep sleep and light sleep. In other words, in addition to a deep sleep mode, in which power consumption is very low the consuming power is very low but the wakeup overhead is high, there is a light sleep mode, in which power consumption is relatively high but the wakeup overhead is lower than that in the deep sleep mode. ...
Article
Full-text available
In this paper, we analyze a queueing system under the dyadic server control, workload control and delivery deadlines of data blocks. From the viewpoint of efficient power management for the wireless interface of a smart mobile device, we first focus on deriving the mean length of an arbitrary cycle time and then investigate the mean energy expenditure during the cycle. Some numerical examples are shown with respect to several control parameters.We conduct simulations to evaluate the proposed analytic energy consumption models. Experiments are also performed by implementing a test program on an off-the-shelf smartphone. Our results can serve as quantitative guidelines for the efficient power management of wireless interfaces in mobile devices.
... Energy optimization. Other relevant works include optimizations for the display [47] and radio [48], dynamic content caching [49] or prefetching [50], optimizations for JavaScript [43], and multi-event scheduling [25]. As pointed out in [50], mobile web browsing requires novel techniques across the computing stack; CAMEL thus benefits from techniques from different computing layers. ...
... Other relevant works include optimizations for the display [47] and radio [48], dynamic content caching [49] or prefetching [50], optimizations for JavaScript [43], and multi-event scheduling [25]. As pointed out in [50], mobile web browsing requires novel techniques across the computing stack; CAMEL thus benefits from techniques from different computing layers. ...
Preprint
Full-text available
Web technology underpins many interactive mobile applications. However, energy-efficient mobile web interactions is an outstanding challenge. Given the increasing diversity and complexity of mobile hardware, any practical optimization scheme must work for a wide range of users, mobile platforms and web workloads. This paper presents CAMEL , a novel energy optimization system for mobile web interactions. CAMEL leverages machine learning techniques to develop a smart, adaptive scheme to judiciously trade performance for reduced power consumption. Unlike prior work, C AMEL directly models how a given web content affects the user expectation and uses this to guide energy optimization. It goes further by employing transfer learning and conformal predictions to tune a previously learned model in the end-user environment and improve it over time. We apply CAMEL to Chromium and evaluate it on four distinct mobile systems involving 1,000 testing webpages and 30 users. Compared to four state-of-the-art web-event optimizers, CAMEL delivers 22% more energy savings, but with 49% fewer violations on the quality of user experience, and exhibits orders of magnitudes less overhead when targeting a new computing environment.
... Energy optimization. Other relevant works include optimizations for the display [47] and radio [48], dynamic content caching [49] or prefetching [50], optimizations for JavaScript [43], and multi-event scheduling [25]. As pointed out in [50], mobile web browsing requires novel techniques across the computing stack; CAMEL thus benefits from techniques from different computing layers. ...
... Other relevant works include optimizations for the display [47] and radio [48], dynamic content caching [49] or prefetching [50], optimizations for JavaScript [43], and multi-event scheduling [25]. As pointed out in [50], mobile web browsing requires novel techniques across the computing stack; CAMEL thus benefits from techniques from different computing layers. Machine learning for systems optimizations. ...
... Thiagarajan et al. [48] suggested that only the JavaScript and CSS files used on the webpage should be included, because additional energy is consumed to process unnecessary JavaScript and CSS files. Bui et al. [49] introduced energy inefficiencies caused by excessive performance optimization of mobile web browsers, and proposed techniques for solving these inefficiencies. They suggested two techniques for mobile web browsers: network-aware web resource processing and adaptive content painting. ...
... They also proposed a scheduler for utilizing their technique. Bui et al. [49] attempted to improve the energy efficiency of mobile web browsers through migrating threads that are small enough to be run on the LITTLE cluster. Ren et al. [17] proposed a similar technique, but used machine learning to predict the optimal CPU setting using webpage components. ...
Conference Paper
Web browsing, previously optimized for the desktop environment, is being fine-tuned for energy-efficient use on mobile devices. Although active attempts have been made to reduce energy consumption, the advent of energy-aware scheduling (EAS) integrated in the recent devices suggests the possibility of a new approach for optimizing energy use by browsers. Our preliminary analysis showed that the existing EAS-enabled system is overly optimized for performance, leading to energy inefficiencies while a web browser is running. In this paper, we analyze the characteristics of web browsers, and investigate the cause of energy inefficiency in EAS-enabled mobile devices. We then propose a system, called WebTune, to improve the energy efficiency of mobile browsers. Exploiting the reinforcement learning technique, WebTune learns the optimal execution speed of the web browser's processes, and adjusts the speed at runtime, thus saving energy and ensuring the quality of service (QoS). WebTune is implemented on the latest Android-based smartphones, and evaluated with Alexa's top 200 websites. The experimental results show that WebTune reduced the device-level energy consumption of the Google Pixel 2 XL and Samsung Galaxy S9 Plus smartphones by 18.7-22.0% and 13.7-16.1%, respectively, without degrading the QoS.
... Moreover, games typically use a different rendering pipeline than general Android applications. Bui et al. [17] proposed techniques for energy-efficient frame rendering in a mobile web browser. The work did not, however, consider the GPU issue. ...
... However, some studies improved the energy efficiency of a CPU by using the characteristics of a specific application, e.g., a web browser. Bui et al. [17] attempted to improve the energy efficiency of mobile web browsers through migrating threads that are small enough to be run on the LITTLE cluster. GreenWeb, proposed by Zhu et al. [5], enables the development of energy-efficient web applications by providing language extensions that specify QoS types and QoS targets. ...
Conference Paper
Graphics increasingly play a key role in modern mobile devices. The graphics pipeline requires a close relationship between the CPU and the GPU to ensure energy efficiency and the user's quality of experience (QoE). Our preliminary analysis showed that the current techniques employed to achieve energy efficiency in the Android graphics pipeline are not optimized especially in the frame generation process. In this paper, we aim to improve the energy efficiency of the Android graphics pipeline without degrading the user's QoE. To achieve this goal, we studied the internals of the Android graphics pipeline and observed the energy inefficiency in the existing governing framework of the CPU and GPU. Based on the findings, we propose three techniques for addressing energy inefficiency: (1) aggressively capping the maximum CPU frequency, (2) lowering the CPU frequency by raising the GPU minimum frequency, and (3) allocating the frame rendering-related threads in the energy-efficient CPU cores. These techniques are integrated into a single governing framework, called the GFX Governor, and implemented in the newest Android-based smartphones. Experimental results show that without hampering the user's QoE the average energy consumption of Nexus 6P, Pixel XL, and Pixel 2 XL is reduced at the device level by 24.2%, 18.6%, and 13.7%, respectively, for the 60 chosen applications. We also analyzed the efficacy of the proposed technique in comparison with the state-of-the-art Energy-Aware Scheduling (EAS) implemented in the latest smartphone.
... 18 Some works 19-21 used big.LITTLE to save energy by scheduling tasks between the little and the big core. Bui et al 19 found that the little cores were not fully utilized when running Internet browser applications, and 24.4% of energy can be saved by allowing browsers to decide whether an internal thread should run on a big or on a little core. Zhu and Reddi 20 developed a regression model of web pages and energy consumption to schedule web pages by using the best core and frequency configurations for minimizing the energy. ...
... For any given offload tasks O, there are n kinds of offloading schemes, n = {1, 2, … , N}, and an offloading scheme I n b , I n l , I n r is randomly generated for mobile device i under the network capacity constraint C. With these inputs, we can further obtain the energy consumption E n i and execution time T n i accordingly. If there is E opt i ≤ E n i , then E opt i would be the optimal solution for formula (19); the same holds for (13) if there exists T opt i . However, we cannot get the optimal solution for the two objectives at the same time. ...
Article
Mobile data offloading has already appeared to offer the means of addressing the challenges of limited computing capability and battery life of mobile devices. Most existing code offloading frameworks only consider migrating an application within a single network at a time and failed to fully utilize the energy efficiency mechanism of the latest CPU chips. To tackle these issues, we propose an offloading approach under both a multitasking environment and a heterogeneous network to increase energy and execution efficiency. The offloading problem was formulated as a biobjective optimization problem that aims to save energy and keep a good performance by combining mobile cloud computing with big.LITTLE technology under a heterogeneous network equipped with cellular and WiFi connectivity. By varying the applications and network scenarios, the experimental results show that with offloading a single application using our proposed framework, the data‐intensive application can obviously benefit when the access point density of WiFi reaches 0.0002 unit/m2. Under multiple application scenarios, our proposed framework can increase processing speed by an average of 0.3× over the single application and can save an average of 25% power over the single application.
... However, they do not consider the impact of the networking environment, thus miss massive optimization opportunities. Bui et al. [14] proposed several web page rendering techniques to reduce energy consumption for mobile web browsing. Their approach uses analytical models to determine which processor core (big or little) to use to run the rendering process. ...
... Proteus avoids the pitfall by developing an approach to automatically learn how to best schedule rendering process. As this work focuses on rendering process mapping, other optimization techniques proposed in [14], such as dynamic buffering, are complementary to our work. ...
Conference Paper
We present Proteus, a novel network-aware approach for optimizing web browsing on heterogeneous multi-core mobile systems. It employs machine learning techniques to predict which of the heterogeneous cores to use to render a given webpage and the operating frequencies of the processors. It achieves this by first learning offline a set of predictive models for a range of typical networking environments. A learnt model is then chosen at runtime to predict the optimal processor configuration, based on the web content, the network status and the optimization goal. We evaluate Proteus by implementing it into the open-source Chromium browser and testing it on two representative ARM big.LITTLE mobile multi-core platforms. We apply Proteus to the top 1,000 popular websites across seven typical network environments. Proteus achieves over 80% of best available performance. It obtains, on average, over 17% (up to 63%), 31% (up to 88%), and 30% (up to 91%) improvement respectively for load time, energy consumption and the energy delay product, when compared to two state-of-the-art approaches.
... Vectorized Mobile Web Applications: While Swan contains 12 libraries of the Chromium Project, prior work [13,37] show that V8 JavaScript and WebAssembly Engine take a significant portion of the browser's time and energy. Web Assembly [41] is a complementary language to JavaScript for high-performance Web Applications. ...
Preprint
Vector processing has become commonplace in today's CPU microarchitectures. Vector instructions improve performance and energy which is crucial for resource-constraint mobile devices. The research community currently lacks a comprehensive benchmark suite to study the benefits of vector processing for mobile devices. This paper presents Swan-an extensive vector processing benchmark suite for mobile applications. Swan consists of a diverse set of data-parallel workloads from four commonly used mobile applications: operating system, web browser, audio/video messaging application, and PDF rendering engine. Using Swan benchmark suite, we conduct a detailed analysis of the performance, power, and energy consumption of vectorized workloads, and show that: (a) Vectorized kernels increase the pressure on cache hierarchy due to the higher rate of memory requests. (b) Vector processing is more beneficial for workloads with lower precision operations and higher cache hit rates. (c) Limited Instruction-Level Parallelism and strided memory accesses to multi-dimensional data structures prevent vector processing benefits from scaling with more SIMD functional units and wider registers. (d) Despite lower computation throughput than domain-specific accelerators, such as GPU, vector processing outperforms these accelerators for kernels with lower operation counts. Finally, we show five common computation patterns in mobile data-parallel workloads that dominate the execution time.
... Mobile Web Browsing. Previous studies mostly focus on understanding and improving web page loading over legacy 3G/4G networks[22,46,58]. Narayanan et al.[39] studied web page loading performance with different HTTP protocol version numbers and encryption configurations using mmWave 5G. ...
... Long app loading and execution times on mobile devices hurt user experiences, drive away user traffic, lower revenue, and cause energy drain [7]. It is thus imperative to construct proper metrics for mobile performance to safeguard against these potential issues. ...
Preprint
Full-text available
Effectively measuring, understanding, and improving mobile app performance is of paramount importance for mobile app developers. Across the mobile Internet landscape, companies run online controlled experiments (A/B tests) with thousands of performance metrics in order to understand how app performance causally impacts user retention and to guard against service or app regressions that degrade user experiences. To capture certain characteristics particular to performance metrics, such as enormous observation volume and high skewness in distribution, an industry-standard practice is to construct a performance metric as a quantile over all performance events in control or treatment buckets in A/B tests. In our experience with thousands of A/B tests provided by Snap, we have discovered some pitfalls in this industry-standard way of calculating performance metrics that can lead to unexplained movements in performance metrics and unexpected misalignment with user engagement metrics. In this paper, we discuss two major pitfalls in this industry-standard practice of measuring performance for mobile apps. One arises from strong heterogeneity in both mobile devices and user engagement, and the other arises from self-selection bias caused by post-treatment user engagement changes. To remedy these two pitfalls, we introduce several scalable methods including user-level performance metric calculation and imputation and matching for missing metric values. We have extensively evaluated these methods on both simulation data and real A/B tests, and have deployed them into Snap's in-house experimentation platform.
... The underlying goal of this paper is to benchmark the energy consumption of multiple Android browsers. A strawman approach to this research question requires: 1) building a local testbed composed of an Android device and a power meter [18,19,23,26], 2) write code to automate each browser, e.g., how to launch and instrument, 3) write code to instrument the device and the power meter, e.g., collect performance metrics and minimize experimental noise. ...
Preprint
Full-text available
Mobile web browsing has recently surpassed desktop browsing both in term of popularity and traffic. Following its desktop counterpart, the mobile browsers ecosystem has been growing from few browsers (Chrome, Firefox, and Safari) to a plethora of browsers, each with unique characteristics (battery friendly, privacy preserving, lightweight, etc.). In this paper, we introduce a browser benchmarking pipeline for Android browsers encompassing automation, in-depth experimentation, and result analysis. We tested 15 Android browsers, using Cappuccino a novel testing suite we built for third party Android applications. We perform a battery-centric analysis of such browsers and show that: 1) popular browsers tend also to consume the most, 2) adblocking produces significant battery savings (between 20 and 40% depending on the browser), and 3) dark mode offers an extra 10% battery savings on AMOLED screens. We exploit this observation to build AttentionDim, a screen dimming mechanism driven by browser events. Via integration with the Brave browser and 10 volunteers, we show potential battery savings up to 30%, on both devices with AMOLED and LCD screens.
... In the study [7], [8], an application assisted core assignment technique for the ARM big.LITTLE structure is proposed to save energy especially running the web browser. The study [9] proposes a technique for allocating CPU resources according to the concentration of users. ...
Article
Full-text available
The big.LITTLE architecture has been extensively integrated into smart mobile devices for better performance and higher energy efficiency. However, the desired energy savings obtained by the big.LITTLE architecture is not sufficiently achieved because the LITTLE cores are not fully utilized while running real-time user applications. In this study, an energy efficient big.LITTLE core assignment algorithm is proposed to reduce the energy consumption of the mobile device by utilizing the LITTLE core as much as possible while guaranteeing the real-time performance of the mobile application. By applying the proposed multi-core assignment technique on a real test-bed of an off-the-shelf smartphone, we prove that the proposed technique can improve the energy saving effect while guaranteeing real-time performance. The energy efficiency of the proposed scheme is compared with that of the legacy scheduler in various environments. In addition, we propose a machine learning-based method to predict the expected processing time more accurately for a task before assigning to one of multi-cores. The presented prediction method is expected to reduce the chances of missing a deadline when employed on the proposed multi-core assignment scheme.
... In the research community, hardware-based battery measurements are quite popular [3,4,10]. The common research iter consists of buying the required hardware (often an Android device and a Monsoon power monitor [14]), set it up on a desk, and then use it sporadically. ...
Conference Paper
There has been a growing interest in measuring and optimizing the power efficiency of mobile apps. Traditional power evaluations rely either on inaccurate software-based solutions or on ad-hoc testbeds composed of a power meter and a mobile device. This demonstration presents BatteryLab, our solution to share existing battery testing setups to build a distributed platform for battery measurements. Our vision is to transform independent battery testing setups into vantage points of a planetary-scale measurement platform offering heterogeneous devices and testing conditions. We demonstrate BatteryLab functionalities by investigating the energy efficiency of popular websites when loaded via both Android and iOS browsers. Our demonstration is also live at https://batterylab.dev/.
... Our work builds upon and directly benefits past foundations on web workload characterization [21], [22]. Other studies exploit the interplay between the web server and browser client to improve rendering speed and user experience [23], [24], or reconstruct the web browser architecture [25], [26]. These works are thus orthogonal to our approach. ...
Article
Full-text available
The web has become a ubiquitous application development platform for mobile systems. Yet, web access on mobile devices remains an energy-hungry activity. Prior work in the field mainly focuses on the initial page loading stage, but fails to exploit the opportunities for energy-efficiency optimization while the user is interacting with a loaded page. This paper presents a novel approach for performing energy optimization for interactive mobile web browsing. At the heart of our approach is a set of machine learning models, which estimate at runtime the frames per second for a given user interaction input by running the computation-intensive web render engine on a specific processor core under a given clock speed. We use the learned predictive models as a utility function to quickly search for the optimal processor setting to carefully trade responsive time for reduced energy consumption. We integrate our techniques to the open-source Chromium browser and apply it to two representative mobile user events: scrolling and pinching (i.e., zoom in and out). We evaluate the developed system on the landing pages of the top-100 hottest websites and two big.LITTLE heterogeneous mobile platforms. Our extensive experiments show that the proposed approach reduces the system-wide energy consumption by over 36% on average and up to 70%. This translates to an over 17% improvement on energy-efficiency over a state-of-the-art event-based web browser scheduler, but with significantly fewer violations on the quality of service.
... Our work builds upon and directly benefits past foundations on web workload characterization [41], [6]. Other studies exploit the interplay between the web server and browser client to improve rendering speed and user experience [5], [28], or reconstruct the web browser architecture [33], [4]. These works are thus orthogonal to our approach. ...
Preprint
Full-text available
The web has become a ubiquitous application development platform for mobile systems. Yet, energy-efficient mobile web browsing remains an outstanding challenge. Prior work in the field mainly focuses on the initial page loading stage but fails to exploit the opportunities for energy-efficiency optimization while the user is interacting with a loaded page. This paper presents a novel approach for performing energy optimization for interactive mobile web browsing. At the heart of our approach is a set of machine learning models, which estimate \emph{at runtime} the frames per second for a given user interaction input by running the computation-intensive web render engine on a specific processor core under a given clock speed. We use the learned predictive models as a utility function to quickly search for the optimal processor setting to carefully trade responsive time for reduced energy consumption. We integrate our techniques to the open-source Chromium browser and apply it to two representative mobile user events: scrolling and pinching (i.e., zoom in and out). We evaluate the developed system on the landing pages of the top-100 hottest websites and two big.LITTLE heterogeneous mobile platforms. Our extensive experiments show that the proposed approach reduces system-wide energy consumption by over 36\% on average and up to 70\%. This translates to an over 10\% improvement on energy-efficiency over a state-of-the-art event-based web browser scheduler, but with significantly fewer violations on the quality of service.
... Request permissions from permissions@acm.org. WearSys '19,June 21, plethora of work on energy management and optimization for smartphones [4,5,11], the corresponding state-of-the-art is still quite rudimentary for smartwatches. For example, Android Wear uses static policies for controlling energy-hungry components such as display, with much room for improvement [13]. ...
Conference Paper
We explore the predictability of smartwatch usage using a 9-month dataset collected from 27 users through a crowd-sourced user trial. Specifically, we investigate the predictability of (1) the device energy consumption, (2) the application launch time, and (3) the screen display. Overall, we find that all three aspects exhibit reasonably good predictability. Our findings provide key knowledge and insights for developing efficient and intelligent energy management services for future smartwatch systems.
... In terms of mobile browsers, measurement studies focus especially on resource utilization [24], caching mechanism [20,23], and energy consumption [13,26]. Nejati et al. [21] designed WProf-M to analyze the key bottlenecks in mobile browsers. ...
Preprint
Traditional Web browsing involves typing a URL on a browser and loading a Web page. In contrast, there is another form of Web browsing on mobile devices, i.e., embedded Web browsing, which occurs when mobile apps embed a Web page within the app. When the user navigates to the specific page in the app, the Web page is loaded from within the app. However, little is known about the prevalence or performance of these embedded Web pages. To analyze the embedded Web browsing performance at scale, we design and implement DroidMeter, a tool that can automatically search for embedded Web pages inside apps, trigger page loads, and retrieve performance metrics.
... Techniques targeting the display include dynamic frame rate tuning [11], dynamic resolution tuning [10] and tone-mapping based back-light scaling [12,1]. Network-related techniques try to exploit idle and deep sleep opportunities [23,36], shape the traffic patterns [5,33], trade-off energy against other criteria [41,35,4] and so on. Such work attempts to reduce energy dissipation by optimizing the hardware usage; on the other hand, several pieces of work aim at designing new hardware and devices [38,39]. ...
Preprint
Energy efficiency is an important criterion to judge the quality of mobile apps, but one third of our randomly sampled apps are suffering from energy issues that can quickly drain battery. To understand these issues, we conducted an empirical study on 27 well-maintained apps (e.g., Chrome and Firefox), whose issue tracking systems are publicly accessible. Our study revealed that the main causes of energy issues are unnecessary workload, excessively frequent operations, etc. Surprisingly, these issues are beyond the application of the cutting-edge technology on energy issue detection. We also found 20.7% energy issues can only be manifested under special context such as bad performance of network, but its influence was totally neglected before. Motivated by these findings, we proposed a novel testing framework for detecting energy issues in real-world. We will see that assessing the necessity of workload is critical for identifying the issues of main causes. We hence employed machine learning algorithm to cluster the workloads and further evaluate their necessity. Besides, we also devised a set of artificial running contexts to productively uncover the neglected issues. More importantly, we developed a suit of practical technology to achieve high accuracy and efficacy of our testing framework. A large-scale evaluation shows that 91.6% issues detected in our test were heretofore unknown to developers. Averagely, these issues double the energy cost of apps. And our test achieves a low number of false positives. At last, we present how our test reports can help developers fix the issues.
Article
Energy efficiency is an important criterion to judge the quality of mobile apps, but one third of our arbitrarily sampled apps suffer from energy issues that can quickly drain battery power. To understand these issues, we conduct an empirical study on 36 well-maintained apps such as Chrome and Firefox, whose issue tracking systems are publicly accessible. Our study involves issue causes, manifestation, fixing efforts, detection techniques, reasons of no-fixes and debugging techniques. Inspired by the empirical study, we propose a novel testing framework for detecting energy issues in real-world mobile apps. Our framework examines apps with well-designed input sequences and runtime context. We develop leading edge technologies, e.g. pre-designing input sequences with potential energy overuse and tuning tests on-the-fly, to achieve high efficacy in detecting energy issues. A large-scale evaluation shows that 90.4% of the detected issues in our experiments were previously unknown to developers. On average, these issues can double the energy consumption of the test cases where the issues were detected. And our test achieves a low number of false positives. Finally, we show how our test reports can help developers fix the issues.
Chapter
Advances in cloud computing have simplified the way that both software development and testing are performed. This is not true for battery testing for which state of the art test-beds simply consist of one phone attached to a power meter. These test-beds have limited resources, access, and are overall hard to maintain; for these reasons, they often sit idle with no experiment to run. In this paper, we propose to share existing battery testbeds and transform them into vantage points of BatteryLab, a power monitoring platform offering heterogeneous devices and testing conditions. We have achieved this vision with a combination of hardware and software which allow to augment existing battery test-beds with remote capabilities. BatteryLab currently counts three vantage points, one in Europe and two in the US, hosting three Android devices and one iPhone 7. We benchmark BatteryLab with respect to the accuracy of its battery readings, system performance, and platform heterogeneity. Next, we demonstrate how measurements can be run atop of BatteryLab by developing the “Web Power Monitor” (WPM), a tool which can measure website power consumption at scale. We released WPM and used it to report on the energy consumption of Alexa’s top 1,000 websites across 3 locations and 4 devices (both Android and iOS).KeywordsBatteryTest-bedPerformanceAndroidiOS
Article
Mobile devices and accessing the web have become essential in our daily lives. However, their limitations in terms of both hardware such as the battery, and software capabilities can affect the user experience such as battery drain. There are some best practices for the web page design that are shown to affect the downloading time of web pages. In this study, we report our experience in applying these practices to see their effect on energy saving. We propose two techniques: (1) concatenating external script and stylesheet files and (2) minifying external script and stylesheets that can be used to transcode web pages to improve energy consumption on the client‐side and therefore improve the battery life. We present our experimental architecture, implementation, and a systematic evaluation of these two techniques. The evaluation results show that the proposed techniques can achieve approximately 12% processor energy‐saving and 4% power saving in two different client types, 13% improvement in a typical laptop battery life, and 4% improvement in a typical mobile phone battery life.
Article
Modern mobile operating systems support displaying Web pages in native mobile applications. When an app user navigates to a specific location containing a Web page, the Web page will be loaded and rendered from within the app. Such kind of Web browsing, as we call embedded Web browsing , is different from traditional Web browsing, which involves typing a URL on a browser and loading the Web page. However, little has been known about the prevalence or performance of such embedded Web pages. In this paper, we conduct, to the best of our knowledge, the first measurement study on embedded Web browsing on Android. Our study on 22,521 popular Android apps shows that 57.9 and 73.8 percent of apps embed Web pages on two popular app markets, that is, Google Play and Wandoujia, respectively. We design and implement EWProfiler, a tool that can automatically search for embedded Web pages inside apps, trigger page loads, and retrieve performance metrics to analyze the embedded Web browsing performance at scale. Based on 445 embedded Web pages obtained by EWProfiler in 99 popular apps from the two app markets, we investigate the characteristics and performance of embedded Web pages, and find that embedded Web pages significantly impede the app user experience. We investigate the effectiveness of three techniques, i.e., separating the browser kernel to a different process, loading pages from the local storage, and pre-rendering, to optimize the performance of embedded Web browsing. We believe that our findings could draw the attention of Web developers, browser vendors, app developers, and mobile OS vendors together toward a better performance of embedded Web browsing.
Article
Games are energy-intensive applications on mobile devices. Optimizing the energy efficiency of games is hence critical for battery-limited mobile devices. Although the advent of energy-aware scheduling (EAS) integrated in recent devices has provided opportunities for improved energy management, the framework is not specifically tuned for game applications. In this paper, we aim to improve the energy efficiency of game applications running on EAS-enabled mobile devices. To this end, we first analyze the functional characteristics of games, and investigate the source of the energy inefficiency. We then propose a scheme, called System-level Energy-optimization for Game Applications (SEGA), to improve the energy efficiency of games. SEGA governs CPU and GPU power consumption in a tightly coupled manner by employing three key techniques: (1) Gsync-aware GPU DVFS governor, (2) adaptive capacity clamping, and (3) on-demand touch boosting. We implemented SEGA on the latest Android-based smartphones. The evaluation results for 23 popular games showed that SEGA reduced the energy consumption of the Google Pixel 2 XL and Samsung Galaxy S9 Plus smartphones, at the device level, by 6.1-22.3% and 4.0-11.7%, respectively, with a quality of service (QoS) degradation of 1.1% and 0.5%, on average.
Chapter
Demand of energy saving for smartphone batteries is increasing along with the improvement in quality and performance of smartphone applications. In response to these demand, most of the smartphones recently released are equipped with ARM big.LITTLE architecture, which is composed of relatively energy efficient low performance cores (LITTLE cores) and high power consumption high performance processor cores (big cores). However, it is difficult to take full advantage of the energy-saving benefits of the ARM big.LITTLE architecture, because most real-time tasks tend to be assigned to big cores rather than LITTLE cores. To solve this problem, we propose power-efficient multi-core allocation schemes for task graph-based real-time smartphone applications that can increase the utilization of LITTLE cores. The experiment on an off-the-shelf smartphone have shown that the algorithm can reduce energy consumption by up to 50%\% while meeting the applications deadline. We also discuss energy-aware security issues on big.LITTLE core assignments of real-time application threads.
Preprint
Full-text available
As do web-developers, Lewis Carroll's White Rabbit despairs to find that forever can be as short as a single second. Perhaps the author of Alice in Wonderland was aware of the work of his Dutch contemporary Franciscus Donders, a physician who first measured human reaction times as an indication of cognitive process. Donder's mental chronometry experiments allowed inferences to be made about human learning, memory and attention which underpin core tenets of User Experience (UX) in web-development today. For example, Behavioral Psychologist Robert B. Miller states the importance of timespan to organisms transacting with an environment. In his 1968 paper on the psychology of interaction in computing (HCI, Human Computer Interaction) he notes that timespans in the order of one to ten seconds have significance for different forms of behavior. In relation to human computer interaction he determines that a delay in achieving the psychological goal of task completion results in frustration (Miller, 1968). This frustration affects both goal aspiration and short term memory; the longer a goal is held in short term memory the greater the chances of forgetting or making a mistake. What this means for web-developers is that web-sites with a page load speed (PLS) greater than one second begin to feel like the White Rabbit's forever.
Conference Paper
Full-text available
Recent advances in cloud computing have simplified the way that both software development and testing are performed. Unfortunately, this is not true for battery testing for which state of the art test-beds simply consist of one phone attached to a power meter. These test-beds have limited resources, access, and are overall hard to maintain; for these reasons, they often sit idle with no experiment to run. In this paper, we propose to share existing battery testing setups and build BatteryLab, a distributed platform for battery measurements. Our vision is to transform independent battery testing setups into vantage points of a planetary-scale measurement platform offering heterogeneous devices and testing conditions. In the paper, we design and deploy a combination of hardware and software solutions to enable BatteryLab's vision. We then preliminarily evaluate BatteryLab's accuracy of battery reporting, along with some system benchmarking. We also demonstrate how BatteryLab can be used by researchers to investigate a simple research question.
Chapter
The browser is one of the most commonly used applications. Users tend to pursue a good user experience and care more about the performance of the browser, while ignoring the power consumption of the browser. This paper proposes a method to reduce the energy consumption of web browsing. In order to better quantify the user experience, this paper uses the first screen load time as the evaluation metric of user experience. First, according to the relationship between the network speed and the first screen load time, find the most suitable primary frequency at a specific network speed, and define the point as the balance point. When the primary frequency is greater than the primary frequency corresponding to the balance point, the first screen load time will almost never change. The balance points of different web pages are also different. Then adjust the CPU frequency according to the balance point of the webpage and the network speed, which can reduce the browser energy consumption and reduce the impact on the user experience. At the same time, this paper proposes a simulation tool ExploreBP, which is used to simulate the working state of the network speed and different web pages to find the optimal energy consumption configuration.
Article
The explosive growth of connected mobile devices in Edge of Things (EoT) computing offers an opportunity to support high-quality life in smart cities but also results in an extremely high energy consumption in battery limited mobile devices. Accordingly, to increase the battery life or improve performance of mobile devices, code offloading has been proposed. Moreover, with the development of the technology about low-latency and low-power of device-to-device communication, offloading codes to surrounding mobile devices in nearby cloudlets has been widely applied. However, the existing works on the mobile cloudlets mostly focus on code distribution and scheduling but ignores the affection of the energy efficiency of CPU. According to the CPU Energy/Frequency Convexity Rule, there is an optimal clock frequency that can minimize energy consumption. In recent years, a novel processor architectures with adjustable frequency have been proposed to deliver various kinds of energy efficiency and CPU performance. Taking the processor frequency into consideration, we propose an energy-efficient code offloading framework as MilDip to offload partitioned heavy tasks to around mobile devices and to operate these tasks in the state of low CPU performance and high energy efficiency. We formulate offloading problem as a mixed-integer nonlinear optimization problem, with the goal of energy efficiency maximization. Based on the formulation, we further propose a heuristic algorithm COFS based on CPU frequency scaling. Extensive simulated experiments are provided to evaluate the performance of our method. The simulation results show that up to 77% of energy can be saved by using COFS compared to the local execution. Moreover, when enough devices surround the terminal, COFS energy consumption tends to stabilize. From the experiments, we can also conclude that COFS can save more about 20% ~ 50% energy consumption comparing to other schemes.
Chapter
We considered the measured vs. perceived web performance case study. The work aimed to find a relationship between the automatically measured times of loading elements on web pages with zoological articles and the feelings of users regarding these loading times. We found that the following automatically measured performance metrics, translate the best into the perceived performance evaluated by the users: (i) page_loading, measured by Selenium; (ii) first_meaningful_paint, measured by PageSpeed Insights; (iii) domInteractive measured by Browsertime; and (iv) contentEventLoad, measured by Browsertime. In research carried out with the use of Selenium; however, there is a problem of changes in the interface that make the measurement unable to be performed correctly. A possible solution to this problem could be to change the used CSS selectors from selectors picked from the website itself to selectors defined based on the analysis of the selected HTML code. Another solution would be to use tools that allow, for example, to detect all graphic files on the website and design navigation based on them.
Article
On current Android mobile devices, DVFS is a key power management technique. Besides CPU, memory and GPU support DVFS as well. OS modules known as governors implement algorithms that dynamically adjust operating frequency for their respective hardware components to balance performance and power. However, the stock governors do not consider application characteristics, manager power instead of energy, and operate independently of each other, thus leading to energy inefficiency. In this paper we present an application-specific approach to energy optimization targeting Android mobile devices. In this two-step approach, we first perform offline profiling of the target app to obtain its performance and power measurements under different DVFS settings. The profiling data are then used by a feedback loop based online controller to dynamically select energy-optimal DVFS settings for the app while trying to meet a performance target. In contrast with the default governors, our approach is application-specific, manages energy, and controls both CPU and memory in unison. Tested on a few mainstream applications, our solution achieves considerable energy savings with minimal performance loss. This paper describes the design and evaluation of the system in detail with a particular focus on problems related to the robustness of the approach.
Chapter
This paper envisions a future in which high performance and energy-modest parallel computing on low-end edge devices were achieved through cross-device functionality abstraction to make them interactive to cloud machines. Rather, there has been little exploration of the overall optimization into kernel processing can deliver for increasingly popular but heavy burden on low-end edge devices. Our idea here is to extend the capability of functionality abstraction across edge clients and cloud servers to identify the computation-intensive code regions automatically and execute the instantiation on the server at runtime. This paper is an attempt to explore this vision, ponder on the principle, and take the first steps towards addressing some of the challenges with Open image in new window . As a kernel-level solution, Open image in new window enables edge devices to abstract not only application layer but also system layer functionalities, as if they were to instantiate the abstracted function inside the same Open image in new window kernel programming. Experimental results demonstrate that Open image in new window makes cross-kernel functionality abstraction efficient for low-end edge devices and benefits them significant performance optimization than the default scheme unless in a constraint of low transmission bandwidth.
Article
Full-text available
Accurately determining the network energy consumption of each software principal when multiple ones are active is the key to mobile energy optimization. Tail energy accounting, which attributes tail energy to individual software principals, remains an open problem. Besides, tail energy has also become a major energy drain, especially in mobile ad modules that generate frequent, intermittent network traffics by on-demand ad downloading. In this paper, we propose a systematic framework for mobile ad prefetching and energy optimization, based on a novel tail energy accounting policy using cooperative game theory. In particular, we maximize the sum of deadline- and energy-aware ad utility, by jointly determining apps' aggressiveness in ad prefetching. The proposed tail energy accounting not only characterizes the energy profile of each app's ad module, a crucial input in energy optimization, but also enables an efficient solution by decoupling decision making of individual apps. The proposed framework is implemented on Android with negligible performance/network overhead. Using real-world apps and usage traces, we demonstrate a significant reduction in mobile network energy consumption by up to 45% compared with existing approaches. To the best of our knowledge, it is the first fully implemented ad management system transparent to apps and ad ecosystem.
Conference Paper
The Web browser is a killer app on mobile devices such as smartphones. However, the user experience of mobile Web browsing is undesirable because of the slow resource loading. To improve the performance of Web resource loading, caching has been adopted as a key mechanism. However, the existing passive measurement studies cannot comprehensively characterize the performance of mobile Web caching. For example, most of these studies mainly focus on client-side implementations but not server-side configurations, suffer from biased user behaviors, and fail to study "miscached" resources. To address these issues, in this paper, we present a proactive approach for a comprehensive measurement study on mobile Web cache performance. The key idea of our approach is to proactively crawl resources from hundreds of websites periodically with a fine-grained time interval. Thus, we are able to uncover the resource update history and cache configurations at the server side, and analyze the cache performance in various time granularities. Based on our collected data, we build a new cache analysis model and study the upper bound of how high percentage of resources could potentially be cached and how effective the caching works in practice. We report detailed analysis results of different websites and various types of Web resources, and identify the problems caused by unsatisfactory cache performance. In particular, we identify two major problems -- Redundant Transfer and Miscached Resource, which lead to unsatisfactory cache performance. We investigate three main root causes: Same Content, Heuristic Expiration, and Conservative Expiration Time, and discuss what mobile Web developers can do to mitigate those problems.
Article
Smartphones with cellular data access have become increasingly popular with the wide variety of mobile applications. However, the performance and power footprint of these mobile applications are not well-understood, and due to the unawareness of the cellular specific characteristics, many of these applications are causing inefficient radio resource and device energy usage. In this dissertation, we aim at providing a suite of systematic methodology and tools to better understand the performance and power characteristics of cellular networks (3G and the new LTE 4G networks) and the mobile applications relying upon, and to optimize the mobile application design based on this understanding. We have built the MobiPerf tool to understand the characteristics of cellular networks. With this knowledge, we make detailed analysis on smartphone application performance via controlled experiments and via a large-scale data set from one major U.S. cellular carrier. To understand the power footprint of mobile applications, we have derived comprehensive power models for different network types and characterize radio energy usage of various smartphone applications via both controlled experiments and 7-month-long traces collected from 20 real users. Specifically, we characterize the radio and energy impact of the network traffic generated when the phone screen is off and propose the screen-aware traffic optimization. In addition to shedding light to the mobile application design throughout our characterization analysis, we further design and implement a real optimization system RadioProphet, which uses historical traffic features to make predictions and intelligently deallocate radio resource for improved radio and energy efficiency.
Article
Energy efficiency is a primary design criterion of the modern smartphone due to limitations in battery capacity. Multi-core processors are now commonplace in these devices, which adds a new dimension, the number cores used, to energy management. In this paper we investigate how the mechanisms of frequency scaling and core offlining interact, and how to use them to reduce energy consumption. We find surprising differences in the characteristics of latest-generation smartphones, specifically in the importance of static power. This implies that policies that work well on one processor can lead to poor results on another. We propose a simple policy that integrates core offlining with frequency scaling and implement it in a Linux-based frequency governor called medusa. We show that, despite its simplicity, medusa obtains energy savings that are as good or better than governors presently shipping on the studied phones and approaches the static optimal setting.
Conference Paper
Article
Multiple entities in the smartphone ecosystem employ various methods to provide better web browsing experience. In this paper, we take a first comprehensive examination of the resource usage of mobile web browsing by focusing on two important types of resources: bandwidth and energy. Using a novel traffic collection and analysis tool, we examine a wide spectrum of important factors including protocol overhead, TCP connection management, web page content, traffic timing dynamics, caching efficiency, and compression usage, for the most popular 500 websites. Our findings suggest that that all above factors at different layers can affect resource utilization for web browsing, as they often poorly interact with the underlying cellular networks. Based on our findings, we developed novel recommendations and detailed best practice suggestions for mobile web content, browser, network protocol, and smartphone OS design, to make mobile web browsing more resource efficient.
Conference Paper
Cellular and 802.11 WiFi are compelling options for mobile Internet connectivity. The goal of our work is to understand the performance afforded by each of these technologies in diverse environments and use conditions. In this paper, we compare and contrast cellular and WiFi performance using crowd-sourced data from Speedtest.net. Our study considers spatio-temporal performance (upload/download throughput and latency) using over 3 million user-initiated tests from iOS and Android apps in 15 different metro areas collected over a 15 week period. Our basic performance comparisons show that (i) WiFi provides better absolute download/upload throughput, and a higher degree of consistency in performance; (ii) WiFi networks generally deliver lower absolute latency, but the consistency in latency is often better with cellular access; (iii) throughput and latency vary widely depending on the particular access type e.g., HSPA, EVDO, LTE, WiFi, etc.) and service provider. More broadly, our results show that performance consistency for cellular and WiFi is much lower than has been reported for wired broadband. Temporal analysis shows that average performance for cell and WiFi varies with time of day, with the best performance for large metro areas coming at non-peak hours. Spatial analysis shows that performance is highly variable across metro areas, but that there are subregions that offer consistently better performance for cell or WiFi. Comparisons between metro areas show that larger areas provide higher throughput and lower latency than smaller metro areas, suggesting where ISPs have focused their deployment efforts. Finally, our analysis reveals diverse performance characteristics resulting from the rollout of new cell access technologies and service differences among local providers.
Conference Paper
Energy management is a primary consideration in the design of modern smartphones, made more interesting by the recent proliferation of multi-core processors in this space. We investigate how core offlining and DVFS can be used together on these systems to reduce energy consumption. We show that core offlining leads to very modest savings in the best circumstances, with a heavy penalty in others, and show the cause of this to be low per-core idle power. We develop a policy in Linux that exploits this fact, and show that it improves up to 25% on existing implementations.
Conference Paper
Email is a key application used on smartphones. Even when the phone is in stand-by mode, users expect the phone to continue syncing with an email server to receive new mes-sages. Each such sync operation wakes up the smartphone for data reception and processing. In this paper, we show that this "cost of email sync" in stand-by mode constitutes a significant source of energy consumption, and thus reduces battery life. We quantify the power performance of different existing email clients on two smartphone platforms, An-droid and Windows Phone, and study the impact of system parameters such as email size, inbox size, and pull vs. push. Our results show that existing email clients do not handle email sync in an energy efficient way. This is because the underlying protocols and architectures are not designed for the specific needs of operating in stand-by mode. Based on our findings, we derive general design principles for energy-efficient event handling on smartphones, and apply these principles to the case of email sync and implement our techniques on commercial smartphones. Experimental results show that our techniques are able to significantly reduce energy cost of email sync by 49.9% on average with our experiment settings.
Conference Paper
Smartphone based web browsing wastes a lot of power when downloading webpages due to the special characteristics of the 3G radio interface. In this paper, we identify these special characteristics, and address power consumption issues through two novel techniques. First, we reorganize the computation sequence of the web browser when loading a webpage, so that the web browser can first run the computations that will generate new data transmissions and retrieve these data from the web server. Then, the web browser can put the 3G radio interface into low power state, release the radio resource, and then run the remaining computations. Second, we introduce a practical data mining based method to predict the user reading time of webpages, based on which the smartphone can switch to low power state when the reading time is longer than a threshold. To demonstrate the effectiveness of our energy-aware approaches, we develop a testbed with Android phones on T-Mobile UMTS network. Experimental results show that our approach can reduce the power consumption of smartphone by more than 30% during web browsing, and reduce the webpage loading time by 17%.
Conference Paper
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.
Article
Despite the growing popularity of mobile web browsing, the energy consumed by a phone browser while surfing the web is poorly understood. We present an infrastructure for measuring the precise energy used by a mobile browser to render web pages. We then measure the energy needed to render financial, e-commerce, email, blogging, news and social networking sites. Our tools are sufficiently precise to measure the energy needed to render individual web elements, such as cascade style sheets (CSS), Javascript, images, and plug-in objects. Our results show that for popular sites, downloading and parsing cascade style sheets and Javascript consumes a significant fraction of the total energy needed to render the page. Using the data we collected we make concrete recommendations on how to design web pages so as to minimize the energy needed to render the page. As an example, by modifying scripts on the Wikipedia mobile site we reduced by 30% the energy needed to download and render Wikipedia pages with no change to the user experience. We conclude by estimating the point at which offloading browser computations to a remote proxy can save energy on the phone.
Article
Where is the energy spent inside my app? Despite the immense popularity of smartphones and the fact that energy is the most crucial aspect in smartphone programming, the answer to the above question remains elusive. This paper first presents eprof, the first fine-grained energy profiler for smartphone apps. Compared to profiling the runtime of applications running on conventional computers, profiling energy consumption of applications running on smartphones faces a unique challenge, asynchronous power behavior, where the effect on a component's power state due to a program entity lasts beyond the end of that program entity. We present the design, implementation and evaluation of eprof on two mobile OSes, Android and Windows Mobile. We then present an in-depth case study, the first of its kind, of six popular smartphones apps (including Angry-Birds, Facebook and Browser). Eprof sheds lights on internal energy dissipation of these apps and exposes surprising findings like 65%-75% of energy in free apps is spent in third-party advertisement modules. Eprof also reveals several "wakelock bugs", a family of "energy bugs" in smartphone apps, and effectively pinpoints their location in the source code. The case study highlights the fact that most of the energy in smartphone apps is spent in I/O, and I/O events are clustered, often due to a few routines. Thismotivates us to propose bundles, a new accounting presentation of app I/O energy, which helps the developer to quickly understand and optimize the energy drain of her app. Using the bundle presentation, we reduced the energy consumption of four apps by 20% to 65%.
Article
Over the years, the web has evolved from simple text content from one server to a complex ecosystem with different types of content from servers spread across several administrative domains. There is anecdotal evidence of users being frustrated with high page load times or when obscure scripts cause their browser windows to freeze. Because page load times are known to directly impact user satisfaction, providers would like to understand if and how the complexity of their websites affects the user experience. While there is an extensive literature on measuring web graphs, website popularity, and the nature of web traffic, there has been little work in understanding how complex individual websites are, and how this complexity impacts the clients' experience. This paper is a first step to address this gap. To this end, we identify a set of metrics to characterize the complexity of websites both at a content-level (e.g., number and size of images) and service-level (e.g., number of servers/origins). We find that the distributions of these metrics are largely independent of a website's popularity rank. However, some categories (e.g., News) are more complex than others. More than 60% of websites have content from at least 5 non-origin sources and these contribute more than 35% of the bytes downloaded. In addition, we analyze which metrics are most critical for predicting page render and load times and find that the number of objects requested is the most important factor. With respect to variability in load times, however, we find that the number of servers is the best indicator.
Article
Predicting the throughput of large TCP transfers is important for a broad class of applications. This paper focuses on the design, empirical evaluation, and analysis of TCP throughput predictors. We first classify TCP throughput prediction techniques into two categories: Formula-Based (FB) and History-Based (HB). Within each class, we develop representative prediction algorithms, which we then evaluate empirically over the Resilient Overlay Network (RON) testbed. FB prediction relies on mathematical models that express the TCP throughput as a function of the characteristics of the underlying network path. It does not rely on previous TCP transfers in the given path, and it can be performed with non-intrusive network measurements. We show, however, that the FB method is accurate only if the TCP transfer is window-limited to the point that it does not saturate the underlying path, and explain the main causes of the prediction errors. HB techniques predict the throughput of TCP flows from a time series of previous TCP throughput measurements on the same path, when such a history is available. We show that even simple HB predictors, such as Moving Average and Holt-Winters, using a history of few and sporadic samples, can be quite accurate. On the negative side, the accuracy of HB predictors is highly path-dependent.
Conference Paper
The widespread deployment of 3G tech- nologies and the rapid adoption of new smartphone de- vices like iPhone and Blackberry are making cellular data networks increasingly popular. In addition to email and Web browsing, a variety of different network ap- plications are now available, making smartphones po- tentially reasonable substitute for their desktop counter - parts. Unfortunately, the performance of smartphone ap- plications, from the perspective of the users and applica- tion developers, is still not well understood. We believe our study, the first of its kind, fills this void. We identify and study important factors that impact user perceived performance. We formalize the method for comparing the performance of smartphone applica- tions along several unique dimensions such as carrier network, device capabilities, application types, and net- work protocols. To ensure a fair comparison across plat- forms and networks we develop a detailed measurement methodology. Our work is an important and necessary step towards understanding the performance of smart- phone applications from users and application develop- ers perspective. Our analysis culminates with a set of recommendations that can lead to better application de- sign and infrastructure support for smartphone users.
Conference Paper
The web browser is a CPU-intensive program. Especially on mobile devices, webpages load too slowly, expending sig- nicant time in processing a document's appearance. Due to power constraints, most hardware-driven speedups will come in the form of parallel architectures. This is also true of mobile devices such as phones and e-books. In this pa- per, we introduce new algorithms for CSS selector matching, layout solving, and font rendering, which represent key com- ponents for a fast layout engine. Evaluation on popular sites shows speedups as high as 80x. We also formulate the lay- out problem with attribute grammars, enabling us to not only parallelize our algorithm but prove that it computes in O(log) time and without reow.
Book
Adequate treatment of cardiac failure should reflect both clinical rules and quantitative evaluation of hemodynamics. For the latter we assumed an extensive model of heart and vessels: For the left and right ventricles the EMAX models were assumed with ...
Article
TCP throughput prediction is an important capability for networks where multiple paths exist between data senders and receivers. In this paper, we describe a new lightweight method for TCP throughput prediction. Our predictor uses Support Vector Regression (SVR); prediction is based on both prior file transfer history and measurements of simple path properties. We evaluate our predictor in a laboratory setting where ground truth can be measured with perfect accuracy. We report the performance of our predictor for oracular and practical measurements of path properties over a wide range of traffic conditions and transfer sizes. For bulk transfers in heavy traffic using oracular measurements, TCP throughput is predicted within 10% of the actual value 87% of the time, representing nearly a threefold improvement in accuracy over prior history-based methods. For practical measurements of path properties, predictions can be made within 10% of the actual value nearly 50% of the time, approximately a 60% improvement over history-based methods, and with much lower measurement traffic overhead. We implement our predictor in a tool called PathPerf, test it in the wide area, and show that PathPerf predicts TCP throughput accurately over diverse wide area paths.
Conference Paper
3G cellular data networks have recently witnessed explosive growth. In this work, we focus on UMTS, one of the most popular 3G mobile communication technologies. Our work is the first to accurately infer, for any UMTS network, the state machine (both transitions and timer values) that guides the radio resource allocation policy through a light-weight probing scheme. We systematically characterize the impact of operational state machine settings by analyzing traces collected from a commercial UMTS network, and pinpoint the inefficiencies caused by the interplay between smartphone applications and the state machine behavior. Besides basic characterizations, we explore the optimal state machine settings in terms of several critical timer values evaluated using real network traces. Our findings suggest that the fundamental limitation of the current state machine design is its static nature of treating all traffic according to the same inactivity timers, making it difficult to balance tradeoffs among radio resource usage efficiency, network management overhead, device radio energy consumption, and performance. To the best of our knowledge, our work is the first empirical study that employs real cellular traces to investigate the optimality of UMTS state machine configurations. Our analysis also demonstrates that traffic patterns impose significant impact on radio resource and energy consumption. In particular, We propose a simple improvement that reduces YouTube streaming energy by 80% by leveraging an existing feature called fast dormancy supported by the 3GPP specifications.
Article
Mobile browser is known to be slow because of the bottleneck in resource loading. Client-only solutions to improve resource loading are attractive because they are immediately deployable, scalable, and secure. We present the first publicly known treatment of client-only solutions to understand how much they can improve mobile browser speed without infrastructure support. Leveraging an unprecedented set of web usage data collected from 24 iPhone users continuously over one year, we examine the three fundamental, orthogonal approaches a client-only solution can take: caching, prefetching, and speculative loading, which is first proposed and studied in this work. Speculative loading predicts and speculatively loads the subresources needed to open a web page once its URL is given. We show that while caching and prefetching are highly limited for mobile browsing, speculative loading can be significantly more effective. Empirically, we show that client-only solutions can improve the browser speed by about 1.4 second on average for web sites visited by the 24 iPhone users. We also report the design, realization, and evaluation of speculative loading in a WebKit-based browser called Tempo. On average, Tempo can reduce browser delay by 1 second (~20%).
Article
Displays based on organic light-emitting diode (OLED) technology are appearing on many mobile devices. Unlike liquid crystal displays (LCD), OLED displays consume dramatically different power for showing different colors. In particular, OLED displays are inefficient for showing bright colors. This has made them undesirable for mobile devices because much of the web content is of bright colors. To tackle this problem, we present the motivational studies, design, and realization of Chameleon, a color adaptive web browser that renders web pages with power-optimized color schemes under user-supplied constraints. Driven by the findings from our motivational studies, Chameleon provides end users with important options, offloads tasks that are not absolutely needed in real-time, and accomplishes real-time tasks by carefully enhancing the codebase of a browser engine. According to measure-ments with OLED smartphones, Chameleon is able to re-duce average system power consumption for web browsing by 41% and reduce display power consumption by 64% without introducing any noticeable delay.
New Opera for Android looks like Opera tastes like Chrome
  • A Cunningham
Wicked Fast (Performance investments)
  • R Schoen
Heterogeneous Multi-Processing Solution of Exynos 5 Octa with ARM big.LITTLE Technology
  • H Chung
  • M Kang
  • H D Cho
Measuring Page Load Speed with Navigation Timing
  • S Dutton
Analyzing Website Performance at a Glance
  • J Glauner
Mobile gpu power consumption reduction via dynamic resolution and frame rate scaling
  • K W Nixon
  • X Chen
  • H Zhou
  • Y Liu
  • Y Chen
  • Nixon K. W.
sched: Task placement for heterogeneous MP systems
  • M Rasmussen
Selenium Testing Tools Cookbook
  • U Gundecha
  • Gundecha U.
How to Detect and Handle Outliers. 1993 . B. Iglewicz and D. Hoaglin
  • B Iglewicz
  • D Hoaglin
  • Iglewicz B.