System loads web pages 34 percent faster by fetching files more effectively

March 9, 2016 by Adam Conner-Simons

There are few things more frustrating than a slow-loading web page. For companies, what's even worse is what comes after: users abandoning their site in droves. Amazon, for example, estimates that every 100-millisecond delay cuts its profits by 1 percent.

To help combat this problem, researchers from MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) and Harvard University have developed a system that decreases page-load times by 34 percent. Dubbed "Polaris," the framework determines how to overlap the downloading of a page's objects, such that the overall page requires less time to load.

"It can take up to 100 milliseconds each time a browser has to cross a mobile network to fetch a piece of data," says PhD student Ravi Netravali, who is first author on a paper about Polaris that he will present at this week's USENIX Symposium on Networked Systems Design and Implementation. "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 paper's co-authors include graduate student Ameesh Goyal and professor Hari Balakrishnan, as well as Harvard professor James Mickens, who started working on the project during his stint as a visiting professor at MIT in 2014. The researchers evaluated their system across a range of network conditions on 200 of the world's most popular websites, including ESPN.com, NYTimes.com (The New York Times), and Weather.com.

How web pages work

Before you type in a URL, your browser doesn't actually know what the page looks like. To load the page, the browser has to reach across the network to fetch "objects" such as HTML files, JavaScript source code, and images. Once an object is fetched, the browser evaluates it to add the object's content to the page that the user sees.

But it's not quite that simple. Evaluating one object often means having to fetch and evaluate more objects, which are described as "dependencies" of the originals. As an example, a browser might have to execute a file's JavaScript code in order to discover more images to fetch and render.

The problem is that browsers can't actually see all of these dependencies because of the way that objects are represented by HTML (the standard format for expressing a webpage's structure). As a result, browsers have to be conservative about the order in which they load objects, which tends to increase the number of cross-network trips and slow down the page load.

How Polaris fits in

What Polaris does is automatically track all of the interactions between objects, which can number in the thousands for a single page. For example, it notes when one object reads the data in another object, or updates a value in another object. It then uses its detailed log of these interactions to create a "dependency graph" for the page.

Mickens offers the analogy of a travelling businessperson. When you visit one city, you sometimes discover more cities you have to visit before going home. If someone gave you the entire list of cities ahead of time, you could plan the fastest possible route. Without the list, though, you have to discover new cities as you go, which results in unnecessary zig-zagging between far-away cities.

"For a web browser, loading all of a page's objects is like visiting all of the cities," Mickens says. "Polaris effectively gives you a list of all the cities before your trip actually begins. It's what allows the browser to load a webpage more quickly."

Dependency-trackers have existed before, but are all as constrained as the browsers themselves. This is because their method of comparing lexical relationships—specifically, the text in HTML tags—mimics the way browsers load pages and does not capture more subtle dependencies.

A better approach to a faster web

Tech companies like Google and Amazon have also tried to improve load times, with an emphasis on lowering costs for data usage. This means that they often focus on the challenge of more quickly transferring information via data compression. The CSAIL team, meanwhile, has demonstrated that Polaris' gains on load-time are more consistent and more substantive.

"Recent work has shown that slow load-times are more strongly related to network delays than available bandwidth," Balakrishnan says. "Rather than decreasing the number of transferred bytes, we think that reducing the effect of network delays will lead to the most significant speedups."

Polaris is particularly suited for larger, more complex sites, which aligns nicely with recent trends of modern pages ballooning to thousands of (JavaScript-heavy) objects. The system is also valuable for mobile networks, since those tend to have larger delays than wired networks.

"Tracking fine-grained dependencies has the potential to greatly reduce page-load times, especially for low-bandwidth or high-latency connections," says Mark Marron, a senior research software development engineer at Microsoft. "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."

Explore further: Can smartphones use less energy to browse the web?

More information: Polaris: Faster Page Loads Using Fine-grained Dependency Tracking. web.mit.edu/ravinet/www/polaris_nsdi16.pdf

Related Stories

Can smartphones use less energy to browse the web?

September 18, 2015

Web browsing is one of the core applications on smartphones. After all, who hasn't checked Facebook or watched the latest news—or amusing cat videos—on their mobile phone? However, mobile browsers on smartphones are primarily ...

How private is your browser's privacy mode?

February 18, 2016

A forensic analysis of the so-called "private" browsing modes of the most popular web browsers, Microsoft's Internet Explorer, Google Chrome, Mozilla Firefox, and Opera, reveals that the Microsoft product tested in this research ...

Upgrade to core HTTP protocol promises speedier, easier web

February 20, 2015

Hypertext Transfer Protocol, HTTP, is a key component of the world wide web. It is the communications layer through which web browsers request web pages from web servers and with which web servers respond with the contents ...

Google's SPDY will speed up downloads

November 16, 2009

(PhysOrg.com) -- As part of its effort to speed up the Web, Google is experimenting with SPDY, a new application layer protocol, that it hopes will speed up the conversation between browsers and Web servers and enable Web ...

Recommended for you

Swiss unveil stratospheric solar plane

December 7, 2016

Just months after two Swiss pilots completed a historic round-the-world trip in a Sun-powered plane, another Swiss adventurer on Wednesday unveiled a solar plane aimed at reaching the stratosphere.

Solar panels repay their energy 'debt': study

December 6, 2016

The climate-friendly electricity generated by solar panels in the past 40 years has all but cancelled out the polluting energy used to produce them, a study said Tuesday.

3 comments

Adjust slider to filter visible comments by rank

Display comments: newest first

JRi
4.5 / 5 (2) Mar 09, 2016
Adds can consume up to 80% of total bandwidth on a typical web page. Fetching files more effectively will not change that.
Bill Ellson
not rated yet Mar 09, 2016
The principal causes of slow loading web pages are too much extraneous crap and poor design. The article merely outlines a symptomatic cure rather than addressing the underlying problem.

"For companies, what's even worse is what comes after: users abandoning their site in droves."
Perhaps more to the point going to sites that are competently designed, not actually a problem.
Thorium Boy
not rated yet Mar 10, 2016
One of the worst things about webpages occurs when you are trying to type something in, fill something out, and the page is jumping up and down because ADS are loading. Banners, pop-ups. This is especially true with less powerful devices like tablets and phones. They don't need fast loading, they need BETTER, less cluttered pages.

Please sign in to add a comment. Registration is free, and takes less than a minute. Read more

Click here to reset your password.
Sign in to get notified via email when new comments are made.