The two colleges are close enough to share a pizza parlor, but thanks to their collaborative work, maybe that pizza-delivery Web page will load faster for students at Harvard and MIT. Today, teams from the MIT Computer Science Artificial Intelligence Lab (CSAIL) and Harvard, released a paper describing Polaris, a method of speeding up page load times by as much as a third.
Polaris is the work of Ravi Netravali, Ameesh Goyal, James Mickens, and Hari Balakrishnan. The work they’ve done specifically narrows down the dependency graph to eliminate edges, allowing dependencies to be tracked faster.
(Related: How HTML5 changed the Web)
They wrote in a paper: “We introduce Polaris, a dynamic client-side scheduler that is written in JavaScript and runs on unmodified browsers; using a fully automatic compiler, servers can translate normal pages into ones that load themselves with Polaris. Polaris uses fine-grained dependency graphs to dynamically determine which objects to load, and when. Since Polaris’ graphs have no missing edges, Polaris can aggressively fetch objects in a way that minimizes network round trips. Experiments in a variety of network conditions show that Polaris decreases page load times by 34% at the median, and 59% at the 95th percentile.”
Netravali, a Ph.D. student at MIT, said, “It can take up to 100ms each time a browser has to cross a mobile network to fetch a piece of data. As pages increase in complexity, they often require multiple trips that create delays that really add up. Our approach minimizes the number of round trips so that we can substantially speed up a page’s load time.”
The work of these students has even garnered the attention of Microsoft. Mark Marron, senior research software development engineer at Microsoft, said, “Tracking fine-grained dependencies has the potential to greatly reduce page load times, especially for low-bandwidth or high-latency connections. On top of that, the availability of detailed dependence information has a wide range of possible applications, such as tracking the source statement of an unexpected value that led to a crash at runtime.”
The Polaris paper is available for free online.