3.5 Algorithms for Delay-Aware NFV-enabled Unicasting Problem
3.5.2 Heuristic algorithm with the end-to-end delay constraint
We then deal with the delay-aware NFV-enabled unicasting problem that is NP- hard, as the well-known NP-complete problem - the delay-constrained shortest path problem [31], is one of its special cases. In the following we focus on devising a heuristic algorithm for the problem.
The technique adopted is similar to the one for the problem without the end-to- end constraint. The only difference lies in finding a delay-constrained shortest path, instead of a shortest path, in Hk. Specifically, we first construct a directed acyclic graph Hk = (Nk,Ak;cv(k),ce(k),dv(k),de(k))as defined in the previous section, and now associated with each edge e ∈ Ak, in addition to its cost ce(k), a delay de(k) is assigned too, which is the delay sum of all edges in the shortest path of G from one endpoint to another endpoint ofe. Similarly, associated with each data centerv
for implementingSCk,j, the running time delaydv(k,j)is assigned in addition to the processing costcv(k,j).
We then find a delay-constrained shortest path inHk fromsktotk in terms of the usage costs of both computing and bandwidth resources while meeting the end-to- end delay of request ρk. In other words, the problem is to find a delay-constrained shortest path P0 in Hk(Nk,Ak;we(k),dv(k),de(k)) from sk to tk in terms of its edge
cost while d(P) = ∑v∈V(P)dv(k) +∑e∈Pde ≤ Dk, where Dk is the given end-to-end delay bound for request ρk. We find the delay-constrained shortest path P0 in Hk, by adopting the algorithm due to Juttneret al.[51] whose description is as follows.
Given a directed, connected graph G = (V,E), a non-negative cost ce and a non-negative delay de for each link e ∈ E, a source node s, a destination node t, and a positive delay constraint ∆delay, the algorithm by Juttner et al. [51] finds an approximate solution to a delay-constrained shortest path problem with an objective to minP0∈P0(s,t)∑e∈P0ce, where P0(s,t) is the set of paths in G from s to t while the end-to-end-delay of each path is bounded by ∆delay. The details are described in
Algorithm3.2.
Algorithm 3.2Finding a delay-constrained shortest path inHk [51]
Input: Hk = (Nk,Ak;cv(k),ce(k),dv(k),de(k)), a requestρk.
Output: Admit or reject request ρk. If it is admitted, find an approximate delay-
constrained shortest path P0 whiled(P0)≤ Dk.
1: Find a shortest pathPcinHk fromsktotkby applying Dijkstra’s algorithm, using only the edge weightswe for alle∈ Ak in Hk;
2: if∑e∈Pcde(k)≤Dk then returnpathPc 3: else
4: Find a shortest path Pd in Hk from sk to tk by applying Dijkstra’s algorithm, using only the edge delaysdein Hk;
5: if∑e∈Pdde(k)>Dk then returnno solution, rejectρk. 6: else
7: boolean← f alse;
8: whileboolean6=truedo
9: λ← dc((PcP)−c(Pd)
d)−d(Pc), wherec(P)andd(P)are the sums of costs and delays on the edges in P, respectively;
10: Find a shortest pathPr in Hk fromsk to tk by applying Dijkstra’s algo- rithm, using a modified edge weightscλ(e) =ce+λ·de;
11: ifcλ(Pr) =cλ(Pc)then
12: boolean←true;
13: else
14: Ifd(Pr)≤ Dk,Pd← Pr; otherwise Pc ←Pr;
returnpathPd;
We finally find a routing walk P in G for requestρk, which is derived from the
shortest path P0 in Hk. The heuristic for the delay-aware NFV-enabled unicasting problem is proposed inAlgorithm3.3.
58 Routing Cost and Throughput Optimization of Requests in the Remote Cloud
Algorithm 3.3Finding a delay-constrained routing path for requestρk
Input: Hk = (Nk,Ak;cv(k),ce(k),dv(k),de(k)) with a set VS of nodes attached data centers and installed VMs implementing network functions, a request ρk = (sk,tk;SCk,bk,Dk) with source nodesk, destination node tk, bandwidth resource demand bk and the service chain SCk = hSCk,1,SCk,2. . . ,SCk,li, and the end-to- end delay constraintDk.
Output: Admit or reject requestρk. If it is admitted, find a routing walk inGfor the
request while meeting its end-to-end delay constraint.
1: Denote byG= (V,E)the resulting graph after the removal of edges with residual bandwidth less than `·bk from G, assign each edge in G a cost of using the amountbk of bandwidth, where`is the number of network functions inSCk; 2: Compute all pairs shortest paths and the delays of the shortest paths inG; 3: Construct an auxiliary graphHk = (Nk,Ak;cv(k),ce(k),dv(k),de(k))and assign a
weight to each of its nodes and edges by Eqs.(3.1), (3.2), (3.3), and (3.4);
4: Find an approximate delay-constrained shortest path P0 in Hk from sk to tk, in terms of the weighted sum of the cost of edges and nodes while meeting the end-to-end delay ofρk, by invokingAlgorithm3.2;
5:
6: IfP0 exists, a routing walk Pin Gforρk is derived, by replacing each edge in P0
with its corresponding shortest path inG; otherwise, reject requestρk.
We now show thatAlgorithm3.3 delivers a feasible solution to the delay-aware NFV-enabled unicasting problem by the following theorem.
Theorem 3.2 Given an SDN G = (V,E) with a set VS of data centers, there is an algo-
rithm for the delay-aware NFV-enabled unicasting problem,Algorithm3.3, which delivers a feasible solution in O(|V|3)time.
The solution delivered by Algorithm 3.3 does not violate bandwidth capacity constraints on links, because the links without sufficient residual bandwidths to ac- commodate request ρk will not be contained in the resulting graph G. In addition, the found path P0 in Hk meets the end-to-end delay requirement Dk of ρk, by the
algorithm due to Juttneret al.[51], since the end-to-end delay of the derived routing walkPin GfromP0 equals the end-to-end delay ofP0.
The dominant time ofAlgorithm 3.3 is the time of finding a delay-constrained shortest path inHk, while the construction ofHk takesO(|V|3)time. In addition, the running time ofAlgorithm3.2 inHk(Nk,Ak)isO(|Nk|2log4|Nk|) =O(|VS|2log4|VS|) =