Virtualized network functions chaining and routing

0 downloads 0 Views 3MB Size Report
Jan 18, 2017 - VNF chains c of length (number of arcs) verifying 1 ≤ lc ≤ 2 (i.e. .... facets (or valid inequalities or hyperplans) to the VNF-CPP's poly-.
Computer Networks 114 (2017) 95–110

Contents lists available at ScienceDirect

Computer Networks journal homepage: www.elsevier.com/locate/comnet

Virtualized network functions chaining and routing algorithms Selma Khebbache a,1, Makhlouf Hadji b,2,∗, Djamal Zeghlache a,3 a b

Institi Mines-Télécom, Télécom SudParis, 17 Rue Charles Fourier, 91011 Evry, France Technological Research Institute SystemX, 8 Avenue de la Vauve, 91120 Palaiseau, France

a r t i c l e

i n f o

Article history: Received 6 July 2016 Revised 26 November 2016 Accepted 15 January 2017 Available online 18 January 2017 Keywords: NFV VNF SFC Infrastructure Perfect 2-Matching Optimization Forwarding graph

a b s t r a c t We focus on the placement of Virtualized Network Functions (VNFs) chains in the Network Function Virtualization (NFV) context where NFV Infrastructures (NFVIs) are used to host the VNFs. The optimal placement of VNF (service) chains in hosting infrastructures is one of the key issues in the deployment of service functions in large-scale environments. The Virtualized Network Functions Chain Placement Problem VNF-CPP is NP-Hard and there is a need for placement approaches that can scale with problem size and find good solutions in acceptable times. We propose a matrix-based optimization and a multi-stage graph method that are cost efficient and improve scalability by finding solutions in polynomial times. These algorithms are compared with an exact formulation given by the Perfect 2-Matching leading to a polynomial variant of the VNF-CPP for VNF chains with 2 arcs. Simulation results for longer and more complex chains confirm the efficiency and scalability of the proposed methods and their ability to find good suboptimal solutions.

1. Introduction and motivation Traditional network services deployments are tightly coupled to network topology be it physical, virtualized or hybrid. This limits service delivery and inhibits network and infrastructure providers from optimally using and sharing their resources by dynamically setting up slices per tenant and applications. The introduction of Network Function Virtualization (NFV) removes some of these barriers and provides the opportunity to decouple service deployment from network topology and enable the dynamic establishment of service chains according to tenant and application requirements on virtualized infrastructures. NFV leverages virtualization technologies (Hypervisors, Containers such as Docker, . . .) to realize multitenant and multiparty services on shared infrastructures. The fact that NFV implements and deploys network functions and services by relocating them from dedicated appliances to pools of generic industry servers provides the required decoupling and flexibility



Corresponding author. E-mail addresses: [email protected] (S. Khebbache), [email protected] (M. Hadji), [email protected] (D. Zeghlache). 1 Selma Khebbache is a research fellow in the Wireless Networks and Multimedia Services Department at Telecom SudParis, Evry, France. 2 Makhlouf Hadji is a senior scientist at the Technological Research Institute - IRT SystemX, France. 3 Djamal Zeghlache is Professor, Head of the Wireless Networks and Multimedia Services Department at Télécom SudParis, one of the education and research centers of Institut Mines-Télécom, Evry, France. http://dx.doi.org/10.1016/j.comnet.2017.01.008 1389-1286/© 2017 Elsevier B.V. All rights reserved.

© 2017 Elsevier B.V. All rights reserved.

to enable dynamic selection and placement of network services in hosting infrastructures. One of the key issues, in this customized deployment of service functions in large-scale environments, is the optimal placement of the service chains in hosting infrastructures. Service function chaining defines and instantiates an ordered list of abstract service functions and ordering constraints to apply to application flows through classification. The optimal placement of these chains in virtualized infrastructures is an NP-Hard problem that has been addressed to some extent in the current state of the art but additional research is required to accomplish efficiently the placement of complex chains in large scale infrastructures. Our central motivation is to realize this placement in polynomial times by proposing appropriate models and solutions that can scale with size of the hosting infrastructures and service chains. More specifically we focus on optimal Service Function Chaining (SFC) as defined by IETF [1], also known as Virtualized Network Functions-Forwarding Graph (VNFFG) in ETSI [2], according to demand. The work in IETF SFC and ETSI NFV address the placement, control, deployment and management of chains involving both application level and network level services. Since these services are realized in software they can be deployed, migrated, relocated, shut down, activated and upgraded more easily. Typical virtualized services are Deep Packet Inspection (DPI), Firewall, Classifier, Load Balancer, Router/switche, NAT, DNS,. . .. We are interested in providing optimization algorithms for the ETSI VNF-Forwarding Graph (VNF-FG) (or IETF Service Function

96

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Chains - SFC) use case where service providers acquire cloud and networking services and resources in the form of a graph to use in their service creation. For example a service provider may design an end to end network service between two physical network functions involving several intermediate VNFs, fully or partially virtualized, delivered by infrastructure providers that have adopted NFV to support cloud services providers (CSPs). The actual network service is the set of packet flows that traverse the VNF-FG and the related physical network functions (PNFs). The network providers are faced with the mapping of the requested VNF-FGs by the CSPs on their infrastructures and the establishment of the required connectivity between the logical VNF-FG nodes and links while respecting the network forwarding paths or packet flows (PFs) requested by the CSPs. A typical sequence encountered in networks, would correspond to packets traversing, in sequence, a router implemented in a VNF, an intrusion detection system (IDS), a firewall, a classifier and a load balancer to distribute traffic flows across the network towards end points or pools of servers. This paper addresses the mentioned optimal service chaining (or equivalently optimal VNF-forwarding graph Chain Placement Problem, noted by VNF-CPP) in providers infrastructures (identified as carrier networks in ETSI NFV). 1.1. Objectives and contributions Our objective is to propose efficient and scalable algorithms that can find good solutions (ideally close to optimal) for the VNF-CPP. In order to have a reference for performance comparisons, we propose an exact solution based on “Perfect 2-Matching theory” providing a polynomial variant of the VNF-CPP. This exact solution (polynomial for VNF chains with 3 nodes) is used to assess the performance at small scales of our proposed heuristic algorithms for the VNF-CPP. Larger scale evaluation is performed for the heuristics only as the exact solution does not scale. The proposed methods are: 1. An exact algorithm based on Perfect 2-Matching theory to solve in polynomial time the case of VNF chains with 3 VNFs. This polynomial case will serve as a lower bound in tandem with a new family of valid inequalities (facet) to accelerate the resolution of the VNF-CPP for VNF chains with larger lengths (chains with at least 4 VNFs). 2. An approach based on matrix analysis: it combines products of matrices with a simple linear programm to find an optimal steering of the traffic flows on each placed VNF. 3. An approach based on multi-stage graphs: constructed as a new extended multi-stage graph representing servers available for hosting the required VNFs and their interconnections. Chains of the Forwarding Graph are then placed according to a maximum flow between vertices of the different stages of this graph. We propose several algorithms that we feel can each solve independently the VNF-CPP and compare them to assess their relative performance and to provide insight on their efficiency. There is no intent of combining these algorithms that are in fact alternative and competing models proposed to address the VNF-CPP. Our goal is to show that they scale with problem size and achieve good placement of service chains in shared infrastructures. 1.2. Paper organization Section 2 presents the related work. Section 3 describes a model for the VNF-CPP that includes the VNFs’sequencing obligations and the physical resources limitations, complexity of the VNF-CPP and the proposed Perfect 2-Matching solution, the matrix-based approach and the multi-stage heuristic. Section 4 reports the results of performance evaluation and comparison of the

algorithms that highlight their efficiency, improved scalability and their ability to find good suboptimal solutions. 2. Related work Authors in [3] address the VNF forwarding graph placement problem using a mathematical model based on linear integer programming to achieve VNF chaining and placement while taking into account two essential constraints : i) cloud computation constraints and ii) physical networking resources limitations. In other words, [3] trades off computation and the communication overhead during VNF chain placement. Due to the NP-hardness of the VNF-FG placement problem, the authors resort to a Greedy solution to scale. The performance of Greedy solutions depends strongly on the order in which VNF chains are placed and their sizes and complexity. The authors do not take into account network resources in the optimization and focused only on the hosting requirements and reducing communications costs without considering or meeting the bandwidth or flow requirements of the VNF chains. The ordering and the flow requirements in VNF chains have to be included in the objectives. In [4], the focus is on improving execution time for network services deployed in network operators’ infrastructures. Authors of [4] view this problem as equivalent to a classical resource allocation problem with multiple criteria such as cost, revenue, performance, etc. They proposed a simple linear programm without considering the order of the VNF chains and their flow requirements (bandwidth required on selected links, etc. The problem of mapping and scheduling VNFs can also be found in [5] that proposes three greedy solutions and a tabusearch based heuristic to realize online joint mapping and scheduling of the VNFs. Performance for the proposed algorithms is evaluated using indicators such as acceptance ratio, cost and revenue also used as criteria for the optimization. The authors consider only the node hosting requirements of the VNFs in the mapping and scheduling process and disregard completely the link (arcs in the graph) requirements. The order of the VNFs and the flow requirements (bandwidth on links and hence latency between the VNFs) of the chains are not considered in the model. NFV management is provided by the project Stratos [6] that proposes a detailed architecture to orchestrate VNFs outsourced to a remote cloud taking into account various constraints such as traffic engineering, VNFs horizontal scaling, etc. Authors in [6] propose a VNF deployment solution based mostly on input workload and hence do not fully address VNF chains placement and deployment. The important objective of guaranteeing QoS to tenants and consumers in NFV when sharing infrastructures attracted a lot of interest lately. References [7–12] propose mathematical models for the VNF chains placement with routing constraints. The proposed models describe, however, a limited number of linear constraints and capture only a negligible part of the convex hull of the VNF-CPP. This causes scalability problems since the models all rely on Integer Linear Programming approaches. These proposed exact solutions do not scale for large problem instances[13]. and [14] also propose mathematical models, provide Integer Linear Programming solutions in some cases and Mixed Integer Linear Programming approaches in other cases (see [14] for instance). To cope with scalability problems, some references propose heuristic solutions but performance remains unsatisfactory or inadequate for the VNF-CPP. More in depth modeling and characterization of the VNF-CPP convex hull is required to obtain near optimal solutions fast (execution times in order of seconds) and to scale for large problem instances (problem sizes in hundreds and thousands of nodes and links). Instead of proposing yet another mathematical model of the VNF-CPP that takes considerable time to reach optimal solutions, we propose coupling linear programming approach

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

97

Fig. 1. VNFs chains placement problem.

with matrices analysis and another approach based on graph theory and show that these new approaches are competitive if not superior to prior art addressing the VNF-CPP. Issues and challenges in applying NFV principles to networks can be found in more general papers such as [15] for example and [16] that addresses application to mobile networks.

P S = (Vs , Es ) where Vs is the set of servers able to host VNFs, and Es is the set of substrate edges. Each edge e ∈ Es has a residual capacity (available bandwidth in our case) to route packets from a source to a destination to meet the required chains’ flow rates.

3.

We discuss the complexity of the VNF-CPP and distinguish a polynomial variant of VNF-CPP leading, under some conditions, to optimal (exact) solutions in linear time. The VNF-CPP has some similarity with Virtual Network Embedding (VNE) [17] that maps virtual graphs on larger physical ones while reducing resources (CPU, RAM, Bandwidth, etc.) consumption. Reference [17] provides a proof of the VNE problem NPHardness that can be summarized as follows:

VNF-CPP optimization models

Fig. 1 depicts a typical (arbitrary and illustrative only) scenario for the VNF-CPP with a request composed of two flows and their corresponding forwarding graphs or chains. One of the chains, requiring a flow of 5 Mbps, should traverse first VNF1 requiring a compute capacity of 8 CPUs towards VNF3 that needs 6CPUs from a host. The second service chain of the VNF-FG should be placed and organized to traverse in sequence VNF1, VNF2 and VNF3 with an input application flow requirement of 7Mbps that is reduced to a 4Mbps output flow rate thanks to VNF2 that compresses the flow to this lower rate. The requested chains need to be placed optimally in the physical infrastructure also shown in Fig. 1 composed of 5 servers with 5 associated switches. Each VNF in the forwarding graph, has a specific processing capacity as shown on each node in Fig. 1 (for example, VNF3 requires a processing capacity of 6 CPUs). The processing power of each server node and the residual bandwidth of each physical link are specified on the figure and they represent the quantity of interest in our case during optimization. We assume that the forwarding capability of the associated switches is sufficient to propagate the flows. Indeed, typical switches can handle bit rates of 100 Mbps or more. The forwarding graphs or service chains, illustrated more clearly in Fig. 1, require respectively a flow management capability of 5 Mbps and 7 Mbps and need to be optimally placed in the infrastructure. The attribute (or legend) appended to each server and each link in Fig. 1 represents the processing capability that the server can handle and the available (remaining)link bandwidth to route application flows, respectively. We note the forwarding graph (see Fig. 1) by F G = (Vv , Ev ), where Vv is the set of VNFs (virtual nodes) linked by arcs (to form a sequence) noted by Ev . The two chains have two different sequences and different flow requirements, to be placed on the available resources of the physical substrate graph noted by

3.1.

VNF-CPP: algorithmic complexity

1. Virtual graphs with no edges: This is equivalent to optimally place nodes with resources constraints on the physical nodes. This is similar to the well known NP-Hard Bin-Packing problem and this means that the more complex VNE problem is also NPHard. 2. Virtual graphs with edges: This is a graph sub-isomorphism where a small virtual graph is mapped in a larger physical graph, also a classical NP-Hard problem. In VNE additional limitations and constraints appear compared with Bin-Packing Resource and this leads to harder problems with more combinatorial solutions to explore. VNE is consequently also NP-Hard. Since an instance of the NP-Hard Virtual Network Embedding problem can be obtained (in polynomial time) when relaxing the VNF sequencing constraints of the VNF-CPP, thus, we deduce that the VNF-CPP is also NP-Hard. We will, nevertheless, identify a variant of the VNF-CPP that can be solved in polynomial time. This is achieved by considering a simplification of the forwarding graph request and the physical substrate data model, and by introducing the following modifications: • The chains of the forwarding graph will be modified to become cycles by adding simply an arc from the last VNF to the first VNF of each chain. • We also assume that each VNF is hosted in one physical server (replication of VNFs is not considered).

98

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

where xe is a binary variable indicating if an edge e is selected in the solution (i.e. xe = 1) or not (i.e. xe = 0). Since we aim at reducing available bandwidth consumption, we use:



1, ∞,

+

1 =

if Ce − Rc > 0; otherwise.

To get a better hold on the Perfect 2-Matching problem convex hull, we use the equality (2) to ensure that all the nodes (physical servers) in the substrate graph will have a degree equal to 2 so they are covered by a cycle.



Fig. 2. VNF chain 2 of Fig. 1 as a cycle of size 3.

xe = 2

(2)

e∈δ ( v )

This transformation will reduce the complexity of the VNF-CPP by investigating polynomial time solutions that consist in finding cycles verifying resource limitations and meeting the requested chains.

3.2. Perfect 2-Matching formulation



Besides proposing efficient methods or heuristics (matrix-based and multi-stage) for the VNF-CPP, and improving scalability compared with the state of the art, it is essential to come up with exact mathematical models to build confidence and trust about their performance and the quality of their solutions. By viewing or representing the service chains in the NFV context (or the VNF-FGs) as cycles, by adding a fictitious arc between the first and the last VNFs in the original chains, we can transform the VNF-CPP as a problem of finding subsets of cycles in the physical graph that can host the VNFs and meet their flow requirements. Fig. 2 depicts the representation of chain 2 of the VNF chains of Fig. 1 as a cycle. Finding such cycles corresponds to the well known Perfect 2-Matching problem that has the advantage of having only polynomial time complexity [18]. In order to guarantee that all the requirements on the VNF chains, the fictitious arc rate requirement must be set to the highest rate on the path chain for which a mapping has to be found. The fictitious arc will not be mapped actually on a physical link since it is only needed to find a solution to the VNF-CPP. The Perfect 2-Matching problem consists in covering all the nodes of the substrate graph so each node has a degree of 2. This is equivalent to finding cycles in the substrate graph with a minimum amount of resources that meet or verify the resource limitations and constraints. Thanks to this observation and transformation, we can use the convex hull (linear programming) of the Perfect 2-Matching polytope to cope with the VNF-CPP for VNF chains of length (number of arcs) not exceeding 2 (see Fig. 2). A VNF chain with length less than 2 has one and only one arc and 2 VNFs interconnected by this unique arc. For VNF chains exceeding 3 VNFs (nodes), we extend the VNF-CPP convex hull by adding new valid inequalities to accelerate convergence towards the optimal solution. For large graphs this method will not scale. However, it will provide optimal solutions for small graphs and can be used to assess the quality of other solutions or heuristic algorithms. Let Ce be the available bandwidth on substrate graph link e (e ∈ Es ), and Rc the required throughput of VNF chain c. Then, finding a solution to the VNF-CPP, consists in finding edges e ∈ Es with sufficient capacity to host the demand and nodes with enough processing capabilities. To speed up convergence, we select only edges capable of hosting the demands or of handling the chain flow. To eliminate all the edges of Es that cannot serve the demand, we propose to minimize the following utility function:

min

 e∈E,e=(i, j )

(Ce − Rc )1+ xe

where δ (v) represents the set of edges that are incident to the node v (v ∈ Vs ). The following family of valid inequalities (noted by Blossom Inequalities- see [18] for more information) reinforces the previous constraints to get integer optimal solutions of the VNF-CPP using continuous variables. They are given by:

(1)



xe + x ( F ) ≤

e∈E (G(A ))

2|A| + |F | 2



(3)

 where A ∈ Vs , and F ⊆ δ (A ), v∈A 2 + |F | is odd. Blossom inequalities are essentially used to solve NP-Hard problems in operations research. For instance, they play a key-role in solving the Traveling Salesman Problem (see [19] and [20] for deep information). Thus, the mathematical model of the VNF-CPP is similar to the linear program of the Perfect 2-Matching problem given as follows:



min Z = S.T . : ⎧

(Ce − Rc )1+ xe

e∈E,e=(i, j )

xe = 2, ⎪ ⎪ ⎪ ⎪ e ∈ δ ( v ) ⎪ ⎪ ⎪ ⎨ 

xe + x ( F ) ≤

∀v ∈ V s ; 

e∈E (G(A )) ⎪  ⎪ ⎪ F ⊆ δ ( A ), 2 + |F | is odd; ⎪ ⎪ ⎪ ⎪ v∈A ⎩ +

xe ∈ R ,



2|A| + |F | , 2

(4)

∀A ∈ V s ;

∀e ∈ Es ;

The mathematical model (4) will polynomially find cycles in the substrate graph, verifying the required flow of each VNF chain c in the forwarding graph. Moreover, this model also minimizes the residual resources by assigning a minimum amount of available resources to meet the VNF chain requests. More details on the Perfect 2-Matching problem and the associated linear programming approach (4) can be found in [19]. To place a VNF chain noted by ”c”, with a length lc (number of arcs of the chain), we should find cycles with a length at least equal to lc (this will enable to host the required VNFs by allocating one VNF to each node in the worst case), and this is not necessarily verified by the model (4). Indeed, we have the following result: Proposition 3.1. The VNF-CPP can be solved in polynomial time for VNF chains c of length (number of arcs) verifying 1 ≤ lc ≤ 2 (i.e. chains with at most 3 VNFs). Proof. 1. VNF chains with 1 node (0 arc) : this case does not correspond to our paper scope, since we consider VNFs chains with at least one arc. However, this case is very similar to the Bin-Packing problem known to be NP-Hard.

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

99

Fig. 3. Condition on fictitious arc for the Perfect 2-Factor.

2. VNF chains with less than 2 arcs: If the length of the VNF chain does not exceed 2 arcs (a chain with 2 or 3 VNFs), then we add a fictitious arc from the last VNF to the first VNF in the forwarding graph as shown in Fig. 2. This fictitious arc is weighted by the maximum amount of the flow crossing the VNF chain (in Fig. 2, this flow is equal to 7Mbps). This transforms the VNF chain to a VNF cycle. To find a solution for the VNF-CPP, we consequently search for cycles (of size 2 or 3) meeting the required flow. In other words, we look for all existing cycles in the substrate graph, with length at least equal to 3. This problem is equivalent to the polynomial Perfect 2Matching problem which will be used to find cycles in linear time even for large problem instances. As the polytope and the convex hull of the Perfect 2-Matching problem is completely described (see (4)) and can be found in [18] and [19], we will use this description to polynomially find all the cycles of the substrate graph, with length at least equal to the size of our VNF chains (i.e. 2 or 3 VNFs). We conclude that optimally placing VNF chains of length lower than 2 arcs, is equivalent to find cycles (without constraints) meeting the required flows in a polynomial time.  We illustrate in Fig. 3 how we achieve this for the VNF chain request of Fig. 1 by setting up the requirement on the fictitious arc to the maximum rate of the path chain of 7 Mbps. This will identify all the feasible cycles (cycles containing arcs with weights at least equal to the maximum flow required in the chain) with 3 nodes on the physical infrastructure. This will guarantee that the found cycles will exceed all the flow requirements on each arc of the chain: arc VNF1 ↔ VNF2 ≥ 7Mbps and arc VNF2 ↔ VNF3 ≥ 7Mbps. Consequently, this will ensure that the 4 Mbps requirements after the transcoder will also be met. Finding physical links of at least 7 Mbps for both arcs will do no harm, since we will use only 4 Mbps out of the physical link on the second arc (the 4Mbps arc after the transcoder). The rest of the resources remains available (unused, not reserved) for future service chain requests.

For VNF chains with length exceeding 3 arcs (lc ≥ 3 or VNF chains with at least 4 VNFs), the VNF-CPP is NP-Hard (see Section 3.1), and we should investigate new valid inequalities to accelerate the time needed to find the optimal/exact solution. 3.2.1. VNF chains subtour inequalities To cope with the NP-Hardeness of the VNF-CPP for VNF chains c with lc ≥ 3, and place these forwarding graphs in acceptable times, we propose new valid inequalities allowing to find cycles with length at least equal to lc . This means that we investigate solutions excluding all the cycles of length lower than lc . To address chains with more VNFs (chains with at least 4 VNFs), we rely on the following proposition that describes a new valid inequality to significantly reduce the time needed to find an optimal solution. The new inequality improves the description of the VNF-CPP convex hull by eliminating all infeasible candidates (those that do not verify the cycle length constraints). Proposition 3.1. For a given VNF chain c, the following inequality is valid for the VNF-CPP:

x(U ) ≤ |U | − 1,

∀ U ⊆ Vs , and 3 ≤ |U | ≤ lc

(5)

Note that x is the {0; 1} incidence vector of the convex hull of the VNF-CPP. Proof. Let U be a subset of vertices in Vs , and suppose that for a given VNF chain noted c, we have 3 ≤ |U| ≤ lc . We define

x(U ) =



x (i j ) ,

i, j∈U

We suppose that we have a VNF chain request c of length lc = 3 (i.e. a chain with 4 VNFs) and a physical substrate of 6 servers (nodes) forming a complete graph (i.e. there is an edge between each couple of nodes). To satisfy the demand, we investigate solutions with cycles of at least 4 nodes to host the VNFs (in the worst case each server hosts one VNF). To solve this variant of the VNF-CPP without considering constraints (5), we can find a solution of two cycles of length 3 (see Fig. 4(a)).

100

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Fig. 4. Subtour inequalities illustration.

It is clear that this solution does not satisfy the chaining of the request, as VNFs will be hosted separately on the two cycles, which violates the requirements. To cope with this problem, we should find cycles of length at least equal to lc + 1. This is equivalent to eliminating cycles with length lower than lc . To do this, we select different subsets of vertices U⊆Vs and verify the two following cases: 1. if x(U ) > |U | − 1: Then constraints (5) are violated. In other words, we obtained cycles with length lower than |U|, and these cycles are forbidden and cannot host all of the VNFs of the chain c. To eliminate a cycle of length KCyc , given by Cyc = {1, 2, . . . , KCyc } such that KCyc > lc , we ensure that:

x12 + x13 + . . . + x1KCyc + x23 + . . . + x2KCyc + . . . + xKCyc−1 KCyc ≤ lc

(6)

This eliminates all the cycles of length lower than lc . To eliminate cycles of length lower than 3 (see Fig. 4(a)), when considering that each node will be covered by a cycle, we use constraints (5) given by:

x12 + x13 + x23 + x45 + x46 + x56 ≤ 3

(7)

The Eq. (7) eliminates cycles of length lower than 3, and the unique solution of the example in Fig. 4 (a), consists in covering all the nodes by one cycle of length 6 (see Fig. 4 (b)), otherwise we obtain disconnected nodes. 2. if x(U ) < |U | − 1: Then constraints (5) are not violated. Thus, the length of the obtained cycle exceeds |U|, and then, they are able to host all the VNFs of the chain c.  Using this new valid inequality (5) which represents a facet of the VNF chains placement problem, one can formulate a new mathematical model verifying all the previously cited requirements and constraints. For each given chain c with a flow requirement Rc , we obtain a new formulation given as follows:

min Z =



e∈δ ( v ) xe = 2 , ⎪ ⎪ 2| A| + | F | ⎪  ⎪ ⎪ , ⎪ 2 ⎨ e∈E (G(A)) xe + x(F ) ≤  F ⊆ δ (A ), v∈A 2 + |F | is odd; ⎪ ⎪ ⎪ ⎪x(U ) ≤ |U | − 1, ∀U ⊆ Vs , 2 ≤ |U | ≤ lc ; ⎪ ⎪ ⎩ xe ∈ {0; 1},

3.2.2. Lower bound constraints For sake of rapid convergence of our mathematical model, and to give guarantees concerning the scalability of the Perfect 2Matching model for large instances of the VNF-CPP, we propose to enhance the convex hull description given by (8), by adding new facets (or valid inequalities or hyperplans) to the VNF-CPP’s polytope to eliminate all the solutions that are not close to the optimum. This allows to reduce the convex hull space and accelerates the execution time. We propose to add a lower bound LB given by the resolution of the relaxation of the Perfect 2-Matching model without cycles length constraints (see (4)). These new constraints are given by (9) and will be added to the model (8).



(Ce − Rc )1+ xe ≥ LB

Finally, the

min Z =

VNF-CPP mathematical model is given by:



(Ce − Rc )1+ xe

e∈E,e=(i, j ) e∈δ ( v ) xe = 2 , ⎪ ⎪ ⎪  ⎪ ⎪ ⎪ e∈E (G(A)) xe + x(F ) ≤ 2|A|2+|F | , ⎪ ⎪ ⎪ ⎨F ⊆ δ (A ),  2 + |F | is odd;

∀v ∈ V s ;

∀v ∈ V s ; ∀A ∈ V s ;

v∈A

∀A ∈ V s ; (8)

∀e ∈ Es ;

(9)

e∈E,e=(i, j )

S.T . : ⎧

(Ce − Rc )1+ xe

e∈E,e=(i, j )

S.T . : ⎧

Inequalities (5) are strongly related to the selection of the set of vertices U in Vs . To add these inequalities to our mathematical model, we should generate subsets of vertices U to be used to verify the violation of inequalities (5). The subset U should be judiciously chosen, but in our case, as we solve problems with instances of practical size, one can enumerate some cases and add them to the linear program. Few generated sets of U can be sufficient to find quickly the optimal solution. To summarize, note that the inequalities (5) are used to identify solutions that are not close enough to optimal (solutions containing cycles with exactly 3 nodes) in order to remove them from the problem’s polytope and thus reduce the convex hull space. The remaining set will evidently be much easier to handle and sort out, from it, the best solutions. In essence the valid inequalities (5) reduce the size of the polytope that contains the optimal solution (the convex hull) and enables us to zoom in onto the best and the optimal solutions. Subsets U that violate inequalities (5) are added iteratively to the mathematical formulation given by (8), and this accelerates in fine the algorithm execution time. The problem of finding optimally all the sets U of nodes that violate inequalities (5) can be an NP-Hard separation problem. This is due to the exponential number of possible subsets U that can be found in Vs . The separation problem is not in the scope of this paper but a simple enumeration is sufficient to generate some subsets violating constraints (5). One can nevertheless find in [20] an algorithm based on network flow techniques to efficiently separate the inequalities of (5).

⎪ x(U ) ≤ |U | − 1, ∀U ⊆ Vs , 2 ≤ |U | ≤ lc ; ; ⎪ ⎪ ⎪  ⎪ ⎪ + ⎪ e∈E,e=(i, j ) (Ce − Rc )1 xe ≥ LB; ⎪ ⎪ ⎩ xe ∈ {0; 1},

(10)

∀e ∈ Es ;

The variables and constants used in the final model are summarized as:

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Variable

Meaning

Vs Es Vv Ev U Ce Rc xe x(U ) = LB

set of physical hosts (servers). set of physical edges. set of VNF nodes in the forwarding graph. set of arcs of the forwarding graph. a subset of physical servers. Maximum available bandwidth in e ∈ Es . Bandwidth requirement of VNF chain c. a binary variable indicating if e is solicited or not.  i, j∈U x (i j ) . a Lower Bound given by (4).

3.3. Matrix-based algorithm for the

exceed its maximum processing capability. This is expressed by the constraint of Eq. (13): C 

M1 =

VNF2 VNF3

chain1

chain2

1 0 2

1 2 3

M2 =

chain2 ... chainC





VNF-CPP

 (11)

⎜ ⎝

s1

s2

...

sN

b11 b21 ... bC1

b12 b22 ... bC2

... ... ... ...

b 1N b 2N ... bCN

⎞ ⎟ ⎠

(13)

where Capaj is the processing capability limit of server j. Each node (or server) j will be assigned flows from the different chains up to its flow processing capability. For the example of Fig. 1, the matrix M2 is given by:

This first matrix representing the composition of the chains in terms of VNF types is combined with a second matrix M2 whose rows correspond to all the involved chains, C, in the forwarding graph requests, and whose columns represent the N physical infrastructure nodes that will host the VNFs according to the placement optimization as described in the sequel. The values of the elements of matrix M2 , namely the (bcj ) (for values of c = 1, . . . , C and j = 1, . . . , N), are the aggregate amount of chain flows assigned to a server j (or to be processed by a server j). For any given server, its assigned aggregate amount of chain flows can not exceed its processing capacity limit when summed across all the C chains. Matrix M2 is expressed as: chain1

bc j ≤ Capa j

c=1

To derive an alternative mathematical model and algorithms that scale and can solve the VNF-CPP rapidly, we need to first describe and characterize the service chain requests and the infrastructure that will host these chains. Since we need to consider different VNFs and chains when searching for an optimal placement in the VNF-CPP, we define two corresponding variables: C and K representing respectively the number of VNF chains in a request and the number of involved VNF types. For the infrastructure, we define N as the number of physical nodes/servers {s1 , s2 , . . . , sN } available for hosting the VNFs. Unless otherwise specified, we assume by default that VNFs from the same chain can be hosted by the same infrastructure nodes. If some VNFs from a given chain have to be separated, the algorithms can be configured to meet this requirement. We use a matrix-based approach to propose a novel algorithm where we introduce a matrix M1 that represents the presence (or absence) and the order of a VNF of a given type in the requested chains. In this matrix M1 = (akc ) for k = 1, . . . , K and c = 1, . . . , C, with akc corresponds to the order of the VNF k in the chain c of the forwarding graph, and akc = 0 if the chain c does not contain services of VNF type k. To clarify the construction of matrix M1 , we use the forwarding graph depicted in Fig. 1. Matrix M1 is obtained as follows: if chain1 requires VNF1, then M1 [VNF1; chain1 ] = a11 , otherwise M1 [VNF1; chain1 ] = 0. The operation continues for all the requested chains by checking the involved VNF types and matching that against a reference of provided VNFs. This leads to matrix M1 for Fig. 1: VNF1

101

(12)

Consequently, for each column j (or server j) in Matrix M2 , the assigned aggregate amount of flows that it must manage shall not

M2 =

chain1 chain2

s1

s2

s3

s4

s5

b11 b21

b12 b22

b13 b23

b14 b24

b15 b25

 (14)

The goal of the optimization is to find the values of the bcj so the VNFs are placed in the most relevant nodes and the forwarding graphs of all the chains passing through the nodes are respected in terms of ingress and egress flows. To achieve this objective, matrices M1 and M2 are filled according to the required forwarding graphs in VNFs’ types and processing flow requirements by going through all nodes available for hosting the VNFs. Each VNF node in the forwarding graph, is processing an aggregate flow representing the sum of forwarding graph flows that would pass through the node if selected for hosting the VNFs composing the requested service chains. In Fig. 1, VNF1 is traversed by a flow of value equal to 12 Mbps. If req(k) is the required processing capability of a VNF type k, a server j will be selected only if its flow processing capability is at least equal to the required processing capability of this VNF. This requirement can be expressed by the constraint, for each VNF of type k and a hosting node or server j, provided in Eq. (15): C 

1kc bc j ≥ req(k )

(15)

c=1



1, if akc > 0; 0, otherwise. To find the near-optimal distribution of the flows reported in M2 , and taking into account constraints (13) and (15), we need to find the optimal (minimal) values of bcj that satisfy them and minimize the physical resource consumption. We propose a straightforward linear program to identify these coefficients. For each server j, and for each VNF type k, we solve the following model: where 1kc =

min Z =

C 

bc j

c=1

S.T . : C  bc j ≤ Capa j c=1 C 

1kc bc j ≥ req(k )

c=1

bc j ∈ R+ , ∀c = 1, . . . , C;

(16)

Using the two previously defined matrices M1 and M2 , we find a mapping solution of the VNF nodes on the physical substrate through a third and new matrix M3 (VNFs; Servers) that obtains this mapping of VNFs on the hosts or servers. This is achieved by Algorithm 1: We illustrate how Algorithm 1 on the example of Fig. 1 determines the reduced matrix M3 (where X means that the model

102

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Algorithm 1 Matrix based algorithm for reference cited in this algorithm is [21].

VNF-CPP: stage 1. The

Input: Matrices M1 and M2 . Output: A mapping of the forwarding graph nodes(VNFs) on the physical substrateThis is summarized formally in the following steps: Step 1: For each physical server j,and for each VNF type k in the forwarding graph: Solve (16); Step 2: If (16) has a solutionthen set M3 (k, j ) = Z. Otherwise set M3 (k, j ) = ∞ (or X) Step 3: Apply the Hungarian method [21] on the reduced matrix M3 .

(16) has no solution):

VNF1

M3 =

VNF2 VNF3

s1

s2

s3

s4

s5

X X X

8 9 6

8 9 6

8 X 6

8 9 6

 (17)

As the compute capacity requirement on VNF1 in the requested service chain is equal to 8CPUs, 9 CPUs for VNF2 and 6CPUs for VNF3, we apply our Algorithm 1 to find the best mapping of the VNFs of the forwarding graph of Fig. 1 by selecting the appropriate matrix element among all identified candidates. The result is given in (18) providing the desired VNFs placement:

VNF1

M3 =



s1

s2

s3

s4

s5

X

8

8

8

8

9

9

X

9

6

6

6

6

VNF2

⎝ X

VNF3

X

⎞ ⎠

(18)

The solution for this example is consequently: • VNF1 is hosted by s2 • VNF2 is hosted by s2 • VNF3 is hosted by s3 Note that Algorithm 1 meets only the available processing capacities on the physical servers and should guarantee the feasibility of the mapping of the chains on the physical links with the placement of the VNFs. Thus, we investigate a second phase of our matrix-based approach to propose a solution leading to efficiently place virtual links (arcs of the forwarding graph) on the physical edges. After this first stage, we obtained the positions of all the requested VNFs. To guarantee the chaining between each couple of VNFs, VNFa (hosted in a server i) and VNFb (hosted in server j), of flow requirement fab , we compute a maximum flow from i to j of a value at least equal to fab . This can lead to split the traffic request to meet the demand. Algorithm 2 summarizes the placement of SFC chains according to the placement of VNFs found by Algorithm 1:

Algorithm 2 Matrix-based algorithm for

VNF-CPP: stage 2.

Input: List of servers hosting VNF nodes. Output: A mapping of the forwarding graph chains onthe physical substrateThis is summarized formally in the following steps, and for eachchain c: Step 1: For each arc (V NFa ; V NFb ) ofc, compute the maximum flow from S(V NFa ) to S(V NFb ) on thephysical graph. The result will constitute the requested chain. Step 2: Update the physical graphresidual resources (residual bandwidth), and go to next chain.

3.4. Multi-stage graph algorithm An alternative approach to the matrix-based solution, that can also lead to efficient solutions, is a multi-stage approach from graph theory. The idea is to construct a new extended graph by focusing on the number of available servers and VNF types. This extended graph is a directed graph with K levels corresponding exactly to the number of VNF types involved in the VNF-CPP. 3.4.1. Multi-stage graph construction and marking process description The multi-stage graph MG = (V, A, K ) is constructed from the set V of all available hosting nodes (servers), the set A of arcs as defined below, and the number of levels K which is equal to the total number of VNF types. Thus, the levels of the graph MG are described by the VNF types k, with k = 1, . . . , K. Fig. 5 shows that the placement of the VNFs also meets the flow processing requirements using Algorithms 1 and 2. To populate the graph MG, we assume that each physical node (server) is capable of hosting a number of VNFs of different types and their combination results in an amount of required resources available on the physical node or server. From the multi-stage graph construction standpoint this means that if a given node, say s2 (see Fig. 1), can host both VNF2 and VNF3, then this s2 will appear at the VNF2 and VNF3 levels of the multi-stage graph. A node (host) can appear in as many levels as VNF types it can handle. The set of arcs in the multi-stage graph follows a rule that ensures that VNFs from the same service chain are assigned to hosting nodes without exceeding available resources in the selected nodes: • We use the fact that there exists an arc (ik ; jk+1 ) between each couple of nodes i and j at levels k and k + 1 to construct a multi-stage graph. This multi-stage construction rule ensures that VNFs of the same service chain can share the same server according to the available server capacity. In addition, the arc (ik ; jk+1 ) has a weight given by the maximum flow (splittable flow) that can be routed from the server ik to the server jk+1 in the physical substrate. Fig. 6 represents the extended multi-stage graph, constructed for the example given in Fig. 1. The multi-stage graph involves an infrastructure of 5 servers and chains comprised of 3 VNF types. To find the optimal locations of the VNFs in the order expressed in the chain request, we use a flow marking process starting from fictitious node T to the fictitious sink S as depicted in Fig. 6. The marking process operates as described below until node S is reached, with details on the procedure provided in Algorithm 3. Note that Fig. 6 illustrates the remaining number of CPUs on the hosting nodes after allocation of CPUs (barred values) are removed from the available compute resources to indicate a transition from the current state to a new state (server s4 transition from 8 CPUs down to only 2 available CPUs since VNF3 consumes 6 CPUs in the requested VNF-FG). • Starting from T (already marked), select the node (at level K) with minimum/maximum processing capability;

Algorithm 3 Multi-stage graph algorithm for

VNF-CPP.

Input: Substrate graph, forwarding graph. Output: A mapping of the forwarding graph on the physicalsubstrateThis is summarized formally in steps: Step 1: Create the multi-stage graphMG according to the description given above; Step 2: For each chain c of theforwarding graph, apply a flow marking process from T to S; Step 3: If node S is marked, then asolution has been found. Otherwise, the request is rejected.

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

103

Fig. 5. VNFs chains placement: the matrix-based solution.

Fig. 6. Multi-stage graph construction.

• Suppose that a node jK is selected and marked. Update server’s j capability at each level h (1 ≤ h < K) in which j appears. Explore all the predecessors iK−1 of jK , and mark one of the predecessors (or the predecessor) representing an extremity of an arc with minimum available bandwidth. If we have more than one with the same capacity, than choose one which has an extremity node with a minimum (or maximum) processing capability depending on the adopted criterion. The minimum criterion favors consolidation while the maximum criterion ensures load balancing. • Repeat this process until the node S is reached and marked. Fig. 7 depicts the VNF-FG for the multi-stage placement method result for the request of Fig. 1. The solution for this example is: • VNF1 is hosted by s2 • VNF2 is hosted by s3 • VNF3 is hosted by s4

dom number of VNFs, involved traffic flows (or forwarding paths) and also a random physical graph topology in size and connectivity. The performance of our algorithms are compared with another state of the art algorithm. While we put a tight requirement on the forwarding graphs (or service chains) in terms of coupling and dependence of VNFs, paths and hosting nodes, the other paper allows the replication of VNFs and the decomposition of the requested chains to find more easily solutions to the requested chains. The results will show that we outperform these algorithms despite the tight requirements set on our algorithms. This evaluation confirms the expected efficiency of our algorithms in physical resource consumption, convergence time (speed of convergence) and provides insight on the complexity, scalability and characteristics of these algorithms in solving the VNF-CPP. To better assess performance and make a comparison with the state of the art in [22] and [23], we use a random physical infrastructure (or graph) with a number of nodes varying in [10, 150] interval, and we propose two main simulation scenarios:

4. Numerical results The performance of the proposed algorithms is assessed using a dynamic simulation considering forwarding graphs with a ran-

1. Scenario 1 - High load: VNF-FG requests arrive following a Poisson process with an average arrival rate λ of 1 arrival per

104

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Fig. 7. Multi-stage graph optimization: VNF chains placement.

25 time units and have an exponential service rate μ of 1 departure every 10 0 0 time units. 2. Scenario 2 - medium load: in which VNF-FG requests arrive following a Poisson process with an average arrival rate λ of 1 arrival per 150 time units and have an exponential service rate μ of 1 departure every 400 time units. Each chain of the VNF-FG comprises a random number of VNFs in the [2, 10] interval. The physical hosts have random computing power or number of available CPUs drawn from [100CPUs, 150CPUs] range, while each VNF in the VNF-FG has a required processing capability in the [1, 20] CPU range. The workloads for the VNFs requested in the VNF-FGs (or service chains) are drawn randomly in the [1Mbps, 20Mbps] range. The simulation duration is 20 0 0 0 time units for each run. Note that our simulation generates completely random requests in graph structure and in type of VNFs (to be optimally placed and chained) in comparison to the sate of the art that specializes typically the chains and the VNFs [23]. Our algorithms has been coded in C++ and evaluated using an Intel Core CPU at 2.40 GHz with 2 GB RAM. In our more comprehensive study, we solve all the given mathematical models using CPLEX [24]. Each simulation scenario is executed 30 times. 4.1. Performance metrics and analysis The algorithm performance assessment is based on the following typical metrics : 1. Convergence time: is the time needed by the algorithms to find an optimal (or sub-optimal) solution. 2. Acceptance ratio: is the average number of VNF-FG requests accepted for hosting in the physical infrastructure. 3. Average cost: is the sum of reserved resources in the infrastructure. In our paper, the considered resources are the processing capabilities of the servers and the available bandwidths on the links. 4. Average cost/revenue ratio: is the ratio between average cost and the average revenue which is defined as the sum of resources of all accepted VNF-FG requests (servers processing capabilities and link bandwidths). To assess performance of the proposed solutions of the

VNF-CPP using the described metrics, we considered two real traces and random instances described as follows:

1. Real traces: • We used real traces from Internet Topology Zoo [25]: two topologies are available: BtEurope topology (a network with 24 nodes and 37 edges) and Interoute topology (a network with 110 nodes and 148 edges). These instances are also used in [22], and will serve as benchmarks for our algorithms. 2. Random instances: • Random networks of 100 servers (nodes) are considered for simulations • Random networks for VNF-FG with 3 VNFs to assess performance of the matrix-based algorithm and the multi-stage algorithm and to compare to the Perfect-2 Factor used as benchmark. Note that for the evaluation using real traces, the processing capabilities and link bandwidths are generated as described previously. Results are reported with a 95% confidence interval. Our performance evaluation starts by assessing the execution time needed by the algorithms to find a solution to the VNF-CPP. The ability to scale with problem size is also analyzed. This is done for scenarios involving physical networks in the [10, 150] nodes range interval and VNF-FG requests as described in Scenario 2. Note that in order to draw any useful conclusion on the algorithms overall efficiency, all performance results and metrics need to be analyzed jointly. We will nevertheless look at each performance metric first and summarize only in a second phase the overall outcome of the evaluation. Since the statistics and the characteristics of the chain requests also matter, we will take into account the behavior of the algorithms for the two Internet traces and the random inputs. Fig. 8 depicts the execution time of the multi-stage (Min and Max approaches have the same execution time), the matrix-based and Perfect 2-Matching algorithms. This execution time remains below 1.2sec and 0.42sec in the worst case for this scenario for the matrix-based method and Perfect 2-Matching algorithms, respectively. The multi-stage execution time is negligible (< 0.1 sec), as this scenario corresponds to a sparse multi-stage graph with reduced number of solutions to be investigated. The algorithms scale reasonably well with problem size (number of servers in the physical substrate). The multi-stage approach and the Perfect 2-Matching algorithms scale significantly better than the matrixbased approach (whose complexity is in O(n3 ), with n representing the number of servers).

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Fig. 8. Convergence time of the multi-stage and matrix-based algorithms.

105

Fig. 11. Average cost of serving requests over time: case of ”BtEurope Network” trace.

Fig. 12. Average cost of serving requests over time: case of ”Interoute Network” trace. Fig. 9. Service request acceptance ratio over time: case of ”BtEurope Network” trace.

Fig. 10. Service request acceptance ratio over time: case of ”Interoute Network” trace.

We also assess the algorithms’ performance using real data or traces (described earlier) for small and large networks. Three performance metrics are used to compare the algorithms: acceptance ratio, average cost and the cost/renevue ratio. 4.2. Algorithms performance evaluation for real traces Figs. 9 and 10 depict the acceptance ratio of the matrix-based algorithm, the multi-stage-min (with minimum processing capability) and the multi-stage-max (with maximum processing capability) approaches for the two real traces and topologies ”BtEurope” (small network) and ”Interoute” (large network). For small graphs, the matrix-based algorithm has an acceptance ratio of 99% from the beginning of the simulation to the 10 0 0 0 time units instant, at which the system is saturated, and departures occur from time to time as described in the simulation parameters, leading to decrease the acceptance ratio to 97%. This behavior indicated the robustness of the matrix-based algorithms to increasing load. The multi-stage-Min and Max algorithms’ acceptance ratio decreases to 75% and 47% respectively at the end of simulation time. The matrix-based method is more efficient in terms of acceptance ra-

tio compared to the multi-stage algorithms. For larger instances (see Fig. 10), the matrix-based method has an acceptance ratio of 99% throughout the evaluation interval. On the contrary, the multistage method (for both Max and Min approaches) acceptance ratio decreases, because it explores the available space of solutions differently (using flow techniques), to 90% and 70% at the end of the simulation. The acceptance ratio is higher for large problem instances (such as Interoute-Network) since the algorithms have more available resources to choose from. In the following, we assess the average cost of the multi-stageMax, multi-stage-Min and matrix-based approaches for the two defined network topologies. The results are shown in Fig. 11 and Fig. 12. We observe a significant difference between the three methods in average cost. For small network topologies, the multistage-Max algorithm uses more resources at the beginning of the simulation before its cost starts decreasing since it actually accepts less requests (as shown in Fig. 9) at the end of the simulation. The results indicate that the matrix-based algorithm has a rather constant average cost because its acceptance rate is fairly constant. For larger network topologies, we observe a considerable gap between the methods with a clear advantage for the matrix-based approach that first optimally places nodes and then finds optimal flows for the requested chains. The multi-stage graph when placing the chains happens to reserve larger nodes and links in some cases and causes a waste of resources that induces more rejection of future requests. The Cost/Revenue ratio or metric, that reflects a bit better the combined or joint performance, is evaluated for the two traces and the results are reported in Figs. 13 and 14. The smaller the “cost to revenue ratio”, the more efficient the method is. For the graphs/networks topologies of these two traces, the cost to revenue ratio of the multi-stage (Min and Max approaches) method decreases with time. There is a negligible gap between the two ratios for both small and large problem instances. Note that for large problem instances, and at the beginning of the simulation, the matrix-based approach performs better than the multi-stage approaches (Min and Max), especially for the multi-stage-Max when

106

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

Fig. 16. Average cost of serving requests over time: case of “Random” graphs. Fig. 13. The ratio between average cost and average revenue over time: case of “BtEurope Network” trace.

Fig. 17. The ratio between average cost and average revenue over time: case of “Random graphs”.

Fig. 14. The ratio between average cost and average revenue over time: case of “Interoute Network” trace.

Fig. 18. Service request acceptance ratio over simulation time: case of random graphs and service chains of 3 VNFs.

Fig. 15. Service request acceptance ratio over time: case of “Random” graphs.

the ratio is higher than 1 which is an indication of poor performance in acceptance ratio. 4.3. Algorithms performance evaluation for random instances We simulate random network topologies of 100 nodes, and assess the performance of our algorithms with the previously used metrics. Figs. 15–17 report respectively the result of acceptance ratio, the average costs of allocating resources and the ratio between the average cost and average revenue when accepting VNF-FG requests. These simulations on random graphs are made to confirm the trend of our approaches compared to the previous simulations on real data or traces. Fig. 15 depicts the acceptance ratio of the two approaches and confirm the efficiency of the matrix-based method when placing and deploying VNF-FG requests. The multistage-Min and Max approaches acceptance ratios decrease with

time down to 90%and 85%. Fig. 16 confirms the trend of the two approaches concerning the average cost when reserving resources on the physical substrate. Indeed, the matrix-based approach resource consumption is lower than the consumed resources by the multi-stage approaches. This is essentially due to the choice of the physical nodes selected to host VNFs, as the matrix-based approach is selecting the best nodes while guaranteeing flows for the chains. The last metric is reported in Fig. 17 which confirms that the matrix-based approach performs better than the multi-stage-Max and multi-stage-Min approaches even for large graphs. In addition, and considering the required execution time to find good quality solutions, the matrix-based approach can be used online by providers offering service chains as a service. The next simulations consider random graphs of size of 100 nodes, and VNF-FG with exactly 3 VNFs to compare the algorithms with the Perfect 2-Matching approach using the three metrics cited above (acceptance ratio, cost, ReCost venue ). Fig. 18 shows the acceptance ratio of the three methods. We observe an acceptance ratio of 99.9% for the Perfect 2-Matching ap-

S. Khebbache et al. / Computer Networks 114 (2017) 95–110

107

Table 2 Comparison using Interoute-Network.

Acceptance Ratio (%) Cost Average ReCost venue

Mstage-Min

Mstage-Max

Matrix

[22]

90 180 0.88

52 210 0.90

99.9 180 0.90

93 180 0.93

Fig. 19. Average cost of serving requests over time: case of random graphs and service chains of 3 VNFs.

λ. Fig. 21. Acceptance ratio behaviour for values of ρ = μ

Fig. 20. The ratio between average cost and average revenue over time: case of random graphs and service chains of 3 VNFs. Table 1 Comparison using Bt-Network.

Acceptance Ratio (%) Cost Average ReCost venue

Mstage-Min

Mstage-Max

Matrix

[22]

75 180 0.9

48 180 0.8

99 180 0.85

50 130 0.9

proach and the matrix-based approach. A degradation in accepting requests can be observed concerning the multi-stage approaches, as it was noted previously. Fig. 19 depicts the average cost when reserving physical resources. The Perfect 2-Matching approach has the lowest average cost compared to the two other methods. The mathematical model of the Perfect 2-Matching (see (4)) can reach optimal solutions for large graphs in few seconds when the forwarding graphs contain only 3 VNFs. Our enhanced definition of the VNF-CPP convex hull enables reaching optimal solutions using the linear programming approach solved by [24]. An efficient method consists in having a high acceptance ratio and a low cost/revenue ratio, and this is confirmed by Fig. 20, in which we observe that the Perfect 2-Matching method has the lowest value of the cost/revenue ratio. As indicated in Fig. 18, the Perfect 2-Matching approach has also the highest acceptance ratio. This indicates that the more efficient method is clearly the Perfect 2-Matching for cases of VNF-FG with exactly 3 VNFs. 4.4. Comparison with the state of the art The performance assessment would not be complete without a comparison with the state of the art using the same metrics (acceptance ratio, cost, ReCost venue ). Tables 1 and 2 summarize this comparison using the real traces of Bt-Network and InterouteNetwork respectively. Tables 1 and 2 report the embedding cost of our proposed algorithms and the state of the art cost of [22] at the end of the

simulation. Looking at the three metrics jointly reveals clearly that the state of the art algorithm of [22] achieves the lowest cost because it has a important rejection rate (50% acceptance or rejection rate) of VNF chains placement requests. This state of the art algorithm is outperformed by our “matrix-based ” and the “Multistage-Min ” solutions. The matrix-based method actually has the best acceptance ratio, 99%, while the multi-stage min accepts only 75%. The “Multi-stage-Max ” approach is not efficient with respect to all three metrics but is not that far from the state of the art performance of [22]. The cost to revenue ratio metric is a little bit tricky to use and interpret, since it is a ratio it should be analyzed jointly with the acceptance rates to draw any useful conclusion. When all three metrics are taken into account in the assessment, the matrix-based approach appears as the most balanced method with respect to the three methods. This approach has the advantage of exploring the entire infrastructure space at once during optimal placement. The multi-stage min performance is the next best in terms of acceptance, cost and revenue. The multistage min favors consolidation by selecting candidate nodes with the minimum amount of left over resources for hosting the VNFs and has in consequence the best cost to revenue ratio but this is achieved at the expense of acceptance rate (75% versus 99% for the matrix-based method). The next simulation compares our four proposed solutions in ar r ivals rate terms of acceptance ratio for various values of ρ = departures rate representing system load (traffic load). As expected, the Multistage-Max method has the lowest acceptance ratio compared to the three other methods. This is essentially due to the placement policy used by the Multi-stage-Max that selects in priority the servers with maximum available processing capabilities and thus will use and will saturate all the nodes before all the other methods and will consequently reject more requests. The acceptance ratio of the Multi-stage-Min and Max is 100% only for loads with ρ lower that 0.5. The Perfect 2-Matching and the matrix-based methods maintain high acceptance ratios in stable states when there are as many arrivals as departures in the system (around 97% for ρ equal to 1) (Fig. 21). To discuss the scalability analysis of our approaches, Table 3 compares execution time with the proposed solution in [23]. We consider two cases: one with physical substrates of 50 servers (nodes) and represents infrastructure sizes that most algorithms

108

S. Khebbache et al. / Computer Networks 114 (2017) 95–110 Table 3 Comparison with state of the art of [23]. Average Time (s)

Multi-stage

Matrix

2-Matching

[23]

50 nodes 200 nodes

0.005s 0.05s

0.43s 1.35s

0.13s 0.50s

60 10 0 0

Matching method can be used as a starting point of the VNF chain placement optimization to enhance resolution time and guarantee scalability. Acknowledgment This research work has been carried out in the framework of the SystemX Technological Research Institute funded by the French Program “Investissements d’Avenir”.

Table 4 Algorithms performance comparison. Ranking in

Matrix

Multi-stage

Perfect 2-Factor

Execution time Acceptance ratio Induced costs Achieved revenue Quality of solution Complexity

− + + + close to optimal O(n3 ) or O(KxCxN)

++ − + − sub-optimal O(C x K)

+ ++ ++ ++ optimal Polynomial

can reasonably handle; and one that increases the number of nodes or servers to 200 to check how the algorithms scale with infrastructure size. There is a significant gap between the execution times of our algorithms and that of [23]. This gap is more important for case 2 with 200 nodes. There is in general a ratio of 100 (for 50 nodes) to 10 0 0 (for 20 0 nodes) in favor of our methods compared with the state of the art. Our algorithms require fractions to the order of seconds to find placement solutions for the VNF-CPP while the algorithm in [23] will require of the order of minutes to tens of minutes to find a solution (60 seconds or 1 minute to 10 0 0 seconds or 16.7 minutes). As an overall summary of the performance assessments and comparisons, Table 4 synthesizes the outcomes of all the evaluations via a qualitative representation highlighting the characteristics of the proposed algorithms. The Perfect-2 factor, an exact method, stand outs as the best solution to solve the VNF-CPP for chains with at most 3 VNFs. The matrix-based method appears as a good, robust and viable solution for problems of larger sizes even if its complexity is O(n3 ) with n the number of nodes in the physical infrastructure. The Perfect 2-Matching method for chains with more than 3 VNFs is also a very promising approach that deserves additional improvements. 5. Conclusion and future work This paper proposed a matrix-based method and a multi-stage algorithm with improved scalability for the placement of service chains compared with the state of the art that is also outperformed in execution time, acceptance rate, cost and achievable revenue. For VNF forwarding graphs (service graphs in the NFV context) with 3 VNFs, an exact formulation given by the Perfect 2-Matching, a linear programming approach, finds optimal chain placement solutions irrespective of infrastructure size. This solution extends to service chains placement with more than 3 VNFs. The performance evaluation is conducted using real traces and random network topologies to confront the algorithms to different service chains and infrastructures. The results of these evaluations reveal the efficiency of the matrix-based method in terms of acceptance ratio, cost and cost/revenue ratio and has reasonable complexity. The matrix-based approach performs consistently well across all evaluations and metrics. The multi-stage approach is very powerful in terms of the cost metric and would be favored if the cost criterion is central. In the future, we will consider optimization methods based on polyhedra aspects. These approaches are exact and can describe the VNF-CPP convex hull for any forwarding graphs. This can be achieved by introducing new inequalities to accelerate even further convergence time and thus improve scalability. The Perfect 2-

References [1] P. Quinn, T. Nadeau, Problem statement for service function chaining, 2015, doi:10.17487/RFC7498. URL: [2] ETSI, Network functions virtualization (nfv); architectural framework, 2013. URL: http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.0160/ gsnfv002v010101p.pdf. [3] Z. Abbasi, M. Xia, M. Shirazipour, A. Takács, An optimization case in support of next generation NFV deployment, 7th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud ’15, Santa Clara, CA, USA, July 6–7, 2015., 2015. URL https://www.usenix.org/conference/hotcloud15/workshop-program/ presentation/abbasi. [4] J. Ferrer Riera, X. Hesselbach, M. Zotkiewicz, M. Szostak, J.-F. Botero, Modelling the nfv forwarding graph for an optimal network service deployment, in: Transparent Optical Networks (ICTON), 2015 17th International Conference on, 2015, pp. 1–4, doi:10.1109/ICTON.2015.7193483. [5] R. Mijumbi, J. Serrat, J. Gorricho, N. Bouten, F.D. Turck, S. Davy, Design and evaluation of algorithms for mapping and scheduling of virtual network functions, in: Proceedings of the 1st IEEE Conference on Network Softwarization, NetSoft 2015, London, United Kingdom, April 13–17, 2015, 2015, pp. 1–9, doi:10.1109/NETSOFT.2015.7116120. [6] A. Gember, A. Krishnamurthy, S.S. John, R. Grandl, X. Gao, A. Anand, T. Benson, A. Akella, V. Sekar, Stratos: a network-aware orchestration layer for middleboxes in the cloud, CoRR abs/1305.0209 (2013). URL: http://dblp.uni-trier.de/ db/journals/corr/corr1305.html#abs-1305-0209. [7] S. Mehraghdam, M. Keller, H. Karl, Specifying and placing chains of virtual network functions, in: 3rd IEEE International Conference on Cloud Networking, CloudNet 2014, Luxembourg, Luxembourg, October 8–10, 2014, 2014, pp. 7–13, doi:10.1109/CloudNet.2014.6968961. [8] H. Moens, F. De Turck, Vnf-p: a model for efficient placement of virtualized network functions, in: Network and Service Management (CNSM), 2014 10th International Conference on, 2014, pp. 418–423, doi:10.1109/CNSM.2014. 7014205. [9] B. Addis, D. Belabed, M. Bouet, S. Secci, Virtual network functions placement and routing optimization, in: IEEE Int. Conference on Cloud Networking, Canada, 2015. http://www.ieee- cloudnet.org/, https://hal.inria.fr/hal- 01170042. [10] R. Riggio, T. Rasheed, R. Narayanan, Virtual network functions orchestration in enterprise wlans, in: Integrated Network Management (IM), 2015 IFIP/IEEE International Symposium on, 2015, pp. 1220–1225, doi:10.1109/INM. 2015.7140470. [11] S. Clayman, E. Maini, A. Galis, A. Manzalini, N. Mazzocca, The dynamic placement of virtual network functions, in: Network Operations and Management Symposium (NOMS), 2014 IEEE, 2014, pp. 1–9, doi:10.1109/NOMS.2014. 6838412. [12] R. Cohen, L. Lewin-Eytan, J. Naor, D. Raz, Near optimal placement of virtual network functions, in: Computer Communications (INFOCOM), 2015 IEEE Conference on, 2015, pp. 1346–1354, doi:10.1109/INFOCOM.2015.7218511. [13] M.F. Bari, S.R. Chowdhury, R. Ahmed, R. Boutaba, On orchestrating virtual network functions in NFV, CoRR abs/1503.06377 (2015). URL: http://arxiv.org/abs/ 1503.06377. [14] A. Mohammadkhan, S. Ghapani, G. Liu, W. Zhang, K. Ramakrishnan, T. Wood, Virtual function placement and traffic steering in flexible and dynamic software defined networks, in: Local and Metropolitan Area Networks (LANMAN), 2015 IEEE International Workshop on, 2015, pp. 1–6, doi:10.1109/LANMAN. 2015.7114738. [15] B. Han, V. Gopalakrishnan, L. Ji, S. Lee, Network function virtualization: challenges and opportunities for innovations, Commun. Mag. IEEE 53 (2) (2015) 90–97, doi:10.1109/MCOM.2015.7045396. [16] H. Hawilo, A. Shami, M. Mirahmadi, R. Asal, NFV: state of the art, challenges, and implementation in next generation mobile networks (vepc), IEEE Netw. 28 (6) (2014) 18–26, doi:10.1109/MNET.2014.6963800. [17] A. Fischer, J. Botero, M. Till Beck, H. de Meer, X. Hesselbach, Virtual network embedding: a survey, Commun. Surv. Tutorials, IEEE 15 (4) (2013) 1888–1906, doi:10.1109/SURV.2013.013013.00155. [18] B. Korte, J. Vygen, Combinatorial Optimization: Theory and Algorithms, 4th, Springer Publishing Company, Incorporated, 2007. [19] L. LováSz, Review of the book by alexander schrijver: combinatorial optimization: polyhedra and efficiency, Oper. Res. Lett. 33 (4) (2005) 437–440, doi:10.1016/j.orl.2004.10.003. [20] D.B. Shmoys, A.H.G. Rinnooy Kan, J.K. Lenstra, E.L. Lawler, The Traveling Salesman Problem : A Guided Tour of Combinatorial Optimization, Wiley interscience series in discrete mathematics and optimization, J. Wiley and sons, Chichester, New York, Brisbane, 1987. La 1e ed. est de 1985. Une reimpr. avec corr. a ete realisee en 1986, URL http://opac.inria.fr/record=b1117783.

S. Khebbache et al. / Computer Networks 114 (2017) 95–110 [21] H.J. Schmid, A geometrical interpretation of the Hungarian method, Discrete Math. 21 (3) (1978) 297–308, doi:10.1016/0012-365x(78)90161-9. [22] S. Sahhaf, W. Tavernier, M. Rost, S. Schmid, D. Colle, M. Pickavet, P. Demeester, Network service chaining with optimized network function embedding supporting service decompositions, Comput. Netw. 93, Part 3 (2015) 492–505, doi:10.1016/j.comnet.2015.09.035. Cloud Networking and Communications {II}.

109

[23] M. Luizelli, L. Bays, L. Buriol, M. Barcellos, L. Gaspary, Piecing together the nfv provisioning puzzle: efficient placement and chaining of virtual network functions, in: Integrated Network Management (IM), 2015 IFIP/IEEE International Symposium on, 2015, pp. 98–106, doi:10.1109/INM.2015.7140281. [24] www-01.ibm.com/software/integration/optimization/cplexoptimizer (2016). [25] Internet2, Research Network Topology and Traffic Matrix, 2015. URL: http:// www.cs.utexas.edu/∼yzhang/research/AbileneTM.

110

S. Khebbache et al. / Computer Networks 114 (2017) 95–110 Selma Khebbache received the M.S. degree in applied mathemmatics and computer engineering from the Paris Sorbone University, in 2005, and the Ph.D. degree in operations research and computer science from technological university of Troyes, France, in 2009. She worked as a research fellowship at Paris 8 university, before joining Telecom SudParis Institute as a research engineer. His main research interests include Network Optimization and Virtualization.

Makhlouf Hadji received the M.S. degree in operations research and computer engineering from the Paris Dauphine University, France, in 2005, and the Ph.D. degree in operations research and computer science from Telecom SudParis Institute, France, in 2009. He worked as a research fellowship at Telecom SudParis for 3 years. Currently, he is a senior scientist at the Technological Research Institute SystemX, Saclay, France. His main research interests include Cloud Computing, Network Virtualization, Network Optimization and Game Theory. He is involved in several national and European projects including Odisea, Easi-Clouds, XLCloud and SAIL.

Djamal Zeghlache Professor graduated from SMU in Dallas, Texas in 1987 with a Ph.D. in Electrical Engineering and joined the same year Cleveland State University as an Assistant Professor. In 1992 he joined the Networks and Services Department at Telecom SudParis of Institut Mines-Télécom where he currently acts as Professor and Head of the Wireless Networks and Multimedia Services Department. He co-authored around two hundred publications in ranked international conferences and journals and was an editor for IEEE Transactions on Wireless. He is regularly involved in European and national funded projects: ITEA 2 project Easi-clouds, FP7 project SAIL on Cloud Networking, and a national project on cloud brokers and federations CompatibleOne aiming at producing an open source cloudware. His current research focus is on network architectures, protocols and interfaces to ensure smooth evolution towards loosely coupled future Internet, cloud networking and cloud architectures.

Suggest Documents