This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Network Slicing for Service-Oriented Networks with Flexible Routing and Guaranteed E2E Latencythanks: ​​​Corresponding author: Ya-Feng Liu.

Wei-Kun Chen1, Ya-Feng Liu2, Antonio De Domenico3, Zhi-Quan Luo4 Email: [email protected], [email protected] (Corresponding author), [email protected], [email protected] 1School of Mathematics and Statistics/Beijing Key Laboratory on MCAACI, Beijing Institute of Technology, Beijing, China 2LSEC, ICMSEC, AMSS, Chinese Academy of Sciences, Beijing, China 3CEA-LETI, Grenoble, France 4Shenzhen Research Institute of Big Data and The Chinese University of Hong Kong, Shenzhen, China
Abstract

Network function virtualization is a promising technology to simultaneously support multiple services with diverse characteristics and requirements in the fifth generation and beyond networks. In practice, each service consists of a predetermined sequence of functions, called service function chain (SFC), running on a cloud environment. To make different service slices work properly in harmony, it is crucial to select the cloud nodes to deploy the functions in the SFC and flexibly route the flow of the services such that these functions are processed in sequence, the end-to-end (E2E) latency constraints of all services are guaranteed, and all resource constraints are respected. In this paper, we propose a new (mixed binary linear program) formulation of the above network slicing problem that optimizes the system energy efficiency while jointly considers the resource budget, functional instantiation, flow routing, and E2E latency requirement. Numerical results show the advantage of the proposed formulation compared to the existing ones.

Index Terms:
E2E delay, network function virtualization, network slicing, resource allocation, service function chain.

I Introduction

Network function virtualization (NFV) is considered as one of the key technologies for the fifth generation (5G) and beyond 5G (B5G) networks [1]. In contrast to traditional networks where service functions are processed by dedicated hardwares in fixed locations, NFV can efficiently take the advantage of cloud technologies to configure some specific nodes in the network to process network service functions on-demand, and then flexibly establish a customized virtual network for each service request. In the NFV-enabled network, classic networking nodes are integrated with NFV-enabled nodes (i.e., cloud nodes) and each service consists of a predetermined sequence of virtual network functions (VNFs), called service function chain (SFC) [2, 3], which can only be processed by certain specific cloud nodes [4]. In practice, each service flow has to pass all VNFs in sequence and its end-to-end (E2E) latency requirement must be satisfied. However, since all VNFs run over a shared common network infrastructure, it is crucial to allocate cloud and communication resources to meet the diverse service requirements, subject to the SFC constraints and the E2E latency constraints of all services and all cloud nodes’ and links’ capacity constraints.

The above resource allocation problem in the NFV-enabled network is called network slicing in the literature and considerable works have been done on it recently; see [4]-[10] and the references therein. More specifically, references [4, 5] considered the VNF deployment problem with a limited network resource constraint, but it did not take the E2E latency constraint of each service into consideration. Reference [6] investigated a specific two-layer network which consists of a central cloud node and several edge cloud nodes without considering the limited link capacity, which may lead to violations of resource constraints. Reference [7] simplified the routing strategy by selecting paths from a predetermined path set. Reference [8] simplified the VNF placement decision-making by assuming that all VNFs in a SFC must be instantiated at the same cloud node. Reference [9] proposed a way of analyzing the dependencies between traffic routing and VNF placement in the NFV networks. Though the E2E latency requirement of each service was integrated into the formulation, only a single path was allowed to route the traffic flow of each service. Apparently, such a formulation does not fully exploit the flexibility of traffic routing and hence might affect the performance of the whole network. Reference [10] assumed that instantiation of a VNF can be split over multiple cloud nodes, which may result in high coordination overhead in practice.

To the best of our knowledge, for the network slicing problem, none of the existing formulations/works simultaneously takes all of the above practical factors (e.g., flexible routing, E2E latency, and coordination overhead) into consideration. The goal of this work is to provide a mathematical formulation of the network slicing problem that simultaneously allows the traffic flows to be flexibly transmitted on (possibly) multiple paths, satisfies the E2E latency requirements of all services, and requires that each service function in a SFC is processed by exactly one cloud node. In particular, we formulate the problem as a novel mixed binary linear program (MBLP), which minimizes the total power consumption of the whole network subject to the SFC constraints and the E2E latency constraints of all services and all cloud nodes’ and links’ capacity constraints. Numerical results show the effectiveness of our proposed formulation.

II System model and problem formulation

In this section, we give a MBLP formulation for the network slicing problem.

II-A System Model

Consider a communication network 𝒢={,}\mathcal{G}=\{\mathcal{I},\mathcal{L}\}, where ={i}\mathcal{I}=\{i\} is the set of nodes and ={(i,j)}\mathcal{L}=\{(i,j)\} is the set of links. The network supports a set of flows 𝒦={k}\mathcal{K}=\{k\}. We assume that each link (i,j)(i,j) has an expected delay dijd_{ij} [9], and a total data rate upper bounded by the capacity CijC_{ij}. Let 𝒱\mathcal{V} be a subset of \mathcal{I} denoting the set of the cloud nodes. Each cloud node vv has a computational capacity μv\mu_{v} and we assume as in [4] that processing one unit of data rate requires one unit of (normalized) computational capacity. Let S(k)S(k) and D(k)D(k) be the source and destination of flow kk, respectively, and suppose that S(k),D(k)𝒱S(k),D(k)\notin\mathcal{V}. Each flow kk relates to a distinct service, which is given by a SFC consisting of k\ell_{k} functions that have to be performed in sequence by the network:

f1kf2kfkk.f_{1}^{k}\rightarrow f_{2}^{k}\rightarrow\cdots\rightarrow f_{\ell_{k}}^{k}. (1)

As required in [4, 6], and [9], to minimize the coordination overhead, each function must be instantiated at exactly one cloud node. If function fskf^{k}_{s}, s(k):={1,,k}s\in\mathcal{F}(k):=\{1,\ldots,\ell_{k}\}, is processed by node vv in 𝒱\mathcal{V}, we assume the expected NFV delay is known as dv,s(k)d_{v,s}(k) which includes both processing delay and queuing delay, as in [9]. For flow kk, denote λ0(k)\lambda_{0}(k) and λs(k)\lambda_{s}(k) as the service function rates before receiving any function and after receiving function fskf^{k}_{s}, respectively. Each flow kk is required to have an E2E latency guarantee, denoted as Θk\Theta_{k}.

II-B Preview of the New Formulation

The network slicing problem is to determine functional instantiation of all flows and the routes and associated data rates of all flows on the routes while satisfying the SFC requirements, the E2E delay requirements, and the capacity constraints on all cloud nodes and links. In this section, we shall provide a new problem formulation of the network slicing problem which takes practical factors like coordination overhead, flexible routing, and E2E latency requirements into consideration; see Eq. (21) further ahead.

Our proposed formulation builds upon those in two closely related works [9] and [4] but takes further steps. More specifically, in sharp contrast to the formulation in [9] where only a single path is allowed to route the traffic flow of each service (between two cloud nodes processing two adjacent functions of a service), our proposed formulation allows the traffic flow of each service to transmit on (possibly) multiple paths and hence fully exploits the flexibility of traffic routing; different from that in [4], our formulation guarantees the E2E delay of all services, which consists of two types of delays: total communication delay on the links and total NFV delay on the cloud nodes. Next, we describe the constraints and objective function of our formulation in details.

II-C VNF Placement and Node Capacity Constraints

We introduce the binary variable xv,s(k),s=1,,kx_{v,s}(k),~{}s=1,\ldots,\ell_{k}, to indicate whether or not node vv in 𝒱\mathcal{V} processes function fskf^{k}_{s}, i.e.,

xv,s(k)\displaystyle x_{v,s}(k) =\displaystyle= {1,if nodevprocesses functionfsk;0,otherwise.\displaystyle\left\{\begin{array}[]{ll}1,&{\text{if~{}node}}~{}v~{}{\text{{processes}~{}function}}~{}f^{k}_{s};{}\\ 0,&{\text{otherwise}}.\end{array}\right.

For simplicity of presentation as in [4], we require that each cloud node processes at most one function for each flow:

s(k)xv,s(k)1,k𝒦,v𝒱.\sum_{s\in\mathcal{F}(k)}x_{v,s}(k)\leq 1,\ \forall~{}k\in\mathcal{K},\ \forall~{}v\in\mathcal{{{V}}}. (3)

For each flow kk, we require that each service function in the chain (k)\mathcal{F}(k) is served by exactly one cloud node, i.e.,

v𝒱xv,s(k)=1,k𝒦,s(k).\displaystyle\sum_{v\in\mathcal{V}}x_{v,s}(k)=1,~{}\forall~{}k\in\mathcal{K},~{}\forall~{}s\in\mathcal{F}(k). (4)

Since processing one unit of data rate consumes one unit of (normalized) computational capacity, we can get the node capacity constraints as follows:

k𝒦s(k)λs(k)xv,s(k)μv,v𝒱.\displaystyle\sum_{k\in\mathcal{K}}\sum_{s\in\mathcal{F}(k)}\lambda_{s}(k)x_{v,s}(k)\leq\mu_{v},~{}\forall~{}v\in\mathcal{V}. (5)

Let yv{0,1}y_{v}\in\{0,1\} represent the activation of cloud node vv, i.e., if yv=1y_{v}=1, node vv is activated and powered on; otherwise, it is powered off. Thus

xv,s(k)yv,v𝒱,k𝒦,s(k).\displaystyle x_{v,s}(k)\leq y_{v},~{}\forall~{}v\in\mathcal{V},~{}\forall~{}k\in\mathcal{K},~{}\forall~{}s\in\mathcal{F}(k). (6)

II-D Flexible Routing and Link Capacity Constraints

We assume that there are at most PP paths between any pair of cloud nodes that processes two adjacent functions of a flow. In general, such an assumption on the number of paths may affect the solution’s quality. Indeed, the choice of PP offers a tradeoff between the flexibility of routing in the problem formulation and the computational complexity of solving it: the larger the parameter PP is, the more flexibility of routing and the higher the computational complexity.

Denote 𝒫={1,,P}\mathcal{P}=\{1,\ldots,P\}. If cloud nodes vsv_{s} and vs+1v_{s+1} are used to host the ss-th and (s+1)(s+1)-th functions of flow kk (i.e., functions fskf^{k}_{s} and fs+1kf^{k}_{s+1}), respectively, and path pp is used to route the traffic flow, let r(k,s,vs,vs+1,p)r(k,s,v_{s},v_{s+1},p) be the associated amount of the data rate. We need to introduce this variable in our formulation, as the traffic flow of each service in our formulation is allowed to transmit on (possibly) multiple paths in order to exploit the flexibility of traffic routing. In particular, if s=0s=0, we assume vs=S(k)v_{s}=S(k) and if s=ks=\ell_{k}, we assume vs+1=D(k)v_{s+1}=D(k). Notice that by (3) and the fact that S(k),D(k)𝒱S(k),D(k)\notin\mathcal{V}, we must have vsvs+1v_{s}\neq v_{s+1}. For each k𝒦k\in\mathcal{K}, from the definitions of xvs,s(k)x_{v_{s},s}(k), xvs+1,s+1(k)x_{v_{s+1},s+1}(k), and r(k,s,vs,vs+1,p)r(k,s,v_{s},v_{s+1},p), we have

p𝒫r(k,s,vs,vs+1,p)=λs(k)xvs,s(k)xvs+1,s+1(k),\displaystyle\sum_{p\in\mathcal{P}}r(k,{s},v_{s},v_{s+1},p)=\lambda_{s}(k)x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k),
s(k)\{k},vs,vs+1𝒱.\displaystyle{\qquad\qquad\qquad\qquad\forall~{}s\in\mathcal{F}(k)\backslash\{\ell_{k}\},~{}\forall~{}v_{s},v_{s+1}\in\mathcal{{{V}}}.} (7)

Constraint (7) indicates that if the ss-th and (s+1)(s+1)-th functions of flow kk (i.e., functions fskf_{s}^{k} and fs+1kf_{s+1}^{k}) are hosted at cloud nodes vsv_{s} and vs+1v_{s+1}, respectively, then the sum of all the data rates sent from vsv_{s} to vs+1v_{s+1} must be equal to λs(k)\lambda_{s}(k). We then use zij(k,s,vs,vs+1,p)=1z_{ij}(k,s,v_{s},v_{s+1},p)=1 to denote that the ss-th and (s+1)(s+1)-th functions of flow kk (i.e., functions fskf_{s}^{k} and fs+1kf_{s+1}^{k}) are processed by cloud nodes vsv_{s} and vs+1v_{s+1}, respectively, path pp is used to route the associated traffic flow, and link (i,j)(i,j) is on path pp; otherwise, zij(k,s,vs,vs+1,p)=0z_{ij}(k,s,v_{s},v_{s+1},p)=0. By definition, for all k𝒦k\in\mathcal{K}, p𝒫p\in\mathcal{P}, and (i,j)(i,j)\in\mathcal{{{L}}}, we have

zij(k,s,vs,vs+1,p)xvs,s(k)xvs+1,s+1(k),\displaystyle z_{ij}(k,s,v_{s},v_{s+1},p)\leq x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k),
s(k)\{k},vs,vs+1𝒱.\displaystyle\qquad\qquad\qquad\qquad\forall~{}s\in\mathcal{F}(k)\backslash\{\ell_{k}\},~{}\forall~{}v_{s},v_{s+1}\in\mathcal{{{V}}}. (8)

If zij(k,s,vs,vs+1,p)=1z_{ij}(k,s,v_{s},v_{s+1},p)=1, let rij(k,s,vs,vs+1,p)r_{ij}(k,s,v_{s},v_{s+1},p) denote the associated amount of data rate. By definition, for each k𝒦k\in\mathcal{K}, p𝒫p\in\mathcal{P}, and (i,j)(i,j)\in\mathcal{{{L}}}, we have the following coupling constraints:

rij(k,s,vs,vs+1,p)λs(k)zij(k,s,vs,vs+1,p),\displaystyle r_{ij}(k,s,v_{s},v_{s+1},p)\leq\lambda_{s}(k)z_{ij}(k,s,v_{s},v_{s+1},p),
s(k)\{k},vs,vs+1𝒱.\displaystyle\qquad\qquad\qquad\qquad\forall~{}s\in\mathcal{F}(k)\backslash\{\ell_{k}\},~{}\forall~{}v_{s},v_{s+1}\mathcal{\in{{V}}}. (9)

The total data rates on link (i,j)(i,j) is upper bounded by capacity CijC_{ij}:

k𝒦p𝒫s(k){0}vs𝒱vs+1𝒱\{vs}rij(k,s,vs,vs+1,p)\displaystyle\sum_{k\in\mathcal{K}}\sum_{p\in\mathcal{P}}\sum_{s\in\mathcal{F}(k)\cup\{0\}}\sum_{v_{s}\in\mathcal{{{V}}}}\sum_{v_{s+1}\in\mathcal{{{V}}}\backslash\{v_{s}\}}r_{ij}(k,s,v_{s},v_{s+1},p)
Cij,(i,j).\displaystyle\leq C_{ij},~{}\forall~{}(i,j)\in\mathcal{L}. (10)

II-E SFC Constraints

To ensure the functions of each flow are followed in the prespecified order as in (1), we need to introduce several constraints below. For each k𝒦k\in\mathcal{K}, p𝒫p\in\mathcal{P}, vs,vs+1𝒱v_{s},v_{s+1}\in\mathcal{{{V}}} with s(k)\{k}s\in\mathcal{F}(k)\backslash\{\ell_{k}\}, and ii\in\mathcal{{{I}}}, we have

j:(j,i)rji(k,s,vs,vs+1,p)j:(i,j)rij(k,s,vs,vs+1,p)=\sum_{j:(j,i)\in\mathcal{{{L}}}}r_{ji}(k,s,v_{s},v_{s+1},p)-\sum_{j:(i,j)\in\mathcal{{{L}}}}r_{ij}(k,s,v_{s},v_{s+1},p)=
r(k,s,vs,vs+1,p),\displaystyle-r(k,s,v_{s},v_{s+1},p), ifi=vs;i=v_{s}; (11)
0,\displaystyle 0, ifivs,vs+1;i\neq v_{s},~{}v_{s+1}; (12)
r(k,s,vs,vs+1,p),\displaystyle r(k,s,v_{s},v_{s+1},p), ifi=vs+1;i=v_{s+1}; (13)
j:(j,i)zji(k,s,vs,vs+1,p)j:(i,j)zij(k,s,vs,vs+1,p)=\sum_{j:(j,i)\in\mathcal{{{L}}}}z_{ji}(k,s,v_{s},v_{s+1},p)-\sum_{j:(i,j)\in\mathcal{{{L}}}}z_{ij}(k,s,v_{s},v_{s+1},p)=
xvs,s(k)xvs+1,s+1(k),\displaystyle-x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k), ifi=vs;i=v_{s}; (14)
0,\displaystyle 0, ifivs,vs+1;i\neq v_{s},~{}v_{s+1}; (15)
xvs,s(k)xvs+1,s+1(k)\displaystyle x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k) ifi=vs+1i=v_{s+1}. (16)

First, note that constraints (11), (12), and (13) are flow conservation constraints for the data rate. Second, we need another three flow conservation constraints (14), (15), and (16). To be more precise, for each pair of cloud nodes vsv_{s} and vs+1v_{s+1}, considering constraints (14), (15), and (16), we only need to look at the case that xvs,s(k)=1x_{v_{s},s}(k)=1 and xvs+1,s+1(k)=1x_{v_{s+1},s+1}(k)=1 since otherwise from constraint (8), all the variables zij(k,s,vs,vs+1,p)z_{ij}(k,s,v_{s},v_{s+1},p) in (14), (15), and (16) must be equal to zero. Constraint (15) enforces that for every node that does not host functions fskf_{s}^{k} and fs+1kf_{s+1}^{k}, if one of its incoming links is used to route the flow from node vsv_{s} to node vs+1v_{s+1} on path pp, then one of its outgoing links is also assigned for this path. Similarly, constraints (14) and (16) imply that, if function fskf_{s}^{k} is hosted at node vsv_{s}, one of the outgoing links of node vsv_{s} must be assigned for path pp and, if function fs+1kf_{s+1}^{k} is hosted at node vs+1v_{s+1}, one of the incoming links of node vs+1v_{s+1} must be assigned for path pp, respectively.

II-F E2E Latency Constraints

Next, we consider the delay constraints. Let θ(k,s,s+1)\theta(k,s,{s+1}) be the variable denoting the communication delay due to the traffic flow from the cloud node hosting function fskf^{k}_{s} to the cloud node hosting function fs+1kf^{k}_{s+1}. Then, θ(k,s,s+1)\theta(k,s,{s+1}) should be the largest one among the PP paths, i.e.,

θ(k,s,s+1)vs,vs+1𝒱(i,j)dijzij(k,s,vs,vs+1,p),\displaystyle\theta(k,s,{s+1})\geq\sum_{v_{s},v_{s+1}\in\mathcal{{{V}}}}\sum_{(i,j)\in\mathcal{L}}d_{ij}z_{ij}(k,s,v_{s},v_{s+1},p),
p𝒫,k𝒦,s(k){0}.\displaystyle\qquad\qquad\forall~{}p\in\mathcal{P},~{}\forall~{}k\in\mathcal{K},~{}\forall~{}s\in\mathcal{F}(k)\cup\{0\}. (17)

Hence the total communication delay on the links of flow kk, denoted as ΘL(k)\Theta_{L}(k), can be written as

ΘL(k)=s(k){0}θ(k,s,s+1),k𝒦.\Theta_{L}(k)=\sum_{s\in\mathcal{F}(k)\cup\{0\}}\theta(k,s,{s+1}),~{}\forall~{}k\in\mathcal{K}. (18)

Now for each flow kk, we consider the total NFV delay on the nodes, denoted as ΘN(k)\Theta_{N}(k). This can be written as

ΘN(k)=s(k)v𝒱dv,s(k)xv,s(k),k𝒦.\Theta_{N}(k)=\sum_{s\in\mathcal{F}(k)}\sum_{v\in\mathcal{{V}}}d_{v,s}(k)x_{v,s}(k),~{}\forall~{}k\in\mathcal{K}. (19)

The E2E delay of flow kk is the sum of total communication delay ΘL(k)\Theta_{L}(k) and total NFV delay ΘN(k)\Theta_{N}(k). The following delay constraint ensures that flow kk’s E2E delay is less than or equal to its threshold Θk\Theta_{k}:

ΘL(k)+ΘN(k)Θk,k𝒦.\Theta_{L}(k)+\Theta_{N}(k)\leq\Theta_{k},~{}\forall~{}k\in\mathcal{K}. (20)

II-G A New MBLP Formulation

The power consumption of a cloud node is the combination of the dynamic load-dependent power consumption (that increases linearly with the load) and the static power consumption [12]. Our objective is to minimize the total power consumption of the whole network:

v𝒱[β1yv+Δk𝒦s(k)λs(k)xv,s(k)]+v𝒱β2(1yv).\displaystyle\sum_{v\in\mathcal{V}}\left[\beta_{1}y_{v}+{\Delta}\sum_{k\in\mathcal{K}}\sum_{s\in\mathcal{F}(k)}\lambda_{s}(k)x_{v,s}(k)\right]+\sum_{v\in\mathcal{V}}\beta_{2}(1-y_{v}).

In the above, the parameters β1\beta_{1} and β2\beta_{2} are the power consumptions of each activated cloud node and inactivated cloud node, respectively, satisfying β1>β2\beta_{1}>\beta_{2}; the parameter Δ\Delta is the power consumption of processing one unit of data rate. From (4), the above objective function can be simplified as (β1β2)v𝒱yv+c,(\beta_{1}-\beta_{2})\sum_{v\in\mathcal{V}}y_{v}+c, where c=β2|𝒱|+Δk𝒦s(k)λs(k)c=\beta_{2}|\mathcal{V}|+{\Delta}\sum_{k\in\mathcal{K}}\sum_{s\in\mathcal{F}(k)}\lambda_{s}(k) is a constant. Hence, minimizing the total power consumption is equivalent to minimizing the total number of activated cloud nodes. Based on the above analysis, we obtain the following problem formulation:

min𝒙,𝒚,𝒛,𝒓,𝜽\displaystyle\min_{\bm{x},\bm{y},\bm{z},\bm{r},\bm{\theta}} v𝒱yv,s.t.\displaystyle\sum_{v\in\mathcal{V}}y_{v},~{}~{}~{}~{}~{}{\text{s.t.~{}}} (3)(20).\displaystyle(\ref{key})-(\ref{delayconstraint}). (21)

II-H Analysis Results of Problem (21)

We now present some analysis results of problem (21) (without proofs due to the space reason). First, problem (21) is a MBLP (with both numbers of binary variables and linear constraints being 𝒪(|𝒱|2|||𝒫|k𝒦k){\cal O}({|\mathcal{V}|}^{2}|\mathcal{L}||\mathcal{P}|\sum_{k\in\mathcal{K}}\ell_{k})) since the bilinear terms of binary variables xvs,s(k)xvs+1,s+1(k)x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k) in (7), (8), (15), and (16) can be equivalently linearized. More specifically, we can replace the bilinear term xvs,s(k)xvs+1,s+1(k)x_{v_{s},s}(k)x_{v_{s+1},{s+1}}(k) by introducing an auxiliary binary variable ωvs,vs+1(k)\omega_{v_{s},v_{s+1}}(k) and add the following linear constraints: ωvs,vs+1(k)xvs,s(k)\omega_{v_{s},v_{s+1}}(k)\leq x_{v_{s},s}(k), ωvs,vs+1(k)xvs+1,s+1(k)\omega_{v_{s},v_{s+1}}(k)\leq x_{v_{s+1},{s+1}}(k), and ωvs,vs+1(k)xvs,s(k)+xvs+1,s+1(k)1\omega_{v_{s},v_{s+1}}(k)\geq x_{v_{s},s}(k)+x_{v_{s+1},{s+1}}(k)-1. Note that the linearity of all variables in problem (21) is vital, which allows to leverage the efficient integer programming solver such as Gurobi [11] to solve the problem to global optimality. Second, problem (21) is strongly NP-hard. Therefore, the above approach can only solve problem (21) associated with small size networks. In future works, we shall develop polynomial-time heuristic algorithms for solving problem (21) to achieve the tradeoff between the performance and time complexity. Third, if we set P=1P=1 in (21), then our proposed formulation reduces to that in [9]. In particular, the variables 𝒓ij\bm{r}_{ij} in (10) can be replaced by those in the right-hand side of (9) and all constraints related to the variables 𝒓\bm{r} (e.g., (7), (9), (11), (12), (13)) can be removed. Our proposed formulation with P>1P>1 allows the traffic flows to transmit over possibly multiple paths and fully exploits the flexibility of traffic routing.

III Numerical Results

In this section, we present numerical results to illustrate the effectiveness of the proposed formulation.

III-A An Illustrative Example

In this subsection, we show the performance of the proposed formulation by using an illustrative example.

ABC(4)DE(2,1)(2,1)(2,1)(2,1)(2,1)(4,1)(2,1)(4)Cloud nodes
Figure 1: A toy network example where the pair (a,b)(a,b) over each link denotes the link capacity aa and the communication delay bb and the value cc inside the parentheses at each cloud node denotes the node capacity cc.

Consider the example in Fig. 1. There are two different functions available, i.e., f1f^{1} and f2f^{2}. Cloud node C can only process function f2f^{2}, while cloud node E can process both functions f1f^{1} and f2f^{2}. Suppose there are two services where service I is from node A to node D with the E2E delay threshold Θ1=4\Theta_{1}=4 and service II is from node A to node B with the E2E delay threshold Θ2=3\Theta_{2}=3. Functions f1f^{1} and f2f^{2} need to be processed for services I and II, respectively; for each service kk, the service function rates λ0(k)\lambda_{0}(k) and λ1(k)\lambda_{1}(k) are 11; the NFV delays of both functions at (possible) cloud node C and cloud node E are 11. Solving problem (21) with P=2P=2 gives the following solution: Service I:ABE (providing function f1)D,Service II:AC (providing function f2)B.\begin{array}[]{l}\text{Service I}:\text{A}\rightarrow\text{B}\rightarrow\text{E~{}{(providing function $f^{1}$)}}\rightarrow\text{D},\\ \text{Service II}:\text{A}\rightarrow\text{C~{}{(providing function $f^{2}$)}}\rightarrow\text{B}.\end{array}
Note that since the communication delay on each link (i,j)(i,j) is dij=1d_{ij}=1 (as shown in Fig. 1), and the NFV delay of each function is 11 at cloud node C or cloud node E, the E2E delays of service I and service II in the above solution are 44 and 33, respectively, which satisfy the E2E latency requirements of both services.

Now, consider the case that where there is no E2E latency constraints, i.e., removing constraints (17)-(20) from problem (21). Notice that this reduces to the formulation considered in [4]. Since the objective is to minimize the number of activated cloud nodes, the obtained solution is that both functions are processed by cloud node E:
Service I:ABE (providing function f1)D,Service II:ACE (providing function f2)DB.\begin{array}[]{l}\text{Service I}:\text{A}\rightarrow\text{B}\rightarrow\text{E~{}{(providing function $f^{1}$)}}\rightarrow\text{D},\\ \text{Service II}:\text{A}\rightarrow\text{C}\rightarrow\text{E~{}{(providing function $f^{2}$)}}\rightarrow\text{D}\rightarrow\text{B}.\\ \end{array}
For service II, it traverses 44 links from node A to node B with a communication delay being 44, which, pluses the NFV delay 11, obviously violates its E2E latency constraint.

Next, suppose that there is only one service from node A to node D with the E2E delay threshold being Θ1=4\Theta_{1}=4. The considered service contains function f1f^{1} and both of the service function rates λ0(1)\lambda_{0}(1) and λ1(1)\lambda_{1}(1) are 44. If only a single path is allowed to transmit the traffic flow as in [9], no solution exists for this example due to the limited link capacity. However, in sharp contrast, using our formulation (21) with P=2P=2, the traffic flow can be flexibly transmitted on multiple paths, which gives us a feasible solution as follows: first use paths ABE\text{A}\rightarrow\text{B}\rightarrow\text{E} and ACE\text{A}\rightarrow\text{C}\rightarrow\text{E} to route the flow from A to E where the data rates on both paths are 22; after function f1f^{1} being processed by cloud node E, route the flow to the destination node D using the link ED\text{E}\rightarrow\text{D}. This toy example clearly shows the benefit of flexible routing in our proposed formulation (21), i.e., it has a lower requirement on the link capacities of the network to support the services.

III-B Simulation Results

In this subsection, we present more simulation results to illustrate the effectiveness of the proposed formulation compared to those in [4] and [9].

We randomly generate a network consisting of 66 nodes on a 100×100100\times 100 region in the Euclidean plane including 33 cloud nodes. We generate link (i,j)(i,j) for each pair of nodes ii and jj with the probability of 0.60.6. The communication delay on link (i,j)(i,j) is calculated by the distance of link (i,j)(i,j) over d¯\bar{d}, where d¯\bar{d} is the average length of all shortest paths between every pair of nodes. The cloud node and link capacities are randomly chosen in [6,12][6,12] and [0.5,3.5][0.5,3.5], respectively. There are in total 55 different service functions: {f1,,f5}\{f^{1},\ldots,f^{5}\}. Among the 33 cloud nodes, 22 cloud nodes are randomly chosen to process 22 service functions of {f1,,f5}\{f^{1},\ldots,f^{5}\} and the remaining one is chosen to process all the service functions. The processing delay of each function in each cloud node is randomly chosen in [0.8,1.2][0.8,1.2]. For each service kk, nodes S(k)S(k) and D(k)D(k) are randomly chosen from the available network nodes excluding the cloud nodes; SFC (k)\mathcal{F}(k) is an ordered sequence of functions randomly chosen from {f1,,f5}\{f^{1},\ldots,f^{5}\} with |(k)=3||\mathcal{F}(k)=3|; the service function rates λs(k)\lambda_{s}(k) are all set to 11; and the E2E delay threshold Θk\Theta_{k} is set to 3+(6distk/d¯+α)3+(6*\text{dist}_{k}/\bar{d}+\alpha) where distk\text{dist}_{k} is the length of the shortest path between nodes S(k)S(k) and D(k)D(k) and α\alpha is randomly chosen in [0,2][0,2]. The above parameters are carefully chosen such that the constraints of problem (21) are neither too tight nor too loose.

In our simulations, we randomly generate 100 problem instances for each fixed number of services and the results presented below are based on statistics from all these 100 instances. In problem (21), we choose P=2P=2. We use Gurobi 9.0.1 [11] to solve all MBLP problems.

Refer to caption
Figure 2: Number of feasible problem instances.

Since the formulation in [4] does not explicitly take the latency constraints into consideration, the blue curve in Fig. (2) is obtained as follows. We solve the formulation in [4] by changing its objective into minimizing the number of activated cloud nodes and then substitute the obtained solution into the latency constraints in (20): if the solution satisfies all latency constraints, we count the corresponding problem instance feasible; otherwise it is infeasible. We can see from Fig. 2 that the number of feasible problem instances of solving our proposed formulation (21) is significantly larger than that of solving the formulation in [4]. This clearly shows the advantage of our proposed formulation (i.e., it has a guaranteed E2E Latency) over that in [4]. In addition, the flexibility of traffic routing in our proposed formulation (21) enables it to also solve a larger number of problem instances than that can be solved by using the formulation in [9]. These results further illustrate the effectiveness of our proposed formulation (21) (as compared to those in [4] and [9]).

Refer to caption
Refer to caption
Figure 3: Left: the number of activated cloud nodes; Right: the average total, NFV, and communication delays.

We now show the performance of problem (21) versus the number of services. Fig. 3 is obtained by averaging the results over all feasible problem instances. We can observe from Fig. 3 that: as the number of services increases, more cloud nodes need to be activated; the average NFV delay almost keeps unchanged. The later is due to the fact that the number of functions in all services is fixed (to be 3) and the difference of NFV delays on different cloud nodes is small. However, the average communication delay (and the average total delay) increases rapidly. This is mainly due to the limited link capacity. More specifically, as the network traffic gets heavier, a traffic flow may use a path with a larger communication delay as some link’s capacity (in a path with a smaller communication delay) is not enough for the data rate.

IV Conclusions

In this paper, we have investigated the network slicing problem that plays a crucial role in 5G and B5G networks. We have proposed a new MBLP formulation for the network slicing problem, which can be optimally solved by the standard solvers like Gurobi. Our proposed formulation minimizes the total power consumption of the whole network (equivalent to the total number of activated cloud nodes) subject to the SFC constraints and the E2E latency constraints of all services and all cloud nodes’ and links’ capacity constraints. Numerical results demonstrate the advantage of our proposed formulation over the existing ones in [4] and [9].

References

  • [1] R. Mijumbi, J. Serrat, J.-L. Gorricho, N. Bouten, et al., “Network function virtualization: State-of-the-art and research challenges,” IEEE Commun. Surveys Tuts., vol. 18, no. 1, pp. 236-262, 2016.
  • [2] Y. Zhang, N. Beheshti, L. Beliveau, G. Lefebvre, et al., “StEERING: A software-defined networking for inline service chaining,” in Proc. 21st IEEE Int. Conf. Netw. Protocols (ICNP), 2013, pp. 1-10.
  • [3] G. Mirjalily and Z.-Q. Luo, “Optimal network function virtualization and service function chaining: A survey,” Chin. J. Electron., vol. 27, no. 4, pp. 704-717, 2018.
  • [4] N. Zhang, Y.-F. Liu, H. Farmanbar, T.-H. Chang, et al., “Network slicing for service-oriented networks under resource constraints,” IEEE J. Sel. Areas Commun., vol. 35, no. 11, pp. 2512-2521, 2017.
  • [5] N. Zhang, Y.-F. Liu, H. Farmanbar, T.-H. Chang, et al., “System and method for network slicing for service-oriented networks,” US Patent App. 16/557,169, 2019.
  • [6] A. De Domenico, Y.-F. Liu, and W. Yu, “Optimal computational resource allocation and network slicing deployment in 5G hybrid C-RAN,” in Proc. IEEE Int. Conf. Commun., 2019, pp. 1-6.
  • [7] J. W. Jiang, T. Lan, S. Ha, M. Chen, et al., “Joint VM placement and routing for data center traffic engineering,” in Proc. IEEE INFOCOM, 2012, pp. 2876-2880.
  • [8] B. Addis, D. Belabed, M. Bouet, and S. Secci, “Virtual network functions placement and routing optimization,” in Proc. IEEE 4th Int. Conf. Cloud Netw. (CloudNet), 2015, pp. 171-177.
  • [9] Y. T. Woldeyohannes, A. Mohammadkhan, K. K. Ramakrishnan, and Y. Jiang, “ClusPR: Balancing multiple objectives at scale for NFV resource allocation,” IEEE Trans. Netw. Service Manag., vol. 15, no. 4, pp. 1307-1321, 2018.
  • [10] M. Charikar, Y. Naamad, J. Rexford, and X. K. Zou, “Multi-commodity flow with in-network processing,” in Proc. Int. Symp. Algorithmic Aspects Cloud Comput. (ALGOCLOUD), 2018, pp. 73-101.
  • [11] Gurobi Optimization, “Gurobi optimizer reference manual,” 2019. [Online]. Available: http://gurobi.com
  • [12] 3GPP TSG SA5, “TR 32.972, Telecommunication management, Study on system and functional aspects of energy efficiency in 5G networks,” Release 16, V. 16.1.0, 2019.