Prophecy: Accelerating Mobile Page Loads Using Final-state Write Logs

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}
}