1. Introduction
Network function virtualization (NFV) is currently very important. It allows organizations to reduce costs and optimize service deployment. With virtualization, network functions that were previously executed on specialized hardware are replaced with software called virtual network functions (VNFs), which can be run on standard hardware. This allows network functions (such as load balancers, firewalls, gateways, and routers) to be applied to data flows passing through network nodes hosting virtual network functions. These network nodes are called VNF nodes. To fully realize the benefits of network function virtualization, each flow must be fully processed on these VNF nodes [
1,
2].
Network function virtualization is also effective in providing flexible management in cloud computing environments while reducing costs, as proprietary hardware middleboxes (MBs) can now be exposed as virtual network functions (VNFs) and run as lightweight containers on commodity hardware. To ensure the performance and security of user applications, cloud operators create service function chains (SFCs) (or data center policies). In this case, virtual machine (VM) application traffic must flow through a sequence of VNFs [
3,
4].
Typically, due to budget constraints, only a limited number of nodes can be selected to host VNFs. Furthermore, each node normally has limited capacity, which must be used to handle the multiple flows passing through it. Given these constraints, it is necessary to select a subset of nodes to host VNFs and determine a capacity allocation that maximizes the volume of traffic passing through them.
In this paper, we consider the VNF node placement and capacity assignment (VPCA) problem proposed by Sallam and Ji [
5], i.e., selecting the best subset of VNF nodes and optimally allocating their capacity to maximize the total volume of fully processed traffic flows. Unlike [
5] that used algorithmic graph optimization techniques, we propose a simpler algorithm for solving this problem, representing it as an integer linear programming problem with two integer variables—VNF node placement and flow selection. We also prove that the approximation ratio of this algorithm is
, and its time complexity is
where
L is the number of bits of input data. The major contribution of this paper is the new algorithmic solution that beats the previous algorithm in [
5] for the cases when
. This situation happens, for example, in CDN deployments that often involve a large number of edge caches (nodes) but only a few high-level streams (flows) that connect to central content sources for popular media, resulting in fewer active-flow, high-traffic streams than physical edge devices.
This paper is structured as follows. In
Section 2, we briefly review the related previous work. In
Section 3, we describe the model and definition of the VPCA-ILP problem, and in
Section 4, we propose an algorithm for solving it. Next, in
Section 5 and
Section 6, we present a theoretical analysis of this algorithm, evaluating its accuracy and complexity. Simulation results and discussion are demonstrated in
Section 7. Finally, we conclude the paper.
2. Related Work
Much work has been carried out to study the NFV placement problem. This is typically considered in terms of VNF instances, i.e., where and how many instances of each network function should be placed and distributed [
3,
6,
7,
8]. Nevertheless, these studies pursue different goals. The problem of satisfying the demand of all flows with minimal cost (e.g., in terms of the number of instances) is considered in ref. [
9]. The authors of ref. [
10] assume that each flow should transmit a chain of network functions, rather than a single function along a given route. The same problem, but for online networks (flows come and go online), is considered in ref. [
11]. In ref. [
12], the joint problem of localizing and routing a VNF service chain is considered with the goal of minimizing the total cost of communication and computing resources. In ref. [
13], a dynamic version of this problem is considered (the goal is to ensure network stability with minimal resource expenditure). See some related results in Zhao et al. [
14] and Coromberque [
15].
Unlike most previous works, which ignore either budget or capacity constraints, the authors of ref. [
5] consider both constraints and formulate a joint VNF node and resource allocation problem (VPCA problem). The authors of ref. [
5] formulated the VPCA problem with budget and capacity constraints and showed that the capacity allocation and capacity allocation subproblems were NP-hard. They developed two algorithms for solving the problem with approximation ratios of
and
and time complexity of
and
, respectively.
3. Model and Formulation of the Problem
In the paper by Sallam and Ji [
5], the authors consider the problem of traffic flow optimization in a network graph. They propose a joint VNF node placement and flow capacity allocation problem (VPCA) in the network graph, the goal of which is to select the best subset of VNF nodes and optimally allocate their capacities to maximize the total volume of fully processed traffic for the flow.
For this purpose, the network is represented as a network graph , where V is the set of nodes and E is the set of edges connecting nodes in G. A node is a VNF node if it can support a VNF. Since the budget for deploying VNFs in networks is typically limited, it is possible to select only a subset of nodes to be VNF nodes.
There is a set of flows F in the network. The flow traffic rate for , denoted by , can be partitioned and processed across multiple VNF nodes. The portion of flow f allocated to a particular node v is denoted by . The problem statement stipulates that the traffic of flow f will be sent along a predetermined path, and the set of nodes on this path is denoted by , while is used to denote the set of all flows that have at least one (or more) VNF nodes (nodes of set U) on their path, i.e., . For convenience, the set of VNF nodes of a flow f is denoted by , that is, . The set of all flows passing through node v is denoted by ().
A flow is considered processed if the VNF nodes through which it passes have sufficient capacity to handle its entire rate, that is, The problem also assumes that the highest traffic rate of any flow does not exceed the lowest capacity of any node. Furthermore, each VNF node v has a limited capacity, denoted , and its own cost for converting node v into a VNF node, denoted . The total cost of the VNF nodes must not exceed the total budget B: .
Example 1. In Figure 1, given graph with set of flows , where : Separate flows are given by where the set of nodes in separate flow is .
Traffic rates are given as The set of VNF nodes is given by . The set of all flows whose path has one or more nodes in is .
Flows are considered to be processed if
Total processed traffic is
The limited capacity of every VNF-node
v is
. This means that
and for every
and for every
, the following equality holds:
. After that, consider budget constraint
and costs of making nodes to be VNF as
,
,
,
,
,
,
,
,
,
. The following budget constraints should be satisfied:
.
Given the above constraints of the VPCA problem, we formulate it as integer linear programming problem VPCA-ILP as follows.
Let us introduce integer binary variables. Let be the flow processing variable, where for each flow if flow f is fully processed (all its traffic is processed on VNF nodes), and , otherwise; is the node placement variable, where for each node if node v is selected to host the VNF (becomes a VNF node, i.e., ), and , otherwise. The traffic distribution variables for each flow and each node (reflecting the portion of flow f ’s traffic assigned to processing on VNF node v) are continuous.
Maximize the total volume of fully processed traffic:
1. Binary node placement variable (whether node
v becomes a VNF node or not):
According to constraints (1) and (2), the set is the set of graph vertices where VNF nodes are located.
3. Binary variable of the flow state (whether to take flow
f into consideration or not):
4. Minimum traffic assignment constraint:
5. Maximum traffic assignment constraint:
Constraints (3)–(5) mean that if
, then all traffic of the flow must be processed, i.e.,
, and if
, then the traffic can be partially processed, i.e.,
. However, in any case, the assigned traffic should not exceed the total volume of the flow requirement,
, namely
6. Node capacity constraints:
7. Non-negativity of traffic assignment:
4. Algorithm for Solving the VPCA-ILP Problem
Intuitively, we first allow fractional solution of flows. It means that initially we solve the variant of the problem when we can satisfy not necessarily entire flows but possibly only some fraction of each. After this step, we carefully choose the flows that we can entirely satisfy. Formally, to solve this problem, we propose Algorithm 1. It consists of the following steps:
We will now explain each stage separately.
In Stage I, we solve an LP-relaxed linear programming problem in which for each , for each , and the remaining variables and constraints remain unchanged. We obtain the optimal solution to this relaxed problem. Let us denote the optimal values of the fractional variables , and , and also is the optimal value of the LP-relaxation objective function, is the set of VNF nodes selected by the solver for the optimal value of the relaxed problem, and is the set of flows selected by the solver for the optimal value of the relaxed problem.
Then. it is necessary to round the continuous (non-integer) variables and to binary (0 or 1); budget and resource constraints remain the same. We first round separately, forming a set of VNF nodes. Then, depending on this set, we round , selecting flows and distributing their traffic.
In Stage II, we round as follows. For each , we calculate the value , which expresses the “utility” (efficiency) of node v (step line 4 of the algorithm). Then, we sort the nodes (the nodes selected by the solver as a result of LP relaxation) in non-increasing order of . This yields an ordered set of nodes (step line 6 of the algorithm). Then, initially setting and the used budget (line 7 of the algorithm), we select nodes into the set of VNF nodes (for an integer solution) using the following steps.
First, we form the candidate set . Having initialized , we add one node at a time to (in order to decrease ), each time checking the sum for compliance with the budget constraint , namely, for each iteration , if , then we set ; otherwise, we set . We stop adding to after checking all nodes (step lines 8–17 of the algorithm).
Having thus formed the set , we determine its total throughput (lines 19–21 of the algorithm) and compare it with the maximum throughput among all nodes :
- -
If , then we select the candidate set as the desired set of VNF nodes U, assigning to all nodes in this set and to the remaining nodes (lines 28–30 of the algorithm);
- -
If , then we select this node for the set of VNF nodes U, assigning to it and to the remaining nodes (lines 31–37 of the algorithm).
Having rounded in this way, we form the set , which is the set of graph vertices in which VNF nodes are located.
In Stage III, to round off the variables, we perform the following steps. We define : this is the set of flows selected by the solver as a result of LP relaxation (i.e., processed both fully and partially), each of which passes through at least one VNF node from those selected in Stage II). We sort these flows in non-increasing order of . We obtain an ordered set of flows (lines 38–39 of the algorithm). Then, we set all , all assignments , remember the current node capacities (lines 40–48 of the algorithm), and begin adding flows one by one as follows.
For each flow , we check whether we can completely place the flow f (that is, distribute its ) among the nodes without violating capacity constraints, i.e., in the general case, . If this is true, we set (lines 50–51 of the algorithm) and distribute among nodes , normalizing their proportionally to so that the total is exactly , that is, (lines 52–53 of the algorithm); after the assignment, we reduce the cardinalities of the nodes (line 54 of the algorithm). If the flow cannot be completely accommodated (), then we leave (lines 56–59 of the algorithm).
After iterating over all flows , we obtain an integer solution, that is, the set of flows , for each of which .
5. Accuracy Evaluation of Algorithm
Algorithm 1 first selects nodes for VNF placement, then distributes flows to these nodes within the resulting set of VNF nodes for processing. Therefore, we will split the accuracy evaluation of Algorithm 1 into two stages: we will consider the approximation during VNF node selection and flow distribution separately.
Sorting nodes
(selected by the solver in LP relaxation) in non-increasing order of
obtained in LP relaxation (line 6 of Algorithm 1) yields an ordered set of nodes
. Moreover,
maximizes the “efficiency” of a node,
| Algorithm 1 Algorithm for solution of VPCA-ILP problem. |
- Stage
I - 1:
Set variables as continuous - 2:
Solve the LP → obtain , optimum - Stage
II - 3:
for every node do - 4:
- 5:
end for - 6:
Sort in non-ascending order list - 7:
- 8:
- 9:
for every node do - 10:
if then - 11:
- 12:
- 13:
- 14:
else - 15:
- 16:
end if - 17:
end for - 18:
- 19:
for every node do - 20:
- 21:
end for - 22:
for every node do - 23:
if then - 24:
- 25:
- 26:
end if - 27:
end for - 28:
if then - 29:
- 30:
- 31:
else - 32:
- 33:
- 34:
for every node do - 35:
- 36:
end for - 37:
end if - Stage
III - 38:
- 39:
Sort in non-ascending order list - 40:
for every flow do - 41:
- 42:
for every node do - 43:
- 44:
end for - 45:
end for - 46:
for every node do - 47:
- 48:
end for - 49:
for every flow do - 50:
if then - 51:
- 52:
for every node do - 53:
- 54:
- 55:
end for - 56:
else - 57:
- 58:
for every node do - 59:
- 60:
end for - 61:
end if - 62:
end for
|
Obviously, the deployment cost of each VNF node does not exceed B, since nodes with a cost greater than B do not belong to any feasible solution.
Khuller et al. [
16] considered the maximum coverage problem with a budget and proved an approximation for their algorithm to solve the problem. We apply a similar approach to evaluating the approximation of our algorithm when solving the VPCA-ILP problem at the stage of finding a set of nodes for hosting VNFs while preserving the budget constraint.
To further prove the approximation, we denote the set of VNF nodes U found by the algorithm as , and the set of VNF nodes in the optimal solution as . To determine the approximation coefficient in Stage II of the algorithm, we need to determine how close the set is to in terms of their total throughput (since the throughput is a weight characteristic of node ).
We denote the total throughput of the VNF nodes selected by the algorithm as , and the total throughput of the set of VNF nodes of the optimal solution as Similarly, the cost of deploying the VNF nodes selected by the algorithm is denoted by , and the cost of deploying the optimal set of VNF nodes is denoted by . The major idea is to show that the total throughput of the VNF nodes selected by our solution at each step is bounded by the total throughput of the VNF nodes selected by the optimal solution multiplied by some constant close to 1.
Let l be the number of nodes added to the set during the first r iterations performed by the algorithm in selecting nodes, until the first node from is considered but not added to because its addition would violate the budget B. Without loss of generality, we can renumber these nodes so that is the node added to and is the first node from considered by the algorithm but not added to .
Let for , and let i be the index of the iteration in which node was considered.
Lemma 1. After each iteration, , the following holds: Proof. Since all nodes
v are sorted in non-increasing order of
(i.e., they maximize
), among the nodes of the set
, the
node has the largest value,
, which means its value
is no less than the average value for this set of nodes:
The average value
over the nodes of this set will satisfy
The denominator of this fraction is less than
B (less than the entire budget), so
that is,
Thus, from (11) and (12),
hence,
Therefore, from (10) and (13), we obtain
Multiplying both sides by , we obtain the required inequality (9). □
Lemma 2. After each iteration, , the following holds: Proof. We prove the lemma by induction on the number of iterations in which nodes are considered,
For
(the induction base),
; i.e., we need to prove that
This follows from the fact that the ratio is maximal for all nodes (the nodes are sorted by
), and the cost of the optimum is bounded by
B (i.e.,
Suppose that the assertion of the lemma holds for iterations
(the induction hypothesis). We will show that it also holds for iteration
i:
In the proof above, the first inequality follows from Lemma 1, and the second inequality follows from the induction hypothesis. □
Next, we apply the property that for
such that
, the function
attains its minimum
, when
, for
[
16]. Here, substituting
for
,
for
for
n, and 1 for
, we obtain that
Let
denote the total cost of the VNF nodes selected by the algorithm after iteration
. Using the fact that adding
to
violates the budget
B, i.e.,
and applying Lemma 2 to iteration
, we obtain
Now, we consider the following individual cases.
(A) If contains a node with capacity , then this node will be considered by the algorithm as one of the nodes in the final solution, with a value of .
This will occur either at the stage of greedy selection of nodes for the candidate set of VNF nodes (lines 9–17 of the algorithm) or at the stage of comparison with the node with the maximum capacity (lines 28–37 of the algorithm). There can only be one such node with (more than one such node will exceed . If this node is chosen greedily, may contain other nodes, but will not be less than the capacity of this node
Note that if
(B-1) then for any (otherwise, it could be added to ), so, in this case, contains at most one node (more than one with will not fit in B).
Since, by our assumption (B), all nodes have , it follows that , and thus
Finally, if
We have shown that in certain cases, such as the presence of a node with a throughput greater than , as well as in the case where the algorithm selects VNF nodes whose cost is less than half of the allocated budget, the approximation coefficient of the first stage of Algorithm 1 (Stage II—formation of the set of VNF nodes) is . In other cases, the coefficient is .
However, we will further prove that, provided that the algorithm selects three or more VNF nodes (), this approximation coefficient can be improved.
Claim 1. When solving the VPCA-ILP problem for VNF node placement (Stage II of Algorithm 1), provided that there are at least three nodes, the approximation ratio is achieved, i.e., Proof. Let be the set of the first k nodes in the order they are selected for the set U. Assume that without loss of generality that , since otherwise .
Therefore, based on the above, we will continue the proof for cases where and
Consider the iteration of Stage II of Algorithm 1, which considers the subset . Let denote the set of nodes added to by the algorithm until is obtained; that is, let
The completion of in can be considered a separate part of Stage II of Algorithm 1, similar to the one considered earlier.
Let
be the number of nodes added to
in
iterations performed by the algorithm during the completion of the subset
in
, until the first node from
is considered but not added to
because its addition violates the budget
B. Let
be the
node added to
,
, and let
be the first node from
that is considered but not added to
. Applying inequality (16) to
instead of
, to
instead of
, and, respectively, to
instead of
, we obtain
Note that when the nodes are sorted, the capacity of each of the nodes covered by
is at least
. Therefore,
Because for
and also
then as a result we get
Thus, claim 1 is proven. □
Stage III of Algorithm 1 accepts a flow f if and only if the available bandwidth at nodes is sufficient to handle its entire rate . These accepted flows constitute the set . The total bandwidth of the VNF nodes along the path of flow f, i.e., , is denoted by . For further evaluation, we introduce the following definitions that are critical for approximation analysis evaluation of our proposed solution.
Definition 1. An (denoted as ) is a flow that does not share any VNF nodes with other flows.
That is, it is isolated from other flows, its nodes are not connected to the nodes of other flows; it can be processed on one VNF node or on several VNF nodes, but it does not share VNF nodes with other flows, meaning no other flows pass through these VNF nodes.
Definition 2. An (denoted as ) is a VNF node that is not connected by flows to other VNF nodes.
That is, this node is isolated from other nodes, one or more flows pass through it and are processed by it, and these flows do not have other VNF nodes, being processed only by this node.
In the process of solving the problem, the flows considered by the algorithm can be of four types:
- (A)
Non-“isolated” flows that pass through non-“isolated” nodes (each of these flows is processed on more than one VNF node, and more than one flow selected by the algorithm passes through each of these VNF nodes);
- (B)
Isolated flow , pass through isolated VNF node (the flow passes only through one node, through which no other flows pass);
- (C)
Several non-“isolated” flows pass through an “isolated” node (the flows are not “isolated”, since they are connected to each other by this common isolated VNF node, and each of these flows passes only through this one common “isolated” VNF node and has no other VNF nodes; thus, node is “isolated” because it is not connected by flows with other nodes (Def. 2));
- (D)
“Isolated” flow passes through several non-“isolated” VNF nodes (in this case, the flow is “isolated” because it does not share VNF nodes with other flows (Def. 1) but passes through several VNF nodes that are not “isolated” because they are connected by this common flow ).
It should be emphasized that the list of these four cases ((A)–(D)) is exhaustive, since no flow can simultaneously pass through “isolated” and non-“isolated” VNF nodes (since when a flow passes through more than one VNF node, each of these VNF nodes is no longer “isolated”); similarly, none VNF node cannot simultaneously service “isolated” and non-“isolated” flows (since if multiple flows pass through a VNF node, then all these flows are no longer “isolated”).
For all flows specified in case (A), i.e., those that are not “isolated” and do not pass through “isolated” VNF nodes, we prove the following lemma.
Lemma 3. For any flow f completely processed as a result of Algorithm 1, provided that it is NOT an “isolated” flow or a flow passing through an “isolated” node , its distributed traffic is at least half the total capacity of its VNF nodes, i.e., Proof. According to Algorithm 1, the traffic of a processed flow must not exceed the total residual capacity of its VNF nodes; i.e., there is
Consider the moment when the algorithm rejects the first flow
, since it does not have enough of the total remaining capacity of its VNF nodes. By this point, the total free capacity of all nodes in this flow
is less than
, that is,
Moreover, the residual capacity of each of these nodes
is its initial capacity minus the portion already used by other flows processed by this node previously:
Here, represents the sum of the traffic portions of the flows allocated to the VNF nodes of flow before it was considered by the algorithm and rejected due to a lack of . Since flow is the first to be rejected by the algorithm, all flows prior to it were fully allocated (processed).
Let us assume, by contradiction, that not all of these processed flows (those not “isolated” and not passing through “isolated” nodes), considered before flow
, used at least half of the total throughput of their VNF nodes for traffic distribution; i.e., among them there are fully allocated flows for which
. In this case, since the algorithm distributes the traffic of flows
among their VNF nodes proportionally to their residual capacity
, the fractions
of the traffic of such flows allocated to the VNF nodes of flow
before it was considered and rejected must also use less than half of their capacity, meaning that
and, therefore (from (25)), we have
However, this assumes that of the fully processed flows considered earlier by the algorithm is less than of the first flow rejected by the algorithm. This contradicts our algorithm, which requires considering flows in order from the largest to the smallest. The proof follows. □
Claim 2. When solving the VPCA-ILP in the part of flow traffic distribution (Stage III of Algorithm 1), the approximation ratio is achieved; that is, for the optimal solution of the LP-relaxed linear programming problem with continuous variables in the part of flows (passing through at least one VNF node), Algorithm 1 returns the solution of the integer problem in the part of flows , such that Proof. By Lemma 3, the distributed traffic of each flow that is not an “isolated” flow
or a flow passing through an “isolated” node
(case (A)), completely processed as a result of Algorithm 1, is at least half the total throughput of its VNF nodes, i.e.,
. Summing over all flows
, that are not “isolated” or passing through an “isolated” node, we find that the total traffic across all nodes of these flows is no less than half of their total capacity:
Here,
is the set of “isolated” VNF nodes ;
is the set of non-“isolated” flows received by the algorithm that pass through them;
is the set of “isolated” flows recieved by the algorithm;
is the set of “isolated” flows received by the algorithm that pass through “isolated” VNF nodes ;
is the set of VNF nodes of “isolated” flows .
Consequently, the total traffic of flows already accepted by the algorithm (for which
) that are not “isolated” and do not pass through “isolated” nodes
is not less than half of their total capacity, and this capacity is not less than the total fractional traffic of the same flows in the optimal solution of the LP-relaxed problem
(since the capacities
were not exceeded in LP). That is why
Thus, inequality (27) proves Claim 2 for case (A) flows.
In this case, two subcases are possible:
(B-1) If , then such a flow is definitely rejected by the algorithm .
(B-2) If
, then in this case
is indeed possible (a contradiction to Lemma 3) if the traffic of this flow
of its single VNF node. Thus, under this condition, all these flows will be unambiguously
definitely accepted by the algorithm
with their full traffic (since the capacity of their single node will be sufficient for all of them); that is,
for all flows of case (B), the approximation ratio of this stage of the algorithm will be equal to 1. That is,
(C) If non-“isolated” flows share a common “isolated” VNF node, that is, each of these flows passes only through this one common “isolated” node and has no other VNF nodes, then this case also has two subcases:
(C-1) If , then these flows will all be definitely accepted by the algorithm , since the capacity of this node is sufficient to process all of these flows passing through it. Therefore, for these flows, the approximation ratio is 1 and Formula (28) is valid.
(C-2) If
, then when the algorithm rejects the first such flow
because it lacks the remaining capacity of its single VNF node, that is,
Thus, similar to the proof of Lemma 3, the total traffic of distributed flows passing through the “isolated” node
is greater than half of its capacity
and therefore, the approximation coefficient for such flows is
; that is, Formula (27) is valid for them, and the total approximation ratio
for all flows passing through “isolated” nodes (case (C) for both subcases) is not less than
. It means that
(D) If an “isolated” flow (which does not share VNF nodes with other flows) passes through several non-“isolated” VNF nodes (connected by this flow), then for its VNF nodes , and two subcases are also possible:
(D-1) If , that is, if the total capacity of its VNF nodes is not less than its speed, then it can definitely be completely allocated (i.e., it must be selected by the algorithm, , and in this case, the approximation ratio of these flows is also equal to 1; that is, Formula (28) is valid.
(D-2) If , then such a flow is definitely rejected by the algorithm .
Thus,
for all flows in case (D), the overall approximation ratio is 1; that is,
Thus, to take into account all types of flows (cases (A)–(D)), it suffices to add (27) + (28) + (29) + (30) to obtain the required inequality (24). Claim 2 is proven. □
Theorem 1. Algorithm 1 is a -approximation algorithm for the VPCA-ILP problem.
Proof. By the assumptions of the VPCA-ILP problem, the objective function is
We denote the optimal value of the objective function of the VPCA-ILP problem by , and the value of the objective function found by Algorithm 1 by
The optimal value of the objective function of the LP-relaxed linear programming problem with continuous variables was previously denoted by
The VPCA-ILP problem is a maximization problem; therefore,
Given that the set
Then from (18), (33) and (34), it follows
Thus, using (26), (31), (32), and (35), we obtain
which is what was required. □
6. Complexity Evaluation of Algorithm
To estimate the complexity of this algorithm, let us consider it in terms of individual computational blocks.
- 1.
Stage I—LP Relaxation Solution
In the problem after relaxation, we have the following variables:
There are many algorithms for solving linear programming problems with varying complexity. In particular, Vaidya [
17] developed an algorithm for solving linear programming problems that requires
arithmetic operations and is sufficient to perform each operation with
bit precision, where
m is the number of constraints and
n is the number of variables. The parameter
L here can be roughly considered as the number of bits of input data. Thus, in our problem, the complexity of this block of the algorithm is
- 2.
Stage II—rounding (VNF node placement).
- 2.1.
Sorting nodes in descending order : complexity of order
- 2.2.
Sequentially adding nodes and checking the budget constraint
- -
We traverse the ordered list (in the worst case, up to nodes);
- -
The sum is cumulative (to avoid recalculating each time), so each check step is ;
- -
The entire cycle is
Total: the rounding step of
adds up to
- 3.
Stage III—rounding (flow selection and distribution).
- 3.1.
Sorting flows in descending order of
- -
In the worst case;
- -
Sorting complexity is
- 3.2.
Step-by-step flow addition:
- -
For each flow (there are ), we check cumulatively whether we can “place” into available nodes
- -
In the worst case, , i.e., each flow can be connected to any node (if we consider a very rough estimate);
- -
Checking takes , then distributing (setting ) also takes , since we need to iterate through all suitable nodes;
- -
The total computation time for one thread is about ; for all threads, it is
Total computation time: rounding
takes
- 4.
Overall Complexity
Combining all blocks, we get
- -
LP solution: ;
- -
rounding: ;
- -
rounding:
Thus, the asymptotically overall complexity is
7. Simulation Results and Discussion
We have evaluated our (Algorithm 1) and RP-MCA [
5] algorithms and performed a comparative evaluation between them. In order to do this, we considered three types of topologies of different sizes as shown in
Figure 2: appropriate
ary fat tree (3-level tree with
k ports on each switch), Erdos-Rényi network (we chose probability of 1/2 for existing edge between arbitrary pair of nodes in generated graph) and Barabási-Albert network (the starting graph was a triangle graph with three nodes). The results are shown below. Simulations have been conducted on the Windows 11 operating system with a 12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz processor. The simulations have been implemented in Python 3.14. We considered different size networks of varying size between 50 and 1000 nodes with the number of flows between 50 and 200. The flows were generated as random paths in the corresponding network with the rate varying in the range [20, 500]. We also considered that the case of uniform costs (valued 25 and total budget of 1000) and capacities (valued 10) versus heterogeneous case costs range is [15, 300], capacity range is [5, 100]), and total budget range [1000, 10,000]. As can be seen below, Algorithm 1 (solid) consistently outperforms RP-MCA (dashed) in our obtained traces. The performance gap and its scaling with
V vary for different scenarios. Algorithm 1 will tend to outperform RP-MCA on instances where greedy, deterministic exploitation of concentrated coverage or large indivisible gains is advantageous and where the randomness or fractional rounding in RP-MCA tends to lose value. The most significant advantage of our algorithm was achieved for the case of fat-tree topology. When costs vary widely and some nodes are extremely cost-efficient (large capacity relative to cost and covering useful flows), a greedy algorithm that ranks by marginal processed flows per unit cost will quickly pick those and obtain near-optimal integral solutions. Randomized schemes that spread budget may not concentrate on the cheapest high-value nodes and can underperform in expectation.
We can characterize natural sufficient conditions under which the Algorithm 1—type approach is provably close to optimal, and when that bound is tight. If we can view the problem as selecting nodes U under cost budget B so that the set (or total rate) of processed flows is a monotone submodular function of U, then the standard greedy algorithm that at each step picks the node with largest marginal gain per unit cost achieves a —approximation to the optimum for the budgeted case (this is the classical result for budgeted maximum coverage). There are known worst-case instances for budgeted coverage where no polynomial-time algorithm can beat unless P = NP; so our algorithm guarantee is essentially is tight in that abstraction. If node capacities are large relative to demand so capacity constraints rarely bind (or the algorithm’s local allocations never exceed capacities), then the problem reduces to budgeted coverage and our solution is near-optimal.
8. Conclusions
In this paper, we have considered the problem of VNF node placement and bandwidth allocation in a network graph, i.e., selecting the best subset of VNF nodes and optimally distributing their bandwidth to maximize the total volume of fully processed traffic flows.
Unlike previous approaches, we have introduced a simpler algorithm for solving this problem, representing it as an integer linear programming problem (VPCA-ILP) with two integer variables—VNF node placement and flow selection. This algorithm consists of several stages: solving an LP-relaxed linear programming problem to obtain optimal fractional values for the variables, followed by rounding these fractional variables, resulting in a set of VNF nodes, and then using this set, distributing the capacity of these VNF nodes among the flows they process. We have also proven that with an approximation ratio of
, the time complexity of this algorithm is
, and its complexity is
which is the case for
, which is a better result than in [
5]. Notice that fixed routing paths and static traffic assumptions as described in our problem impose strict restrictions on the shape of our solution. If we are interested in making the system more dynamic, additional algorithmic and optimization techniques must be involved. Several recent intelligent methods may be considered as well, as described in [
18,
19]. Also it would be interesting to obtain better approximation solutions to the original problem.