• No results found

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) = ∑vV(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)eP0ce, 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: ife∈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|) =

3.6

Online Algorithm for Dynamic Admissions of NFV-enabled