A breakthrough by researchers at the Massachusetts Institute of Technology could change the way Web and mobile apps are written and help companies like Facebook keep the cat videos coming.
Their main innovation is a new way to decide when each packet can scurry across a data center to its destination. The software that the MIT team developed, called Fastpass, uses parallel computing to make those decisions almost as soon as the packets arrive at each switch. They think Fastpass may show up in production data centers in about two years.
In today's networks, packets can spend a lot of their time in big, memory-intensive queues, lined up like tourists at Disney World. That's because switches mostly decide on their own when each packet can go on to its destination, and they do so with limited information. Fastpass gives that job to a central server, called an arbiter, that can look at a whole segment of the data center and schedule packets in a more efficient way, according to Hari Balakrishnan, MIT's Fujitsu Professor in Electrical Engineering and Computer Science. He co-wrote a paper that will be presented at an Association for Computing Machinery conference next month. The co-authors included Facebook researcher Hans Fugal.
Centralized decision-making is all the rage in networking as vendors implement various versions of SDN (software-defined networking). In fact, Balakrishnan was one of the authors of a key early paper on SDN. But those systems make higher level decisions, such as how to handle various types of traffic, in seconds or minutes. Fastpass applies the same concept to packet-by-packet forwarding decisions, Balakrishnan said.
Their motivation is not so much to make your Facebook page load faster or your Google search results come up sooner, though that might happen. Instead, the inventors of Fastpass want to simplify both applications and switches, and shrink the amount of bandwidth companies have to have in their data centers.
In switches, tools for managing queues add complexity that raises costs, Balakrishnan said. He envisions future switches with room for very small queues, "just to be defensive," and correspondingly lower cost and complexity.
By making all packets arrive on time, Fastpass can also save network architects from having to overprovision data center links for unpredictable bursts of traffic. As the number of users and the volume of data grows, it should be easier to keep up.
There's a similar benefit for developers of distributed applications, which split problems up and send them to different servers around a network for answers.
"Developers struggle a lot with the variable latencies that current networks offer," said co-author Jonathan Perry, an electrical engineering and computer science graduate student at MIT. With that solved, "It's much easier to develop complex, distributed programs like the one Facebook implements," he said.
Sign up for Computerworld eNewsletters.