We study the allocation problem of a compound request for a service chain in a software defined network that supports network function virtualization. Given a network that contains servers with limited processing power and links with limited bandwidth, a service chain is a sequence of virtual network functions (VNFs) that serve a certain flow request in the network. The allocation of a service chain consists of routing and VNF placement, namely each VNF from the sequence is placed in a server along a path. It is feasible if each server can handle the VNFs that are assigned to it, and if each link on the path can carry the flow that is assigned to it. A request for service is composed of a source and a destination in the network, an upper bound on the total latency, and a specification in the form of a directed acyclic graph (DAG) of VNFs that provides all service chains that are considered valid for this request. In addition, each pair of server and VNF is associated with a cost for placing the VNF in the server. Given a request, the goal is to find a valid service chain of minimum total cost that respects the latency constraint or to identify that such a service chain does not exist. We show that even the feasibility problem is NP-hard in general graphs. Hence we focus on DAGs. We show that the problem is still NP-hard in DAGs even for a very simple network, and even if the VNF specification consists of only one option (i.e., the virtual DAG is a path). On the other hand, we present an FPTAS for the case where the network is a DAG. In addition, based on our FPTAS, we provide algorithms for general instances in which the service chain passes through a bounded number of vertices whose degree is larger than two. Finally, we provide an FPTAS for a fault-tolerant version of the problem.
Bibliographical noteFunding Information:
A preliminary version appeared in the 3rd International Workshop on Algorithmic Aspects of Cloud Computing (ALGOCLOUD), 2017. Research supported in part by Network Programming (Neptune) Consortium, Israel.Partially supported by the Israel Science Foundation (Grant No. 497/14).
© 2019 Elsevier B.V.
- Approximation algorithms
- Network function virtualization
- Randomized algorithms
- Resource allocation
- Service chaining
- Software defined network