Dataplane Specialization for High-performance OpenFlow Software Switching

CímDataplane Specialization for High-performance OpenFlow Software Switching
Publication TypeConference Paper
Year of Publication2016
AuthorsMolnár, L., Pongrácz G., Enyedi G., Kis Z. Lajos, Csikor L., Juhász F., Kőrösi A., & Rétvári G.
Conference NameProceedings of the 2016 conference on ACM SIGCOMM 2016 Conference
PublisherACM
Abstract

OpenFlow is an amazingly expressive dataplane programming language, but this expressiveness comes at a severe performance price as switches must do excessive packet classification in the fast path. The prevalent OpenFlow software switch architecture is therefore built on flow caching, but this imposes intricate limitations on the workloads that can be supported efficiently and may even open the door to malicious cache overflow attacks. In this paper we argue that instead of enforcing the same universal flow cache semantics to all OpenFlow applications and optimize for the common case, a switch should rather automatically specialize its dataplane piecemeal with respect to the configured workload. We introduce ES WITCH, a novel switch architecture that uses on-the-fly template-based code generation to compile any OpenFlow pipeline into efficient machine code, which can then be readily used as fast path. We present a proof-of-concept prototype and we demonstrate on illustrative use cases that ES WITCH yields a simpler architecture, superior packet processing speed, improved latency and CPU scalability, and predictable performance. Our prototype can easily scale beyond 100 Gbps on a single Intel blade even with complex OpenFlow pipelines.