Multi-Commodity Flow with In-Network Processing

Modern networks run "middleboxes" that offer services ranging from network address translation and server load balancing to firewalls, encryption, and compression. In an industry trend known as Network Functions Virtualization (NFV), these middleboxes run as virtual machines on any commodity server, and the switches steer traffic through the relevant chain of services. Network administrators must decide how many middleboxes to run, where to place them, and how to direct traffic through them, based on the traffic load and the server and network capacity. Rather than placing specific kinds of middleboxes on each processing node, we argue that server virtualization allows each server node to host all middlebox functions, and simply vary the fraction of resources devoted to each one. This extra flexibility fundamentally changes the optimization problem the network administrators must solve to a new kind of multi-commodity flow problem, where the traffic flows consume bandwidth on the links as well as processing resources on the nodes. We show that allocating resources to maximize the processed flow can be optimized exactly via a linear programming formulation, and to arbitrary accuracy via an efficient combinatorial algorithm. Our experiments with real traffic and topologies show that a joint optimization of node and link resources leads to an efficient use of bandwidth and processing capacity. We also study a class of design problems that decide where to provide node capacity to best process and route a given set of demands, and demonstrate both approximation algorithms and hardness results for these problems.

[1]  Michal Pióro,et al.  SNDlib 1.0—Survivable Network Design Library , 2010, Networks.

[2]  Matthias Rost,et al.  Service Chain and Virtual Network Embeddings: Approximations using Randomized Rounding , 2016, ArXiv.

[3]  P. Berman,et al.  On Some Tighter Inapproximability Results , 1998, Electron. Colloquium Comput. Complex..

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

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

[6]  Noga Alon,et al.  Algorithmic construction of sets for k-restrictions , 2006, TALG.

[7]  Minlan Yu,et al.  Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags , 2014, NSDI.

[8]  Steve Uhlig,et al.  Providing public intradomain traffic matrices to the research community , 2006, CCRV.

[9]  Xin Li,et al.  A survey of network function placement , 2016, 2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC).

[10]  Vyas Sekar,et al.  Making middleboxes someone else's problem: network processing as a cloud service , 2012, SIGCOMM '12.

[11]  Matthias Rost,et al.  Virtual Network Embedding Approximations: Leveraging Randomized Rounding , 2018, 2018 IFIP Networking Conference (IFIP Networking) and Workshops.

[12]  David Steurer,et al.  Analytical approach to parallel repetition , 2013, STOC.

[13]  Michal Pioro,et al.  SNDlib 1.0—Survivable Network Design Library , 2010 .

[14]  Nick Feamster,et al.  Programming slick network functions , 2015, SOSR.

[15]  Shi Li,et al.  Capacitated Network Design on Undirected Graphs , 2013, APPROX-RANDOM.

[16]  Vyas Sekar,et al.  Accelerating the Development of Software-Defined Network Optimization Applications Using SOL , 2015, ArXiv.

[17]  Lester Randolph Ford,et al.  A Suggested Computation for Maximal Multi-Commodity Network Flows , 2004, Manag. Sci..

[18]  Guy Kortsarz On the Hardness of Approximating Spanners , 2001, Algorithmica.

[19]  Yonggang Wen,et al.  Towards joint resource allocation and routing to optimize video distribution over future internet , 2015, 2015 IFIP Networking Conference (IFIP Networking).

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

[21]  Vyas Sekar,et al.  Simplifying Software-Defined Network Optimization Using SOL , 2016, NSDI.

[22]  Marek Karpinski,et al.  On Some Tighter Inapproximability Results (Extended Abstract) , 1999, ICALP.

[23]  Matthias Rost,et al.  Charting the Complexity Landscape of Virtual Network Embeddings , 2018, 2018 IFIP Networking Conference (IFIP Networking) and Workshops.

[24]  Boaz Patt-Shamir,et al.  Competitive Path Computation and Function Placement in SDNs , 2016, ArXiv.

[25]  Boaz Patt-Shamir,et al.  On-Line Path Computation and Function Placement in SDNs , 2016, SSS.

[26]  Matthias Rost,et al.  An Approximation Algorithm for Path Computation and Function Placement in SDNs , 2016, SIROCCO.

[27]  Jing Deng,et al.  Compression Proxy Server: Design and Implementation , 1999, USENIX Symposium on Internet Technologies and Systems.

[28]  Subhash Khot,et al.  Vertex cover might be hard to approximate to within 2-/spl epsiv/ , 2003, 18th IEEE Annual Conference on Computational Complexity, 2003. Proceedings..

[29]  Éva Tardos,et al.  Fast approximation algorithms for fractional packing and covering problems , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[30]  Maxim Sviridenko,et al.  A note on maximizing a submodular set function subject to a knapsack constraint , 2004, Oper. Res. Lett..

[31]  R. P. Dilworth,et al.  A DECOMPOSITION THEOREM FOR PARTIALLY ORDERED SETS , 1950 .

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

[33]  Joseph Naor,et al.  Near optimal placement of virtual network functions , 2015, 2015 IEEE Conference on Computer Communications (INFOCOM).

[34]  Sanjeev Arora,et al.  The Multiplicative Weights Update Method: a Meta-Algorithm and Applications , 2012, Theory Comput..

[35]  Tamás Lukovszki,et al.  Approximate and Incremental Network Function Placement , 2017, J. Parallel Distributed Comput..

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

[37]  S. Safra,et al.  On the hardness of approximating minimum vertex cover , 2005 .