Entry Date:
December 21, 2016

A Programmable Network Data Plane for Resource Management in Datacenters

Principal Investigator Hari Balakrishnan

Project Start Date October 2015

Project End Date
 September 2018


Datacenters have revolutionized computing, allowing small companies and research groups to harness the power of tens of thousands of computers, and large companies to provide a wide range of services to billions of users. Research on datacenter network architectures is important to meet the stringent performance requirements of many applications at acceptable cost. A key aspect of modern datacenter networks is their use of sophisticated resource management algorithms within the network, without which it would be prohibitively expensive or even impossible to accomplish many data-intensive computing tasks. Researchers, engineers, and network operators have been developing new methods for resource management at a healthy pace over the past two decades. Much of this work requires changes to network routers, whose data planes are typically implemented in hardware. Hardware is inflexible, so researchers cannot convincingly demonstrate their new ideas, and operators cannot evaluate them in practice. The two approaches available today for programmable networks---software routers and hardware routers with programmable elements---both have drawbacks. To date, software routers have failed to deliver on performance, being at least an order of magnitude slower than hardware, whereas programmable elements in hardware routers have not been able to provide a convenient platform to express most queue management, scheduling, and control algorithms.

To address this problem, this proposal introduces Flexplane, a new way to architect a programmable network data plane capable of supporting a variety of resource management schemes. The goal is to support schemes specified in a high-level language like C++ as in a software simulator or a software router, but run them at hardware rates on real networks. The key idea is to use a centralized arbiter to emulate the behavior of an entire network with abstract packets, and reflect that behavior on to real packets sent by the endpoints over the actual network. With Flexplane, packets arrive at their destinations with the timings and headers that mimic on-path routers running the programmed schemes.

Broader Impacts: Flexplane is of demonstrated interest to network infrastructure teams in companies like Facebook. The results of this research will directly benefit datacenters operated by companies like Facebook, Google, Microsoft, Amazon.com, and many other enterprises. The education plan includes the introduction of this research's findings into the undergraduate curriculum and offers undergraduates an opportunity to implement network protocols in a friendly programming environment, but have them run at high rates, a capability that was hitherto unavailable. The graduate-level education goals are to explore the limits of centralized arbitration and data-plane programmability. The course material will be made widely available through MIT OpenCourseWare and on the MITx MOOC.