Ravi Netravali, James Mickens
15th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Renton, WA, April 2018
Web browsing on mobile devices is expensive in terms
of battery drainage and bandwidth consumption. Mobile
pages also frequently suffer from long load times due
to high-latency cellular connections. In this paper, we
introduce Prophecy, a new acceleration technology for
mobile pages. Prophecy simultaneously reduces energy
costs, bandwidth consumption, and page load times. In
Prophecy, web servers precompute the JavaScript heap
and the DOM tree for a page; when a mobile browser
requests the page, the server returns a write log that contains
a single write per JavaScript variable or DOM node.
The mobile browser replays the writes to quickly reconstruct
the final page state, eliding unnecessary intermediate
computations. Prophecy’s server-side component
generates write logs by tracking low-level data flows between
the JavaScript heap and the DOM. Using knowledge
of these flows, Prophecy enables optimizations that
are impossible for prior web accelerators; for example,
Prophecy can generate write logs that interleave DOM
construction and JavaScript heap construction, allowing
interactive page elements to become functional immediately
after they become visible to the mobile user. Experiments
with real pages and real phones show that
Prophecy reduces median page load time by 53%, energy
expenditure by 36%, and bandwidth costs by 21%.
[PDF (634KB)]
Bibtex Entry:
@inproceedings{netravali2018prophecy, author = "Ravi Netravali and James Mickens", title = "{Prophecy: Accelerating Mobile Page Loads Using Final-state Write Logs}", booktitle = {15th USENIX Symposium on Networked Systems Design and Implementation (NSDI)}, year = {2018}, month = {April}, address = {Renton, WA} }