Keynote: Towards A Software Defined Data Plane for Datacenters

Arvind Krishnamurthy

Abstract:

Emerging networking architectures are allowing for flexible and reconfigurable packet processing at line rate both at the NIC and the switch. These emerging technologies address a key limitation with software defined networking solutions such as OpenFlow, which allow for custom handling of flows only as part of the control plane. Many network protocols, such as those that perform resource allocation, require per-packet processing, which is feasible only if the data plane can be customized to the needs of the protocol. These new technologies thus have the potential to address this limitation and truly enable a "Software Defined Data Plane" that provides greater performance and isolation for datacenter applications.

Despite their promising new functionality, intelligent NICs and flexible switches are not all-powerful; they have limited state, support limited types of operations, and limit per-packet computation in order to be able to operate at line rate. Recent work addresses some of these limitations by providing a set of general building blocks that mask these limitations using approximation techniques and thereby enabling the implementation of realistic network protocols and distributed systems. But this represents just a first step towards developing an understanding as to how to enable a Software Defined Data Plane and how to best leverage that for applications. This talk will survey both recent work and discuss future directions to fully realize the potential of recent and upcoming hardware.

Bio: Arvind Krishnamurthy is a Professor of Computer Science and Engineering at the University of Washington. His research interests span all aspects of building practical and robust computer systems and is aimed at making improvements to the robustness, security, and performance of Internet-scale systems. A recent focus of his work has been to develop ways to dramatically improve the performance of networked applications deployed inside datacenters by rearchitecting all layers of the datacenter software stack.