Big Advances in Data-Center Networking
Microsoft Research
August 12, 2013 6:00 PM PT

These are exciting times for networking researchers. New developments in data-center networking—and the new efficiencies those advances offer—are making this one of the hottest fields in computing.

Major figures in networking and communications research gather in Hong Kong from Aug. 12 to 16 for SIGCOMM 2013, the flagship annual conference of the Association for Computing Machinery’s Special Interest Group on Data Communications. And a trio of papers from the Mobility and Networking Research Group at Microsoft Research Redmond will provide an eye-opening vision of what can be accomplished in the short term—and what the future could bring.

The topic of the hour in these environs is software-defined networks (SDNs), which provide a clean way to control and manage data-center networks and make them increasingly flexible. It’s a passion shared across the Mobility and Networking Research Group, as exemplified by Victor Bahl and George Varghese.

SDNs won’t be the only focus of SIGCOMM 2013. Microsoft Research will present 10 of the 39 papers accepted for presentation—seven of them from the Redmond group and one each from Microsoft Research Cambridge, Microsoft Research India, and Microsoft Research Asia.

All the Rage

But, as noted by Bahl, a Microsoft Research principal researcher and manager of the Mobility and Networking Group, his team’s SDN contributions certainly will enliven the SIGCOMM conversation.

“Software-defined networking,” he says, “has taken the community by storm.”

At issue is the communications infrastructure that connects the giant data centers where web-scale data is warehoused. For years, that infrastructure has been constrained by the hardware that manages the network backbone that connects those data centers. Now, though, research is providing ways to make those communications more flexible and efficient, and SDNs play an integral role in that transformation.

“They separate out the control plane from the data plane,” Bahl explains. “That means the part of the network that makes decisions [the control plane] on where the traffic is sent is decoupled from the part that forwards traffic [the data plane]. As a result, the hardware for the data plane [the network switches] becomes much simpler.”

High End, Fancy Features

Suppliers of high-end network hardware traditionally have produced expensive switches because they include lots of fancy features, which require memory and computation.

That, Bahl says, is about to change.

“Researchers have been working on this problem for many years, and they have figured out a way to remove the most essential control logic from the network switches and put it into a different box, which then sends control packets to configure the switches according to the desired policy,” he says. “That reduces the complexity in the switches, makes them cheaper, and simplifies the network, because now you have fewer heavyweight network components to manage. You still have to manage every component, but you can change network behavior more intelligently, and failures are easier to detect and handle.”

SDNs work particularly well in enabling data-center networking, and that’s the context for Bahl’s group’s three SDN-related papers for SIGCOMM 2013:

As more and more computation and data move into the cloud, communication between data centers becomes increasingly critical for providers of online services, and that’s where SDNs could play an important role, as outlined in the Achieving High Utilization with Software-Derived WAN paper.

“The problem there,” Bahl says, “has been that bandwidth between data centers is expensive. We pay a lot of money for the thick pipes that connect our different data centers. The reason we have thick pipes is that, for example, Bing indexes the entire web. Hundreds of thousands of servers in a data center are used to index the web. Once they’ve done it, these indexes have to be moved to other data centers, but that’s a lot of data, and it has to be moved quickly for it to be relevant.”

While the pipe connecting data centers is large enough to accommodate the peak requirements created by the indexes, when the indexes have been moved, this pipe becomes underutilized. At times, the flow of information through the big pipe slows to a relative trickle.

Peaks and valleys in data-center networking
A fluctuation between times of data-center networking peak usage and underutilization results in a graph with peaks and valleys ...

“The reason is,” Bahl says, “the network itself is not able to adapt its global behavior intelligently to the changing requirements. Ideally, after high-priority indexes have been moved, the network would reconfigure itself to meet the traffic demands of other servers inside the data centers. With SDNs, by pulling out the control and making the switch simpler, the controller is able to look at all traffic demands globally and configure the switches to adapt the network behavior intelligently.

“Looking at pipe utilization, there are peaks and valleys. With SDNs, we fill the valleys with data from different sources inside the data center and fill up the pipe.”

Efficient usage of networking within data centers
... but by using a software-defined networking approach, the valleys can be filled in with data from different data-center sources, greatly enhancing efficiency.

The stakes are high.

“There’s data to be moved,” Bahl states. “Once the data moves, the servers become free, and then they can be used for other jobs. If the data does not move fast enough, even though we have a big pipe, the servers stall. By making the pipe available to these stalled servers, we free them up to do other work, thus getting more efficiency out of the data center.

“We will save a lot of money if we get this right. This is important because it will reduce the overall cost of operating data centers, which, in turn, will reduce the cost for everyone using the cloud.”

That, though, is not all. The approach taken by Varghese and his colleagues in the Forwarding Metamorphosis paper could represent yet another sea change.

Within a data center, a router performs two vital processes: packet forwarding and managing the dynamic tables that determine the forwarding address when a link changes. SDNs can enable changing the software that controls the building of the routing tables, providing more flexibility with the control plane. But the basic hardware portion of the router can’t be changed.

The forwarding mechanism, though, can.

“We propose mechanisms to allow changing the forwarding, in addition to changing the routing, as SDN already allows,” Varghese says. “That’s really the big idea here.

Changing Packets on the Fly

“The ‘forwarding metamorphosis’ means we can actually change what is done to a packet as it travels through a router, which SDNs today cannot. SDNs only allow you to change the contents of tables, but not the actual forwarding process of a router. We change the way you could understand packets, the way you could allocate table entries among various functions of the router, and the way you could process a packet so that the same piece of hardware can be transformed from being an edge router to a core router to even what is called a bridge.”

For some time, researchers thought that network processors could provide the ability to provide additional flexibility with the packet-forwarding piece of the data-communications puzzle. But routers work at speeds much, much faster than the fastest network processor or field-programmable gate array. As Varghese explains, “We really need the power of raw hardware.”

That’s not to say that such power cannot be combined with flexibility. He and his co-authors—acclaimed researchers from Stanford University and circuit designers from Texas Instruments—have constructed a mechanism that provides three flexibilities:

  • Flexible parser: If you want to add an additional field to a packet to fine-tune the forwarding process, you need to find a way to do so while using existing hardware. Parsers understand the meaning of such packet fields.

“We built a flexible parser,” Varghese says, “where, in an operational network, you could say: ‘I’m changing this protocol. It uses these particular bits in the packet, and this is what they now mean.’ We can do that without upgrading the hardware.”

  • Flexible tables: Managing a router’s forwarding tables can get complicated, particularly in determining how to allocate memory. The Forwarding Metamorphosis paper explains how to build flexible memory than can be divided to address various uses—again, without requiring new hardware.
  • Flexible actions: Many people have argued in recent years that the traditional Transmission Control Protocol could be improved greatly if congestion information could be appended to a packet. Not with fixed hardware, though. But the work by Varghese and his colleagues enables the ability to write arbitrary packet fields after the fact.

Such work represents nothing less than a new frontier in networking.

“This,” Varghese says, “is what SDNs should look like five years from now.”

The third SDN-related paper provides further evidence of Microsoft Research’s intention to remain at the forefront of this exciting new opportunity.

The new network architecture of SDNs creates a unique problem—and opportunity— that the zUpdate paper addresses. zUpdate eases network planning necessary to keep data-center networks running smoothly during software updates.

“This,” Bahl says, “is about how you update these switches and do so in a way that doesn’t affect the smooth operation of the data center. You have to update them in a very systematic manner.”

Other SIGCOMM 2013 papers from Microsoft Research pertain to such concerns as load balancing at the cloud level, resource management for data-intensive cloud applications, anonymity networks, and near-field communication.

“Cloud services are becoming very important, and we have to make them very efficient,” Bahl concludes. “At Microsoft, we’ve been working hard to make our data centers extremely efficient. We are doing this by focusing on the networking-infrastructure piece, both within our data centers and between our data centers.”