Towards an Efficient, Scalable, Dynamic and Flexible NFV-based Data Plane

Towards an Efficient, Scalable, Dynamic and Flexible NFV-based Data Plane The increasing demand for complex network functions and middleboxes, and new techniques – 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

[1]  Fulvio Risso,et al.  Supporting Fine-Grained Network Functions through Intel DPDK , 2014, 2014 Third European Workshop on Software Defined Networks.

[2]  Guyue Liu,et al.  SDNFV: Flexible and Dynamic Software Defined Control of an Application- and Flow-Aware Data Plane , 2016, Middleware.

[3]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[4]  Ling Liu,et al.  Achieving 10Gbps Line-rate Key-value Stores with FPGAs , 2013, HotCloud.

[5]  Mohamed Faten Zhani,et al.  Price and Performance of Cloud-hosted Virtual Network Functions: Analysis and Future Challenges , 2018, 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft).

[6]  K. K. Ramakrishnan,et al.  Performance management challenges for virtual network functions , 2016, 2016 IEEE NetSoft Conference and Workshops (NetSoft).

[7]  Roberto Bifulco,et al.  ClickOS and the Art of Network Function Virtualization , 2014, NSDI.

[8]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[9]  K. K. Ramakrishnan,et al.  Load Balancing of Heterogeneous Workloads in Memcached Clusters , 2014, Feedback Computing.

[10]  Parameswaran Ramanathan,et al.  HIP: hybrid interrupt-polling for the network interface , 2001, OPSR.

[11]  Nick Feamster,et al.  A slick control plane for network middleboxes , 2013, HotSDN '13.

[12]  Roy H. Campbell,et al.  Context switch overheads for Linux on ARM platforms , 2007, ExpCS '07.

[13]  Eyal de Lara,et al.  SnowFlock: rapid virtual machine cloning for cloud computing , 2009, EuroSys '09.

[14]  Jeffrey Considine,et al.  Simple Load Balancing for Distributed Hash Tables , 2003, IPTPS.

[15]  Minlan Yu,et al.  FlowTags: enforcing network-wide policies in the presence of dynamic middlebox actions , 2013, HotSDN '13.

[16]  Vyas Sekar,et al.  Stratos: A Network-Aware Orchestration Layer for Middleboxes in the Cloud , 2013, ArXiv.

[17]  Patrick Thiran,et al.  Balanced Relay Allocation on Heterogeneous Unstructured Overlays , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[18]  L. Deri Improving Passive Packet Capture : Beyond Device Polling , 2003 .

[19]  Graham Cormode,et al.  What's hot and what's not: tracking most frequent items dynamically , 2003, TODS.

[20]  Jialin Li,et al.  Designing Distributed Systems Using Approximate Synchrony in Data Center Networks , 2015, NSDI.

[21]  Yang Li,et al.  Network functions virtualization with soft real-time guarantees , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[22]  Narseo Vallina-Rodriguez,et al.  Beyond the Radio: Illuminating the Higher Layers of Mobile Networks , 2015, MobiSys.

[23]  Ion Stoica,et al.  A policy-aware switching layer for data centers , 2008, SIGCOMM '08.

[24]  Scott Shenker,et al.  Rollback-Recovery for Middleboxes , 2015, Comput. Commun. Rev..

[25]  Bin Fan,et al.  Small cache, big effect: provable load balancing for randomly partitioned cluster services , 2011, SoCC.

[26]  Fang Hao,et al.  Towards an elastic distributed SDN controller , 2013, HotSDN '13.

[27]  A. Neeraja,et al.  Licensed under Creative Commons Attribution Cc by Improving Network Management with Software Defined Networking , 2022 .

[28]  Seung-Ik Lee,et al.  Resource Management in Service Chaining , 2016 .

[29]  Scott Shenker,et al.  Universal Packet Scheduling , 2015, NSDI.

[30]  Jon Crowcroft,et al.  Jitsu: Just-In-Time Summoning of Unikernels , 2015, NSDI.

[31]  Ian F. Akyildiz,et al.  A roadmap for traffic engineering in SDN-OpenFlow networks , 2014, Comput. Networks.

[32]  Song Jiang,et al.  Characterizing Facebook's Memcached Workload , 2014, IEEE Internet Computing.

[33]  Tony Tung,et al.  Scaling Memcache at Facebook , 2013, NSDI.

[34]  Sylvia Ratnasamy,et al.  A Survey of Enterprise Middlebox Deployments , 2012 .

[35]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[36]  Jiachen Chen,et al.  Exploiting ICN for flexible management of software-defined networks , 2014, ICN '14.

[37]  Nicola Blefari-Melazzi,et al.  On the Fly TCP Acceleration with Miniproxy , 2016, HotMIddlebox '16.

[38]  João Martins,et al.  The Case for the Superfluid Cloud , 2015, HotCloud.

[39]  Katerina J. Argyraki,et al.  RouteBricks: exploiting parallelism to scale software routers , 2009, SOSP '09.

[40]  Giuseppe Lettieri,et al.  Virtual device passthrough for high speed VM networking , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[41]  Seungjoon Lee,et al.  Optimal Content Placement for a Large-Scale VoD System , 2016, TNET.

[42]  Pradeep Dubey,et al.  Architecting to achieve a billion requests per second throughput on a single key-value store server platform , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[43]  Christos Gkantsidis,et al.  Enabling End-Host Network Functions , 2015, Comput. Commun. Rev..

[44]  Martin Raab,et al.  "Balls into Bins" - A Simple and Tight Analysis , 1998, RANDOM.

[45]  Mithuna Thottethodi,et al.  Understanding and mitigating the impact of load imbalance in the memory caching tier , 2013, SoCC.

[46]  Scott Shenker,et al.  E2: a framework for NFV applications , 2015, SOSP.

[47]  Michael Mitzenmacher,et al.  The Power of Two Choices in Randomized Load Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

[48]  Mark Handley,et al.  In-Net: in-network processing for the masses , 2015, EuroSys.

[49]  Mark Handley,et al.  Flow processing and the rise of commodity network hardware , 2009, CCRV.

[50]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2009, SOSP '09.

[51]  Frank Hady,et al.  When poll is better than interrupt , 2012, FAST.

[52]  K. K. Ramakrishnan,et al.  SmartSwitch: Blurring the Line Between Network Infrastructure & Cloud Applications , 2014, HotCloud.

[53]  Vyas Sekar,et al.  Design and Implementation of a Consolidated Middlebox Architecture , 2012, NSDI.

[54]  K. K. Ramakrishnan,et al.  Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization , 2016, CoNEXT.

[55]  K. K. Ramakrishnan,et al.  NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms , 2014, IEEE Transactions on Network and Service Management.

[56]  Bin Fan,et al.  MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing , 2013, NSDI.

[57]  Sylvia Ratnasamy,et al.  SoftNIC: A Software NIC to Augment Hardware , 2015 .

[58]  Eunyoung Jeong,et al.  mTCP: a Highly Scalable User-level TCP Stack for Multicore Systems , 2014, NSDI.

[59]  Tarik Taleb,et al.  Service Function Chaining in Next Generation Networks: State of the Art and Research Challenges , 2017, IEEE Communications Magazine.

[60]  Fang Hao,et al.  Application-aware data plane processing in SDN , 2014, HotSDN.

[61]  Timothy Wood,et al.  NetKV: Scalable, Self-Managing, Load Balancing as a Network Function , 2016, 2016 IEEE International Conference on Autonomic Computing (ICAC).

[62]  Ratul Mahajan,et al.  Colt ? ? ? ? ? ? ◦ DTAG ? ◦ • ◦ ? ? ? ? ! ◦ ? ? ? ◦ ◦ ? ? Eqip ? ? ? ? ? ? , 2003 .

[63]  P. Flajolet,et al.  HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm , 2007 .

[64]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[65]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[66]  K. K. Ramakrishnan,et al.  Toward a software-based network: integrating software defined networking and network function virtualization , 2015, IEEE Network.

[67]  T. V. Lakshman,et al.  Optimizing data access latencies in cloud systems by intelligent virtual machine placement , 2013, 2013 Proceedings IEEE INFOCOM.

[68]  Meral Shirazipour,et al.  StEERING: A software-defined networking for inline service chaining , 2013, 2013 21st IEEE International Conference on Network Protocols (ICNP).

[69]  Minlan Yu,et al.  SIMPLE-fying middlebox policy enforcement using SDN , 2013, SIGCOMM.

[70]  Hyeontaek Lim,et al.  MICA: A Holistic Approach to Fast In-Memory Key-Value Storage , 2014, NSDI.

[71]  Timothy Wood,et al.  Adaptive Performance-Aware Distributed Memory Caching , 2013, ICAC.

[72]  Andrew Warfield,et al.  Split/Merge: System Support for Elastic Execution in Virtual Middleboxes , 2013, NSDI.

[73]  K. K. Ramakrishnan,et al.  OpenNetVM: A Platform for High Performance Network Service Chains , 2016, HotMiddlebox@SIGCOMM.

[74]  Aditya Akella,et al.  Stratos: Virtual Middleboxes as First-Class Entities , 2012 .

[75]  Jiuxing Liu,et al.  Virtualization polling engine (VPE): using dedicated CPU cores to accelerate I/O virtualization , 2009, ICS.

[76]  Ali Raza Butt,et al.  An in-memory object caching framework with adaptive load balancing , 2015, EuroSys.

[77]  Sonia Fahmy,et al.  NFV-VITAL: A framework for characterizing the performance of virtual network functions , 2015, 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN).

[78]  Minlan Yu,et al.  Practical and Incremental Convergence between SDN and Middleboxes , 2013 .

[79]  Giuseppe Lettieri,et al.  VALE, a switched ethernet for virtual machines , 2012, CoNEXT '12.

[80]  Aditya Akella,et al.  OpenNF: enabling innovation in network function control , 2015, SIGCOMM 2015.

[81]  Luigi Rizzo,et al.  netmap: A Novel Framework for Fast Packet I/O , 2012, USENIX ATC.

[82]  Thomas F. Wenisch,et al.  Thin servers with smart pipes: designing SoC accelerators for memcached , 2013, ISCA.

[83]  Nick McKeown,et al.  Programmable Packet Scheduling at Line Rate , 2016, SIGCOMM.