When it comes to the Internet, we’re all incredibly impatient. It doesn’t matter that we had to wait several minutes for a single web page to load a decade and a half ago. If we can’t pull up an article in an instant in 2016, it’s a disaster. Google has even begun to take load speed into account when it comes to website rankings.
In other words, speed is important, which is why the latest development from MIT’s Computer Science and Artificial Intelligence Lab (CSAIL) and Harvard is especially exciting.
Researchers from the two universities have banded together to develop a system known as Polaris. The system is capable of decreasing load times by 34% by overlapping the downloading of a page’s objects so the whole page loads faster.
“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. “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.”
Without going into too much detail (because MIT does a fine job of that on its own website), a web page is made up of dozens of different objects. Before you enter a URL, your browser doesn’t know what the site should look like. When it begins loading, the browser then has to fetch the objects from the network and decide where to put them.
What complicates this process is when certain objects require the browser to fetch “dependencies” — additional objects which are needed to load the original objects. It’s a convoluted process, one which Polaris could assuage.
Harvard professor James Mickens uses the analogy of a traveling salesperson:
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,” says Mickens. “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.”
Best of all, Polaris is browser-agnostic. The team is hoping that some day soon the system will be integrated directly into browsers so that they will be able to work on further optimizations and everyone will be able to experience a faster Internet.