Towards an Efficient, Scalable, Dynamic and Flexible NFV-based Data Plane Open Access
Downloadable ContentDownload PDF
The increasing demand for complex network functions and middleboxes, and new tech- niques SDN and NFV have driven the network transformation from expensive and custom built hardware appliances to predominately software-based NFs (network functions). The heterogeneous software-based NFs and service chains (packets are steered to a sequence of network functions) bring in new challenges and interesting problems such as high speed and flexible networking systems and fine-grained resource management for flow isolation. In this thesis we investigate challenges related to the network data plane, with a particular emphasis on how to provide high performance packet processing, flexible and dynamic flow steering and flow-level resource management and scheduling.We first discuss the limitations of the current divide between an intelligent control plane and an overly simple, stateless data plane. To use fine-grained flow information to determine how packets are processed, we demonstrate OpenNetVM, which provides high-speed packet processing in a flexible data plane. Then we need a way to manage the smart data plane with SDN controller. To do so, we present a hierarchical control framework, SDNFV, which can make routing decisions by a SDN controller, a host-level manager and individual NFs based on different granularity information at different stages. The platform provides a flexible and dynamic data plane, which can get the right balance of efficiency, flexibility and ease of control.We then investigate how to provide efficient resource usage and flow-level performance management in the data plane. We propose to leverage the benefits of both polling and interrupt packet processing, that can allow running NFs at a large scale. We track flow state in a light-weight manner and map per flow or per class flows to the required NFs. In Flurries, different types of flows can run and be scheduled on the same core, we use an adaptive scheduling scheme that dynamically adjusts batching to impact the scheduling timing of interactive and throughput-based flows.Finally, we discuss how to exploit recent advances in NFV to help the current load balancers limitation for caching clusters when facing skewed workload. Prior approaches have two key problems. We propose a scalable, self-managing load balancer as a network function, NetKV, which can produce high performance and scalability by using zero-copy packet processing and bypassing the load balancer for server responses. We use stream-analytic techniques to efficiently and accurately detect the potential hot keys, and use balls and bins theory to adaptively adjust the replication factor and select a set of hot keys that maintains the load imbalance within the administrator predefined threshold.