• No results found

In this section, we propose a generic framework for solving the four mentioned opti- mization problems.

3.4.1 Overview

There are two important issues for solving the problems. One is the resource avail- ability. Given an NFV-enabled request ρk, whether it can be admitted or rejected will be determined by the availability of its demanded resources in G. Another is which data centers should be used to implement its service chain, considering that the network functions in the service chain can be implemented in different data cen- ters. These two issues are critical for delivering efficient and high-quality solutions to the problems, since careless admissions of requests can significantly increase their implementation costs, violate their end-to-end delay requirements, and heavily af- fect the admissions of future requests. We address these issues by proposing a novel optimization framework that efficiently reduces each of the four problems into a problem of finding a (delay-constrained) shortest path in an auxiliary acyclic graph

Hk = (Nk,Ak) for each incoming request ρk. Specifically, if there is no such path in Hk, this implies there are insufficient resources inG to meet the demands of the request, and the request should be rejected. Otherwise, a routing walk (sometimes a path) forρk then will be derived from the found (delay-constrained) shortest path Hk. The construction of Hk is as follows.

3.4.2 The construction of the auxiliary directed acyclic graph Hk for re- questρk

Recall that there may have multiple candidate data centers that have the VMs for the

jth network function SCk,j of the service chain SCk or the VM that can be created from the data centers. For clarity, letVj be the set of data centers that can implement

SCk,j. The node set Nk of Hk consists of all such sets of data centers and the source, destination of requestρk, i.e.,Nk =∪lj=1Vj∪ {sk,tk}. To guarantee network functions

the specified order. Specifically, we first add a directed edge from sk to each node

v ∈ V1 and the weight of this edge is the cost of the shortest path in G between

sk and v if such a path exists. We then add a directed edge from a node v ∈ Vl to tk and assign its weight as the cost of the shortest path in G between v and tk if the path exists. We thirdly add a directed edge from a node u ∈ Vj to a node in

u ∈Vj+1 and assign its weight to be the cost of the shortest path between them in G if the shortest path exists. Notice that, if nodes u andv for implementing different network functions are in the same data center, the weight of the edge is zero. Thus,

Ak ={hsk,vi |v∈V1} ∪ {hv,tki |v∈ Vl} ∪jl−=11{hu,vi |u∈Vj &v∈Vj+1}. Figure 3.2 gives an example of the auxiliary graph.

Figure 3.2: A constructed auxiliary graph Hk, whereV1, . . . ,Vl represent the sets of candidate nodes for each service layer in the service chain

3.4.3 Operational cost and transmission delay models

Realizing NFV-enabled requests in an SDN consumes its computing and bandwidth resources which incur the operational cost. To minimize the implementation cost of each request ρk, we strive for the fine trade-off between the computing resource consumption at data centers for implementing the service chain of the request and the bandwidth resource consumption for routing the packets of the request along a routing path (or walk) from nodes sk to tk. If such a request also has an end-to-end delay requirement, we consider not only the processing delay of each VM in data

52 Routing Cost and Throughput Optimization of Requests in the Remote Cloud

centers but also the data transmission delays at links in G. Specifically, consider implementing the network function SCk,j of service chain SCk in a switch node v (∈ VS) with an attached data center, the implementation cost cv(k,j)of SCk,j atv is the cost of using a VM resource for SCk,j if the VM already exists in v; otherwise, the implementation cost will consist of the setup cost of the VM for SCk,j and the cost of using the VM in v. That is, for each node v ∈ Vj ⊂ Nk, the cost cv(k,j) of implementing the network functionSCk,j of service chainSCk for alljwith 1≤ j≤ l is cv(k,j) =      cv(SCk,j) if there is a VM of SCk,j inv, cv(SCk,j) +Inv(SCk,j) otherwise, (3.1)

where Inv(SCk,j)is the setup cost of a VM at vforSCk,j.

The processing delay dv(k,j) by running the VM for SCk,j at a data center v ∈

Vj ⊂Nk can be defined similarly. That is, for all jwith 1≤ j≤ l,

dv(k,j) =     

dv(SCk,j) running duration of the VM ofSCk,j atv,

dv(SCk,j) +dinv otherwise,

(3.2)

where dinv is the VM setup delay for SCk,j at node v. Notice that there usually is a queueing delay for processing each admitted request at a data center. As we assume that each incoming request must be responded by either rejecting or admitting it im- mediately, and each data center has enough resource to meet the request computing demands, such a queueing delay in the data center assigned to it can be ignored, compared with its processing delay in the data center.

For each directed edge e = hu,vi ∈ Ak, the cost of admitting an NFV-enabled request ρk is proportional to the accumulated amount of bandwidth consumed at

links by the request, i.e.,

ce(k) =cu,v(k) =

e0Pu ,v

ce0·bk, (3.3)

wherePu,v is the shortest path inGfrom utov, andce0is the cost of unit bandwidth at linke0 ∈ Pu,v.

Similarly, the transmission delayde(k)on linke∈ Ak is

de(k) =du,v(k) =

e0Pu ,v

de0. (3.4)

where Pu,v is the shortest path inGfromutov, andde0 is the delay on linke0 ∈Pu,v.

3.5

Algorithms for Delay-Aware NFV-enabled Unicasting Prob-