On offloading control plane applications to the data plane
Document typeMaster thesis
Rights accessOpen Access
Scheduling is one of the main active players in the quest for programmable networks. Despite the numerous research efforts that have been dedicated in latest years, not a single scheduling framework has resulted to be powerful enough to outperform the rest in a wide variety of scenarios. A new perspective to the problem has been therefore recently brought up, which suggests abandoning the pursue of a global scheduling solution, and moving into a more flexible and programmable conception. Network equipment should be designed to support different algorithms, from which it could select and configure the most appropriate one at each moment to face the instantaneous requirements of the dynamic nature in traffic demands. With the idea of making scheduling more programmable, new abstractions have been already defined, based on decoupling the process in two steps: a programmable-pipeline determining the order in which packets should be transmitted, and a fixed-logic push-in first-out (PIFO) queue draining packets in the desired arrangement. While PIFO abstraction is innovative and deeply promising, its hardware implementation is not straightforward. To the intrinsic difficulties of such a complex queuing design, adds the fact that ASIC production is by definition a multi-year process, propelling the release of a hardware built-in PIFO too far from expectations. Aiming to fill this temporal problem, in this thesis, a novel approach is proposed. Would it be possible to achieve a PIFO-behavior with the current resources available in nowadays networks? By trying to answer this question, we will embark in a journey that will span from revising the first quality of service proposals introduced at early networks, to discussions on how to reach predictability in potential future generations. Altogether, with the focus centered on squeezing the maximum benefit from the recent advances in network programmability, with special emphasis in the latest proceedings for programmable forwarding data planes.
One of the most active areas in computer networking is Software Defined Networking (SDN). SDN separates the two core functions of a network element (e.g., router): the control-plane and the data-plane. Traditionally both these functions were implemented on the same device; SDN decouples them, and allows multiple control-plane implementations for managing each data-plane. Despite the additional flexibility brought by separating these functions, SDN still assumes that the behavior of the network data-plane is fixed. This is a significant impediment to innovation. As a reac