Cloud computing is changing the demands on networks more quickly than ever. Now researchers say it's possible to program routers all the way down to their packet-forwarding chips in the quest to keep up.
Researchers from the Massachusetts Institute of Technology and five other organizations have found a way to make data-center routers more programmable without making them slower. This could allow enterprises to take advantage of new traffic and congestion management algorithms without replacing their routers.
The project takes SDN (software-defined networking) beyond the control plane, where things like configuration are handled, and into the data plane that actually forwards packets. Now programmers can change how the network decides which packets to send and which to keep in a buffer, for example. Eventually, that might mean deploying networks with fewer routers.
Today, the chips out at the edge of routers that actually switch packets are hard-coded with algorithms for deciding things like which packets to drop when a network is congested. The algorithms are written to make sure each application performs as it should. For example, live video may need less delay, while accounting software needs to avoid losing packets.
As enterprises roll out new applications, those chips can't be reprogrammed with new algorithms. That holds networking back in a world of agile development and DevOps teams.
"A big motivation for all this is to make it as easy to innovate in the network as it is to innovate in the servers and other areas of the compute stack," said Prof. Mohammad Alizadeh, a co-author of two papers that the researchers are presenting this week at an Association for Computing Machinery conference on data communication. Anirudh Sivaraman, an MIT graduate student in electrical engineering and computer science, is the first author on both papers.
While big cloud operators like Google or Facebook may get in and program network chips themselves, typical enterprises should benefit by getting periodic software updates from equipment vendors.
To make these chips programmable through software, the researchers got down to basics, breaking down what the processors do into a short list of low-level operations. This was one of the challenges of the project: Looking at algorithms from different sources and finding the operations they had in common. "If the chip supports these, then you can build a lot of algorithms on top," he said.
It turns out that the extra silicon required to make these chips programmable would take up 4 percent or less of the total area of current chip designs, the researchers found. That shouldn't increase the cost of network equipment by much, Alizadeh said.
What it could do, over time, is make routers more efficient at handling the real traffic loads moving through networks. More efficient routing could mean fewer routers to do the same amount of work, Alizadeh said.
The MIT team isn't that far out on the frontier of networking research. Some startups, including Barefoot Networks, which participated in the project, are already developing programmable chips for the data plane. Gear that takes advantage of these kinds of advances should be on the market in a few years, Alizadeh said.