Future Mobile Web


The Web has fundamentally shaped how we think, communicate, and innovate. Over the past decade, the Web's role shifted from solely information retrieval (Web 1.0) to providing interactive user experiences (Web 2.0). Now the Web is once again on the cusp of a new evolution driven by today's most pervasive personal computing platform—mobile devices. Addressing the challenges posed by the confluence of mobile devices and Web technologies, i.e., mobile Web, is the main objective of this research.

Three significant challenges stand in the way of future mobile Web: Responsivenes, Energy-efficiency, and Data usage. We take a holistic approach that involves networks, applications, programming languages, runtime systems, and processor architectures

The Role of CPU in Mobile Web Computing

Conventional wisdom suggests that network capability is the primary bottleneck in mobile Web browsing. Our work finds that generational advancements in network technology have reached a point where further improving the network latency only leads to marginal performance improvement with potentially high energy consumption. In contrast, the CPU is starting to have noticeable impact on mobile Web browsing performance and energy consumption. Therefore, I focus my research on the CPU side (i.e., client-side computing), and consider various network capabilities (latency and bandwidth) as constraints for performing optimizations within the computation scope.

Modeling Web Application Performance and Energy

Prior art treats the Web stack as a whole while regarding webpages simply as input sets to the Web browser application. However, webpages contain richer information than traditional input data sets. Webpages contain full program semantics, put inherent constraints in the processing order, and get modified at runtime with JavaScript. Our work treats each webpage as an individual application, and discovers that webpages are drastically different from each other due to their inherent variance in contents. We leverage such an insight to accurately predict webpage performance and energy consumption by examining its contents. The predictive models, when built into the Web browser runtime, drastically reduce energy consumption of mobile webpage loading with negligible impact on user QoS experience.

Web Programming Language Extensions

Today’s Web programming languages mainly express structure, style, and functionality of an application. End-user QoS information, however, is largely unaccounted for. Without the QoS information, the underlying Web runtime may make uninformed decisions that lead to severe QoS violations or energy waste. We design GreenWeb, a set of language extensions that let Web developers express user QoS expectations as program annotations. The philosophy behind GreenWeb is that developers provide minimal yet vital QoS information to guide the runtime energy optimizations. GreenWeb does not pose any constraints on specific runtime implementations but instead supports general energy optimizations.

QoS-Aware, Event-based Web Runtime

Today's mobile processors are becoming extremely heterogeneous. While this hardware upheaval promises performance and energy improvements for the mobile Web, current Web runtime systems are not designed to fully exploit the capability of the underlying hardware. The main bottleneck is that current runtime-architecture interface merely exposes the hardware as a monolithic sequential execution model to the runtime system while hiding many architecture-level details. To bridge the gap between the architecture complexity and the Web runtime, we design a smart Web browser runtime called WebRT. The core of WebRT is a novel event-based scheduling mechanism that properly provisions the hardware resources while guaranteeing satisfactory user QoS experience.

Web-Specific Processor Architecture

Traditional mobile CPU designs have been largely adopting desktop-like techniques. However, such a design strategy will come to its end because of the stringent energy and thermal constraint that mobile devices impose. We explore, identify, and design a general-purpose mobile CPU architecture customized and specialized for the Web domain. We call it WebCore. The WebCore incorporates domain-specific hardware units to exploit the unique computation kernels and communication patterns in mobile Web applications. Our vision of the WebCore is that it will be one of the cores in the multicore SoC that is already common in today's mainstream mobile systems.