Virtual Network Function Deployment in Tree-Structured Networks

Network Function Virtualization (NFV) evolves the implementation of network functions from expensive hardwares to software middleboxes. These software middleboxes, also called Virtual Network Functions (VNFs), are executed on switch-connected servers. Efficiently deploying such VNFs is challenging, because VNFs must fully process all flows with their traffic rates before they reach their destinations while VNF locations are restricted by the constraint of vertex capacity. In addition, each network function offers heterogeneous VNF types with different configurations of processing volumes and costs. This paper focuses on minimizing the total cost of deploying VNF instances for providing a specific network function to all flows in tree-structured networks. First we prove the NP-hardness of heterogeneous VNF deployment in a tree topology and propose a dynamic programming based solution with a pseudo-polynomial time complexity. Then we narrow down to three simplified cases by focusing on homogeneous VNFs or the linear line topology. Specifically, three algorithms are introduced: an improved dynamic programming based algorithm for deploying homogeneous VNFs in a tree topology, a performance-guaranteed algorithm for deploying heterogeneous VNFs in a linear line topology, and an optimal greedy algorithm for deploying homogeneous VNFs in a linear line topology. Extensive simulations are conducted to evaluate the performance of our algorithms.

[1]  Wei Zhang,et al.  NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains , 2017, IEEE/ACM Transactions on Networking.

[2]  Haitao Wu,et al.  BCube: a high performance, server-centric network architecture for modular data centers , 2009, SIGCOMM '09.

[3]  Pengfei Duan,et al.  Toward Latency-Aware Dynamic Middlebox Scheduling , 2015, 2015 24th International Conference on Computer Communication and Networks (ICCCN).

[4]  Martín Casado,et al.  Virtualizing the network forwarding plane , 2010, PRESTO '10.

[5]  Amin Vahdat,et al.  A scalable, commodity data center network architecture , 2008, SIGCOMM '08.

[6]  G. B. Mathews On the Partition of Numbers , 1896 .

[7]  Laurence A. Wolsey,et al.  An analysis of the greedy algorithm for the submodular set covering problem , 1982, Comb..

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

[9]  Matthias Rost,et al.  Virtual Network Embedding Approximations: Leveraging Randomized Rounding , 2019, IEEE/ACM Transactions on Networking.

[10]  B. Akbari,et al.  Hybrid CDN-P2P architectures for live video streaming: Comparative study of connected and unconnected meshes , 2011, 2011 International Symposium on Computer Networks and Distributed Systems (CNDS).

[11]  Min Zhu,et al.  B4: experience with a globally-deployed software defined wan , 2013, SIGCOMM.

[12]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

[14]  Alex C. Snoeren,et al.  Inside the Social Network's (Datacenter) Network , 2015, Comput. Commun. Rev..

[15]  Deng Pan,et al.  Traffic aware placement of interdependent NFV middleboxes , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[16]  Chen Sun,et al.  NFP: Enabling Network Function Parallelism in NFV , 2017, SIGCOMM.

[17]  Matthias Rost,et al.  NP-Completeness and Inapproximability of the Virtual Network Embedding Problem and Its Variants , 2018, ArXiv.

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

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

[20]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[21]  Xiaojiang Du,et al.  Provably efficient algorithms for joint placement and allocation of virtual network functions , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.