Network function virtualization (NFV) is an emerging design paradigm that replaces physical middlebox devices with software modules running on general purpose commodity servers. While gradually transitioning to NFV, Internet service providers face the problem of where to introduce NFV in order to make the most benefit of that; here, we measure the benefit by the amount of traffic that can be served in an NFV-enabled network. This problem is non-trivial as it is composed of two challenging subproblems: 1) placement of nodes to support virtual network functions (referred to as VNF-nodes); 2) allocation of the VNF-nodes' resources to network flows. This problem has been studied for the one-dimensional setting, where all network flows require one network function, which requires a unit of resource to process a unit of flow. In this work, we consider the multi-dimensional setting, where flows must be processed by multiple network functions, which require a different amount of each resource to process a unit of flow. The multi-dimensional setting introduces new challenges in addition to those of the one-dimensional setting (e.g., NP-hardness and non-submodularity) and also makes the resource allocation subproblem a multi-dimensional generalization of the generalized assignment problem with assignment restrictions. To address these difficulties, we propose a novel two-level relaxation method that allows us to draw a connection to the sequence submodular theory and utilize the property of sequence submodularity along with the primal-dual technique to design two approximation algorithms. We further prove that the proposed algorithms have a non-trivial approximation ratio that depends on the number of VNF-nodes, resources, and a measure of the available resource compared to flow demand. Finally, we perform trace-driven simulations to show the effectiveness of the proposed algorithms.
翻译:网络功能虚拟化(NFV)是一个新兴的设计模式,它用通用商品服务器上运行的软件模块取代物理中继器设备。在逐渐过渡到NFV的同时,互联网服务供应商面临一个问题,即如何引入NFV,以获得最大利益;在这里,我们用NFV驱动网络的流量量来衡量其好处。这个问题不是三角的,因为它由两个具有挑战性的子问题组成:1) 设置节点以支持虚拟网络功能(称为VNF-nodes);2) 将VNF-nodes的资源分配给网络流。在一维设置中,所有网络流动都需要一个网络功能,这需要一组资源来处理一个流动单位。在这项工作中,我们考虑多维环境的流量必须由多个网络功能处理,这需要不同的资源量来处理一个流动单位。多维量的设置在一维设置(eg, 理论-ralalal-aldes) 资源流向网络流转。我们用一个不透明化的流程和不透明化的流程流,我们用一种不透明化的方法向一个常规资源序列流。