1. Introduction
The traditional deployment mode for network services is based on dedicated hardware. However, it has problems such as the high cost of replacing network devices, long deployment cycles of new network services and low resource utilization rate. The rapid development of network services has considerably increased the problems existing on the traditional deployment mode [1]. The emergence of network function virtualization (NFV) solves the problems existing on the current network service mode. The network services are software-based, and the software is deployed on the universal hardware. Users can flexibly and efficiently rent services on demand. Here, sub-service functions run as software, and the software in turn runs on general hardware devices. Virtual network functions (VNFs) are embedded in the software. This new approach to service function chain (SFC) deployment faces many new challenges with respect to resource allocation and reconstruction [2][3][4][5]. Herein, we focus on network traffic prediction in an NFV environment to guarantee a low frequency of passive migration and sacrifice some energy consumption.
Frequent migration in an NFV environment occurs by ignoring network traffic changes when the flow rate of network traffic is large. However, a small flow rate of network traffic can lead to unnecessary energy consumption due to low node usage. The usual solution is to divide each day into multiple time slices. It obtains the resource demand according to the peak network traffic in each time slice, and actively performs migration before each time slice starts [6][7][8][9]. One fundamental problem is to predict the peak network traffic for the next time slice [10]. If the prediction value of network traffic is higher than the real value, there will be excess energy consumption; otherwise, it may lead to passive migration within the time slice. To reduce the unpredictable passive migration within the time slice, we amplify the prediction value of the network traffic to a certain extent. To reduce energy consumption, the amplification coefficient of the predicted value should not be too high. Therefore, how to predict the network traffic for the next time slice becomes one crucial problem in the NFV environment.
For this paper, the main contributions are as follows:
(1) We believe that dynamic scaling needs to be considered in NFV to meet Quality of Service. According to the characteristics of network, dynamic and adaptive techniques are needed to improve the performance of resource management methods. Before allocating network traffic, we need to estimate network traffic and set the estimated value to a larger size to reduce migration times and ensure service quality.
(2) According to the above reasons, we design a network traffic prediction method called LO-LSTM. It elastically amplifies network traffic to reduce the passive migration and sacrifice the energy consumption as little as possible.
(3) We have implemented LO-LSTM and presented extensive evaluations. Experiments with the changing network loads show that LO-LSTM substantially reduces passive migration, and energy consumption can be sacrificed according to pre-set weight parameters to optimize the overall goal.
2. Related Research
Network traffic trends have been characterized by time series [11][12][13][14]. Network traffic prediction uses time series for modelling and analysis. The network traffic prediction model can be divided into stationary and non-stationary categories.
The stationary model can be divided into two types, i.e. the short correlation and long correlation models. Short correlation models include the Poisson model, Markov model [15] and auto-regressive moving average model (ARMA model). Long correlation models include the fractional difference auto-regressive moving average model (FARMA model). The above stationary traffic model lays a solid foundation for network traffic prediction. However, owing to the sudden and uneven network traffic distribution, accurately describing the characteristics of network traffic changes using a single stationary model is difficult.
With the development of machine learning (ML) technologies, boosting, support vector machine (SVM) and other ML methods have gradually been applied to network traffic prediction. Furthermore, with the development of neural networks researchers frequently use back propagation and Elman neural networks to predict network traffic. Experimental results show that these methods effectively improve the accuracy of network traffic prediction compared with traditional methods. Azzouni et al. proposed a LSTM recurrent neural network model [16], which considers the time correlation between network traffic and historical data to predict network traffic. The above research laid a solid foundation for network traffic prediction. However, all these methods work in the traditional network environment. When applied to the NFV environment, the problems of VNF migration caused by unpredictable network traffic still arise.
Recently, network traffic and cloud resource prediction methodologies have been proposed in the NFV environment. Tang et al. [17] proposed a network traffic prediction method for scaling resources in NFV environment using network traffic modelling with an ARMA process. The predicted network traffic values were obtained by minimizing the loss. Some solutions are based on time series forecasting with LSTM recurring neural networks [18], predicting host load in cloud infrastructures. The study by Rahman [19] was based on ML classification procedures, and the classification objective was to minimize operational cost and QoS degradation. Vincenzo Eramo et al. [20] proposed a solution for NFV environments resource orchestration in which the different values of the over-provisioning and under-provisioning cost was considered. Liu et al. [21] proposed a complete stateful scaling system that efficiently reduces flow-level latency and achieves near-optimal resource usage to deal with time-varying loads in NFV environment. Mahsa Moradi et al. [22] analyzed and compared three algorithms of machine learning.
The main contribution of our work is to propose a network traffic prediction technique. The technique is aware of the difficulty in accurately predicting traffic, therefore it employs high network traffic prediction values to reduce passive migration. We minimize the probability of insufficient resource allocation by increasing the predicted traffic value to a certain extent. This objective is achieved by minimizing an asymmetric loss function, and the loss function is characterized by considering the penalties for over-provisioning and under-provisioning and making the loss value increase faster for under-provisioning.
3. Problem Statement
3.1 Problem Description
In the NFV environment, users request resources based on their requirements, service providers construct service function chains (SFCs) for users based on their requirements and the substrate network status according to predefined rules and policies. Each sub-service requires certain resources. The dynamic change in network traffic produces a constant change in resource demands [23][24][25]. An increase in network traffic increases the resource demand for SFC. When the substrate network cannot carry the network load, VNFs migrate to ensure QoS. Similarly, a decrease in network traffic decreases resource demands. When the resource utilization of the physical node is low, service providers migrate VNFs and shut down nodes for energy saving.
VNFs migrate passively when the available resources cannot feed the VNFs or the end-to-end delay exceeds the delay boundary, leading to unpredictable network status changes and end-to-end delays. We should predict network traffic in advance and actively migrate VNF to reduce the passive migration.
3.2 Network Model
1. Substrate Network
We represent the substrate network as a graph (Ne, Le) including NFV enabled nodes Ne and physical links Le . Each physical node nie ∈ Ne has properties such as processing capacity CPU(nie). Each physical link lie = (nie, ni+1e) (lie ∈ Le , nie ∈ Ne and ni+1e ∈ Ne) has attributes such as link bandwidth BW (lie).
2. SFC Request
A set of SFC requests is defined as Rq . Each SFC t ( t ∈ Rq) can communicate through the service path. Each SFC t has a source node i(t), a destination node o(t), and a sequence of VNF nodes Nv(t) . The end-to-end delay of SFC t cannot exceed the delay boundary δ(t). SFC t has a set of virtual links Lv(t) , including the virtual link between the source node i(t) and the first VNF, the virtual link between the previous VNF and the subsequent VNF, and the virtual link between the last VNF and the destination node o(t).
3. Resource Demand
Network traffic rreal changes dynamically with time. The greater the network traffic, the greater the resource requirements [23][24][25].
The CPU requirement is approximately linearly correlated with network traffic [23] [24] [25]. Define CPU demand as (1):
Re qCPUreal(niv) = rratio ⋅ Re qCPU(niv) (1)
Where Re qCPUreal(niv) is the CPU requirement of VNF niv under the current traffic; Re qCPU(niv) is the CPU requirement of VNF niv under the baseline traffic; rratio is the amplification factor.
Define rratio as follows:
\(\begin{aligned}r^{\text {ratio }}=\frac{r^{\text {real }}}{r_{0}}\end{aligned}\) (2)
Where r0 is the baseline traffic, we set the baseline traffic based on initial resource requirement; rreal is the current network traffic.
Bandwidth requirement ReqBWreal(t) of SFC t is approximately linearly correlated with amplification factor rratio [23][24][25]:
ReqBWreal(t) = rratio · ReqBW(t) (3)
Where ReqBW (t) is the bandwidth requirement under the baseline traffic.
4. Latency
End-to-end latency is also related to network traffic, and the larger the network traffic load, the longer the latency [26][27]. The latency is approximately linearly related to the network traffic amplification factor.
5. Energy Consumption
Both nodes and links consume energy. As the energy consumption of link is relatively small, we only consider the energy consumption of node [28]. Node energy consumption is approximately linearly correlated with CPU utilization [29].
PW (nie) = pmin + (pmax − pmin)⋅CPUutil(nie) (4)
Where pmin is the minimum node energy consumption, and pmax is the peak value of node energy consumption, CPUutil(nie) is the CPU utilization of node nie .
3.3 Optimization Objective
The migration should satisfy constraints 1~4, and take energy-saving, passive migration reducing, and migration failure reducing as optimization objectives. Define the general objective as follows:
Minimize (η1 ⋅ ∆PW _ running(Tq)+η2 ⋅ NF _ migrate(Tq)+η3 ⋅ Fail _ migrate(Tq)) (5)
Where η1 , η2 , and η3 are constant coefficients, ∆PW _ running(Tq) is the difference between the assigned and required energy in time slice Tq .
The number of passive migration NF _ migrate (Tq) is shown in (6):
\(\begin{aligned}N F_{-}{\text {migrate }}\left(T_{q}\right)=\sum_{t \in R_{q}} \sum_{n_{i}^{v} \in N_{v}(t)} \sum_{n_{j}^{e} \in N_{e}} \sum_{n_{k}^{e} \in N_{e}} Y\left(T_{q}, t\right) \cdot Z\left(t, n_{i}^{v}, n_{j}^{e}, n_{k}^{e}\right)\end{aligned}\) (6)
Where Y(Tq, t) is 1 when SFC t migrates within time slice Tq , otherwise, it is 0. Z (t, niv, nje, nke) is 1 when VNF niv in SFC t migrates from physical node nje to physical node nke ; otherwise, it is 0.
The number of passive migration failures Fail _ migrate(Tq) is shown in (7):
\(\begin{aligned} Fail{\_} migrate(T_{q})=\sum_{t \in R_{q}} Y\left(T_{q}, t\right) \cdot F\left(T_{q}, t\right)\end{aligned}\) (7)
Where F(Tq, t) is 1 when the migration fails within time slice Tq ; otherwise, it is 0. All constraints are described as follows:
Constraint 1: each VNF niv in SFC t is only embedded on one physical node.
\(\begin{aligned}\begin{array}{c}\forall t \in R_{q}, \forall n_{i}^{v} \in N_{v}(t) \\ \sum_{n_{j}^{e} \in N_{e}} X\left(t, n_{i}^{v}, n_{j}^{e}\right)=1\end{array}\end{aligned}\) (8)
Where X(t, njv, nie) is 1 when VNF njv in SFC t is mapped to physical node nie ; Otherwise, X(t, njv, nie) is 0.
Constraint 2: the CPU usage cannot exceed its capacity.
\(\begin{aligned}\begin{array}{l}\forall n_{j}^{e} \in N_{e} \\ \sum_{t \in R_{q}} \sum_{n_{i}^{v} \in N_{v}(t)} \operatorname{Re} q C P U\left(n_{i}^{v}\right) \cdot X\left(t, n_{i}^{v}, n_{j}^{e}\right) \leq C P U\left(n_{j}^{e}\right)\end{array}\end{aligned}\) (9)
Where CPU(nje) is the CPU capacity of physical node nje .
Constraint 3: the bandwidth usage cannot exceed its capacity.
\(\begin{aligned}\begin{array}{l}\forall l_{j}^{e} \in L_{e} \\ \sum_{t \in R_{q}} \sum_{l_{i}^{v} \in L_{v}(t)} \operatorname{Re} q B W(t) \cdot Z\left(t, l_{i}^{v}, l_{j}^{e}\right) \leq B W\left(l_{j}^{e}\right)\end{array}\end{aligned}\) (10)
Where BW(lje) is the bandwidth capacity of physical link lje ; ReqBW(t) is the bandwidth demand for SFC t ; Z(t, liv, lje) is 1 when virtual link liv in SFC t is mapped to physical link lje ; otherwise, it is 0.
Constraint 4: the end to end latency of each SFC cannot exceed the latency boundary δ(t).
∀t ∈ Rq
D(t) ≤ δ(t) (11)
Where D(t) is the end to end delay of SFC t .
4. Network Traffic Prediction
We divide one day into many time slices, and predict the peak network traffic for the next time slice. To reduce the probability of passive migration within the time slice, we amplify the prediction value. In addition, to reduce energy consumption, the amplification value should not be too large. To learn the changing rules of network traffic and the interdependence between adjacent time slices, we propose a network traffic prediction method based on LSTM.
4.1 LSTM Model
Set up L intervals and perform active VNF migration when time slices alternate. The neural network architecture based on LSTM is shown in Fig. 1.
Fig. 1. Neural network architecture based on LSTM
Each part is described as follows:
i) Input
Each input INPUTqi includes four components:
● the actual peak value of network traffic rqi−1 in time slice Tq on day Di−1
● the actual peak value of network traffic rqi−2 in time slice Tq on day Di−2
● the actual peak value of network traffic rqi−7 in time slice Tq on day Di−7
● the actual peak value of network traffic rq-1i in time slice Tq−1 on day Di
ii) Encoding Block
The encoding block can standardize the input data, as shown in (12):
\(\begin{aligned}r_{-} \operatorname{nor}_{q}^{i}=\frac{r_{q}^{i}-\text { mean }}{s t d}\end{aligned}\) (12)
Where std is the standard deviation, mean is the average value.
iii) Dense Layer
The output dimension of LSTM is the same as LSTM units. We use the dense layer to convert the output dimension into the required size.
iv) Denormalization Block
This module performs denormalization as shown in (13):
rqi = r _ norqi ⋅ std + mean (13)
v) Output
The output value is the peak value of network traffic rqi in time slice Tq on day Di .
vi) LSTM layers
The more layers, the stronger the learning ability. However, if the LSTM has too many layers, it is easy to over-fit. Generally, the neural network has no more than three layers.
4.2 Optimization of Loss Function
We optimize the loss function for LSTM, which is called LO-LSTM. The optimization objectives include energy-saving, reducing passive migration and migration failure. We should take these factors into account to calculate the loss.
1. Calculation of Loss
When the predicted value is higher than the real value, the loss value is only related to energy consumption. Otherwise, it is only associated with migration frequency and mapping failures. Therefore, we calculate loss as follows:
lossqi = η1 ⋅ ∆PW _ running(Tq) ⋅ I(opq − rq) + (η2 ⋅ NF _ migrate(Tq) + η3 ⋅ Fail _ migrate(Tq)) ⋅ I(rq − opq) (14)
Where I(x) = 0 when x < 0 ; and I(x) = 1 when x > 0 .
2. Loss of Energy Consumption
∆PW _ running(Tq) is the difference between predicted value and actual value of energy consumption in time slice Tq , and we use the predicted value to reallocate resources. It can be calculated as follows:
\(\begin{aligned}\begin{array}{l}\Delta P W_{-} \text {running }\left(T_{q}\right) \\ =P W_{-} \operatorname{assign}\left(T_{q}\right)-P W_{-} \text {request }\left(T_{q}\right) \\ =\left(t_{1}-t_{0}\right) \cdot \sum_{n_{i}^{e} \in N_{e}} P W\left(n_{i}^{e}\right)-\left(t_{1}-t_{0}\right) \cdot \sum_{n_{i}^{e} \in N_{e}} P W^{\prime}\left(n_{i}^{e}\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}}\left(p_{\min }+\left(p_{\max }-p_{\min }\right) \cdot C P U u t i l\left(n_{i}^{e}\right)\right)-\sum_{n_{i}^{e} \in N_{e}}\left(p_{\min }+\left(p_{\max }-p_{\min }\right) \cdot C P U u t i l^{\prime}\left(n_{i}^{e}\right)\right)\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} C P U u t i l\left(n_{i}^{e}\right)-\sum_{n_{i}^{e} \in N_{e}} C P U u t i l^{\prime}\left(n_{i}^{e}\right)\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{C P U^{\text {assign }}\left(n_{i}^{e}\right)}{C P U\left(n_{i}^{e}\right)}-\sum_{n_{i}^{e} \in N_{e}} \frac{C P U^{\text {request }}\left(n_{i}^{e}\right)}{C P U\left(n_{i}^{e}\right)}\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\left(C P U^{\text {assign }}\left(n_{i}^{e}\right)-C P U^{\text {request }}\left(n_{i}^{e}\right)\right)}{C P U\left(n_{i}^{e}\right)}\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right)\end{array}\\ \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\left(\sum_{t \in R_{q}} \sum_{n_{j}^{v} \in N_{v}(t)} \operatorname{Re} q C P U^{a s s i g n}\left(n_{j}^{v}\right) \cdot X\left(t, n_{j}^{v}, n_{i}^{e}\right)-\sum_{t \in R_{q} n_{j}^{v} \in N_{v}(t)} \operatorname{Re} q C P U^{\text {request }}\left(n_{j}^{v}\right) \cdot X\left(t, n_{j}^{v}, n_{i}^{e}\right)\right)}{C P U\left(n_{i}^{e}\right)}\right)\\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \\ \begin{array}{l}\cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\left(\sum_{t \in R_{q}} \sum_{n_{j}^{v} \in N_{v}(t)} \text { ratio_assign }_{q}^{i} \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right) \cdot X\left(t, n_{j}^{v}, n_{i}^{e}\right)-\sum_{t \in R_{q}} \sum_{n_{j}^{v} \in N_{v}(t)} \text { ratio_real }_{i}^{i} \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right) \cdot X\left(t, n_{j}^{v}, n_{i}^{e}\right)\right)}{C P U\left(n_{i}^{e}\right)}\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\sum_{t \in R_{q} n_{j}^{v} \in N_{v}(t)} X\left(t, n_{j}^{v}, n_{i}^{e}\right) \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right) \cdot\left(\text { ratio_assign }_{q}^{i}-\text { ratio_real }_{q}^{i}\right)}{\operatorname{CPU}\left(n_{i}^{e}\right)}\right) \\ =\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\text { ratio_assign }_{q}^{i}-\text { ratio_real }_{q}^{i}\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\sum_{t \in R_{q}} \sum_{n_{j}^{v} \in N_{v}(t)} X\left(t, n_{j}^{v}, n_{i}^{e}\right) \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right)}{C P U\left(n_{i}^{e}\right)}\right) \\\end{array}\end{aligned}\) (15)
Where t0 is the start of time slice Tq , and t1 is the end of time slice Tq ; CPUutil(nie) is the CPU utilization of physical node nie under predicted network traffic; CPUutil'(nie) is the CPU utilization of physical node nie under actual network traffic; CPUassign(nie) is the total CPU allocation on physical node nie ; CPUrequest(nie) is the total CPU requirement on physical node nie ; Re qCPUassign(njv) is the CPU allocation for VNF njv under forecasting network traffic; ReqCPUrequest(njv) is the CPU requirement of VNF njv under actual network traffic.
ratio _ accignqi is the amplification factor according to predicted network traffic :
\(\begin{aligned}\operatorname{ratio}_{-} \operatorname{assign}_{q}^{i}=\frac{r_{-} \operatorname{assign}_{q}^{i}}{r_{0}}\\\end{aligned}\) (16)
Where r _ assignqi is the predicted peak value of network traffic in time slice Tq of day Di .
ratio _ realqi is the amplification factor according to actual network traffic:
\(\begin{aligned}\text{ratio}_{-}\text{real}_{q}^{i}=\frac{r_{-} \text {real }_{q}^{i}}{r_{0}}\\\end{aligned}\) (17)
Where r _ realqi is the actual peak value of network traffic in time slice Tq of day Di .
Further, calculate ∆PW _ running(Tq) as follows:
ΔPW _ running(Tq)
\(\begin{aligned}\begin{array}{l}=\alpha_{1} \cdot\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot\left(\frac{\left(r \_a s s i g n_{q}^{i}-r_{-} r e a l_{q}^{i}\right)}{r_{0}}\right) \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\sum_{t \in R_{q} n_{j}^{v} \in N_{v}(t)} X\left(t, n_{j}^{v}, n_{i}^{e}\right) \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right)}{C P U\left(n_{i}^{e}\right)}\right) \\ =\alpha_{1} \cdot\left(t_{1}-t_{0}\right) \cdot\left(p_{\max }-p_{\min }\right) \cdot \frac{1}{r_{0}} \cdot\left(\sum_{n_{i}^{e} \in N_{e}} \frac{\sum_{t \in R_{q} n_{j}^{v} \in N_{v}(t)} X\left(t, n_{j}^{v}, n_{i}^{e}\right) \cdot \operatorname{Re} q C P U\left(n_{j}^{v}\right)}{\operatorname{CPU}\left(n_{i}^{e}\right)}\right) \cdot\left(r \_a s s i g n_{q}^{i}-r \_ \text {real } l_{q}^{i}\right)\end{array}\end{aligned}\) (18)
According to (18), ∆PW _ running(Tq) and (r _ assignqi − r _ realqi) are linearly dependent.
3. Loss of Migration
If the allocated resource is lower than the required resource, there will be more passive migration within the time slice. The greater the gap, the higher the frequency of passive migration. The growth rate (slope of the curve) of migration may be more prominent than the growth rate of energy consumption. Therefore, we define the loss of migration as shown in (19):
η2 ⋅ NF _ migrate(Tq) + η3 ⋅ Fail _ migrate(Tq) = θ ⋅ (r _ assignqi − r _ realqi)2 (19)
Where θ is a constant coefficient.
In summary, we define the loss as follows:
lossqi = γ ⋅ (rassign_max−rreal_max )⋅I(opq − rq) + θ ⋅ (rreal_max − rassign_max)2 ⋅ I(rq − opq) (20)
Where γ is constant coefficient, and the loss function is in time slice Tq on day Di .
4. Loss Function
We use mean square error (MSE) as the loss function:
\(\begin{aligned}\text{loss}_{-}\text{function}=\frac{1}{M \times L} \cdot \sum_{i=1}^{M} \sum_{q=1}^{L}\left(\operatorname{loss}_{q}^{i}\right)^{2}\\\end{aligned}\) (21)
Where M is the total number of days, and L is the total number of time slices in one day.
4.3 Algorithm Description
The training and the prediction process is shown below:
Table 1. Network traffic prediction algorithm based on LO-LSTM
In terms of complexity from bottom to top, considering Nite as the number of iterations, and Ntrain as the number of train data, the complexity of the train process is in the order of O(Nite ⋅ Ntrain). Considering Nvalidation as the number of validation data, the complexity of the validation process is in the order of O(Nite ⋅ Nvalidation) . Considering Ntest as the number of test data, the complexity of the predicting process is in the order of O(Ntest) .
5. Experimental Simulation and Analysis
5.1 Experimental Environment Setting
We performed the experiment in Python, created the LSTM neural network in Pytorch, and conducted it on a computer with Intel Core I5-8250U 1.8 ghz CPU and 8 GB memory. The star topology network structure is consistent with [30], containing ten servers, one switch, and ten links. The properties of each server node and physical link are shown in Table 2 below.
Table 2. Host and link Properties
We set up eight different types of VNF in the experiment, set resource requests for each VNF according to [30], and showed the VNF resource demand in Table 3. We randomly select many VNFs from the eight types of VNF to generate an SFC request. We generated six SFC requests in the experiment. To test the performance of the algorithm under different network loads, we changed the length of the SFC requests. The length of the time slice is one hour in the experiment.
Table 3. VNF Properties
In (20), γ and θ are constant coefficients. To increase the punishment for passive migration, they are set to 0.2 and 0.8 respectively. In (5), η1 , η2 , and η3 are constant coefficients. To increase the penalty for passive migration, they are set to 0.2, 0.3, and 0.5. In (4), we set pmin to 0.2, and set pmax to 0.8.
We adopted the Adam Optimizer algorithm for optimizing the iterative updating method of weight parameters. The main parameters of LSTM are shown in Table 4.
Table 4. Main parameters of LSTM
5.2 Contrast Algorithm
To evaluate the effectiveness of the method, we selected the original LSTM and the ABCNN-LSTM [21] as the comparison algorithms. Both of them compute loss with the difference between predicted value of network traffic and actual value of network traffic, without considering the operation of the NFV network.
5.3 Evaluation Index
The related methods are compared in the following five aspects:
① predicted value of network traffic;
② loss according to (21);
③ energy consumption increment. If the predicted value of network traffic is higher than the actual value, set the energy consumption increment to ∆PW _ running(Tq) ; otherwise, set it to 0.
④ number of passive migration according to (6);
⑤ number of migration failures according to (7).
5.4 Analysis of Experimental Results
We adjust the network load by changing the length of SFC, and compare three groups of experiments: ① the length of SFC is six, and the results are shown in Fig. 2; ② the length of SFC is three, and the results are shown in Fig. 3; ③ the length of SFC is a random value between two and six, and the results are given in Fig. 4.
Fig. 2. Experiment results when the length of SFC is six
Fig. 3. Experiment results when the length of SFC is three
Fig. 4. Experiment results when the length of SFC is between two and six
As shown in Fig. 2 (a), Fig. 3 (a), and Fig. 4 (a), predicted value of network traffic by the LO-LSTM algorithm is higher than other algorithms in general. The LO-LSTM algorithm computes loss function based on three aspects, including energy consumption, migration frequency, and migration failure, and it tends to amplify the predicted value in order to reduce migration.
As shown in Fig. 2 (b), Fig. 3 (b), and Fig. 4 (b), the value of the loss function drops rapidly during training and validating. Therefore, the three algorithms all have great convergence performance.
As shown in Fig. 2 (c), Fig. 3 (c), and Fig. 4 (c), the LO-LSTM algorithm has a higher energy consumption increment. The predicted value of the LO-LSTM is higher than other algorithms. Therefore, the energy consumption increment of the LO-LSTM algorithm is higher than other algorithms.
As shown in Fig. 2 (d), Fig. 3 (d), and Fig. 4 (d), the LO-LSTM algorithm has a lower passive migration frequency. The predicted value of network traffic is higher than the actual value, and it is less likely to occur passive migration within the time slice.
As shown in Fig. 2 (e), Fig. 3 (e), and Fig. 4 (e), the LO-LSTM algorithm has fewer passive migration failures within the time slice. The passive migration is less, which makes the migration failures fewer.
Fig. 2 (f), Fig. 3 (f), and Fig. 4 (f) show the weighted sum of all indices. The indices include energy consumption increment, the number of passive migration, the number of migration failures. We combine the multiple factors according to (5). As shown in the figures, the LO-LSTM algorithm performs better under different network loads.
6. Conclusion
We introduced LO-LSTM, an efficient network traffic prediction method to achieve migration reducing. We added factors including energy consumption and migration into the loss function of the LSTM model. We implemented LO-LSTM and evaluated it. Our experiment results show that LO-LSTM significantly achieves efficient passive migration reducing for VNFs. This paper provides an effective solution of network traffic prediction for migration reducing in NFV environment, which can give better quality of service.
In future research, we will try to solve the VNF online migration problem in the NFV environment, and reduce passive migration and save energy as far as possible.
Acknowledgement
The authors thank the editor and the anonymous reviewers for helpful comments and suggestions. The work was supported by the National Natural Science Foundation (NSFC) under grant (No. 61902361), Henan Provincial Department of Science and Technology (No. 222102210025, No. 222102210233).
References
- R. Mijumbi, J. Serrat, J. L. Gorricho, N. Bouten, F. D. Turck and R. Boutaba, "Network function virtualization: state-of-the-art and research challenges," IEEE Commun. Surv. Tutor., vol. 18, no. 1, pp. 236-262, First Quarter 2016. https://doi.org/10.1109/COMST.2015.2477041
- Fangyu Zhang, Hancheng Lu, Fengqian Guo, Zhoujia Gu, "Traffic Prediction Based VNF Migration with Temporal Convolutional Network," in Proc. of 2021 IEEE Global Communications Conference (GLOBECOM), Madrid, Spain, December 2021.
- Song Yang, Fan Li, Stojan Trajanovski, and Xiaoming Fu, "Traffic routing in stochastic network function virtualization networks," J. Netw. Comput. Appl., vol. 169, pp. 1-11, November 2020. https://doi.org/10.1016/j.jnca.2020.102765
- Mirna Awad, Nadjia Kara, and Claes Edstrom, "SLO-aware dynamic self-adaptation of resources," Future Gener. Comp. Sy., vol. 133, pp. 266-280, Augest 2022. https://doi.org/10.1016/j.future.2022.03.018
- TianZhang He, Adel N. Toosi, and Rajkumar Buyya, "SLA-aware multiple migration planning and scheduling in SDN-NFV-enabled clouds," J. Syst. Software, vol. 176, June 2021.
- Seyeon Jeong, Nguyen Van Tu, Jae-Hyoung Yoo and James Won-Ki Hong, "Proactive Live Migration for Virtual Network Functions using Machine Learning," in Proc. of Int. Conf. Netw. Serv. Manag.: Smart Manag. Future Networks Serv. (CNSM), Izmir, Turkey, October 2021.
- Fengsheng Wei, Shuang Qin, Gang Feng, Yao Sun, Jian Wang and Ying-Chang Liang, "Hybrid Model-Data Driven Network Slice Reconfiguration by Exploiting Prediction Interval and Robust Optimization," IEEE Trans. Netw. Serv. Manage., vol. 19, No. 2, pp. 1426-1441, June 2022. https://doi.org/10.1109/TNSM.2021.3138560
- Morteza Golkarifard, Carla Fabiana Chiasserini, Francesco Malandrino and Ali Movaghar, "Dynamic VNF placement, resource allocation and traffic routing in 5G," Comput. Networks, vol. 188, April 2021.
- Laaziz Lahlou, Nadjia kara and Claes Edstrom, "DAVINCI: online and Dynamic Adaptation of evolvable virtual Network services over Cloud Infrastructures," Future Gener. Comput. Syst., vol. 127, pp. 396-408, February 2022. https://doi.org/10.1016/j.future.2021.09.017
- Francisco Carpio, Wolfgang Bziuk and Admela Jukan, "Scaling migrations and replications of Virtual Network Functions based on network traffic forecasting," Comput. Networks, vol. 203, February 2022.
- Runlong Xia, Yuantao Chen and Binbin Ren, "Improved Anti-Occlusion Object Tracking Algorithm using Unscented Rauch-Tung-Striebel Smoother and Kernel Correlation Filter," J. King Saud. Univ.-Com., vol. 34, No.8, pp. 6008-6018, September 2022.
- Jianming Zhang, Wenjun Feng, Tingyu Yuan, Jin Wang and Arun Kumar Sangaiah, "SCSTCF: Spatial-Channel Selection and Temporal Regularized Correlation Filters for visual tracking," Appl. Soft Comput., vol. 118, March 2022.
- Yuantao Chen, Linwu Liu, Volachith Phonevilay, Ke Gu, Runlong Xia, Jingbo Xie, Qian Zhang and Kai Yang, "Image super-resolution reconstruction based on feature map attention mechanism," Appl. Intell., vol. 51, no. 7, pp. 4367-4380, 2021. https://doi.org/10.1007/s10489-020-02116-1
- Jianming Zhang, Xin Zou, Lidan Kuang, Jin Wang, R. Simon Sherratt and Xiaofeng Yu, "CCTSDB 2021: A more comprehensive traffic sign detection benchmark. Human-centric Computing and Information Sciences," Hum.-centric Comput. Inf. Sci., vol. 12, 2022.
- H. Heffes and D. Lucantoni, "A Markov modulated characterization of packetized voice and data traffic and related satistical multiplexer performance," IEEE J. Select. Areas Commun., vol. 4, pp. 856-868, September 1986. https://doi.org/10.1109/JSAC.1986.1146393
- A. Azzouni and G. Pujolle, "A Long Short-Term Memory Recurrent Neural Network Framework for Network Traffic Matrix Prediction," arXiv, 2017.
- H. Tang, D. Zhou, D. Chen, "Dynamic network function instance scaling based on traffic forecasting and VNF placement in operator data centers," IEEE Trans.Parallel Distrib. Syst., vol. 30, pp. 530-543, 2019. https://doi.org/10.1109/TPDS.2018.2867587
- H.N. Kim, D. Lee, S. Jeong, H. Choix, J. Yoo and J. Won-Ki Hong, "Machine learning-based method for prediction of virtual network function resource demands," in Proc. of IEEE Conf. Netw. Softwarization: Unleashing Power Netw. Softwarization (NetSoft), Paris, France, June 2019.
- S. Rahman, T. Ahmed, M. Huynh, M. Tornatore and B. Mukherjee, "Auto-scaling VNFs using machine learning to improve QoS and reduce cost," in Proc. of IEEE Int. Conf. Commun. (ICC), Kansas City, MO, United states, May 2018.
- V. Eramo, F. G. Lavacca, T. Catena and P. J. P. Salazar, "Application of a long short term memory neural predictor with asymmetric loss function for the resource allocation in nfv network architectures," Comput. Networks, vol. 193, July 2021.
- Libin Liu, Hong Xu, Zhixiong Niu, Jingzong Li, Wei Zhang, Peng Wang, Jiamin Li, Chun Jason Xue and Cong Wang, "ScaleFlux: Efficient Stateful Scaling in NFV," IEEE Trans. Parallel Distributed Syst., vol. 33, no. 12, pp. 4801-4817, 2022. https://doi.org/10.1109/TPDS.2022.3204209
- Mahsa Moradi, Mahmood Ahmadi and Rojia Nikbazm, "Comparison of Machine Learning Techniques for VNF Resource Requirements Prediction in NFV," J. Netw. Syst. Manag., vol. 30, no. 1, 2022.
- S. Gebert, R. Pries, D. Schlosser and K. Heck, "Internet Access Traffic Measurement and Analysis," in Proc. of TMA 2012, Vienna, Austria, pp. 29-42, 2012.
- G. Maier, A. Feldmann, V. Paxson and M. Allman, "On dominant characteristics of residential broadband internet traffic," in Proc. of ACM SIGCOMM Internet Meas. Conf. (IMC 2009), Chicago, IL, United states, pp. 90-102, November 2009.
- M. Z. Shafiq, L. Ji, A. X. Liu and J. Wang, "Characterizing and modeling internet traffic dynamics of cellular devices," in Proc. of the ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems, pp. 305-316, 2011.
- J. Pei, P. Hong, M. Pan, J. Liu and J. Zhou, "Optimal VNF Placement via Deep Reinforcement Learning in SDN/NFV-Enabled Networks," IEEE J. Sel. Areas Commun., vol. 38, no. 2, pp. 263-278, February 2020. https://doi.org/10.1109/jsac.2019.2959181
- A. Gember-Jacobson, R. Viswanathan, C. Prakash, R. Grandl, J. Khalid, S. Das and A. Akella, "OpenNF: Enabling Innovation in Network Function Control," in Proc. of the SIGCOMM Chicago 2014 and the Best of the Co-located Workshops, vol. 44, no. 4, pp. 163-174, Chicago, IL, United states, August 2014.
- K. Yang, H. Zhang and P. Hong, "Energy-aware service function placement for service function chaining in data centers," in Proc. of IEEE Glob. Commun. Conf.(GLOBECOM 2016),Washington, DC, United States, December 2016.
- J.A. Aroca, A. Chatzipapas, A.F. Anta and V. Mancuso, "A Measurement-Based Characterization of the Energy Consumption in Data Center Servers," IEEE J. Sel. Areas Commun., vol. 33, no. 12, pp. 2863-2877, December 2015. https://doi.org/10.1109/JSAC.2015.2481198
- R. Solozabal, J. Ceberio, A. Sanchoyerto, L. Zabala, B. Blanco and F. Liberal, "Virtual Network Function Placement Optimization With Deep Reinforcement Learning," IEEE J. Sel. Areas Commun., vol. 38, no. 2, pp. 292-303, February 2020. https://doi.org/10.1109/jsac.2019.2959183