传统的网络服务需要专用硬件来提供, 并按特定顺序引导通过硬件的流量. 然而, 这些专用硬件设备不仅带来了高资本支出和运营支出, 而且管理困难[1,2]. 为了解决以上问题, 研究人员提出了网络功能虚拟化(network function virtualization, NFV)[1–3]这一新的网络架构概念, 通过将网络功能(例如防火墙, 网络地址转换和入侵检测系统)与专用硬件解耦, 转变为通用设备基于软件实现的虚拟网络功能(virtual network function, VNF)[4], 从而实现网络服务的灵活和弹性管理. 到达网络的服务请求被转化为服务功能链(service function chain, SFC)[5–7], 它由一组特定有序的VNF构成. 如图1所示是SFC示例. 利用NFV技术, 将SFC中的VNF部署到底层物理网络的服务器或虚拟机上, 以实现灵活高效的网络服务. VNF放置和链接(VNF placement and chaining, VNFPC)过程是指在NFV网络中的服务器上放置VNF并将它们按序链接起来引导流量, 来提供特定的服务[4].
一般来说, 合理的VNFPC方案受到一些优化目标的约束, 例如延迟, 资源利用, 能耗, 运营成本和流量. 之前的研究已经在单目标做了大量工作, 推动NFV在学术界和工业界的发展[6–8], 然而, NFV在多个目标优化进行有效的VNFPC需要考虑几个关键挑战. 特别是, 为了将SFC部署到异构网络功能, 服务提供商需要在不同的目标之间进行权衡, 例如最小化能耗和最大化服务接受率. 这些目标是相互冲突的, 因为在最小化能耗可能会激活更少的服务器, 从而用户服务可能由于资源或者网络延迟约束被拒绝. 同时, 最大化服务接受率可能需要花费更多资源, 优化服务接受率时可能会增加能耗. 为此, 本文重点讨论了如何在NFV网络权衡优化VNFPC问题的能耗和服务接受率.
图1展示了VNFPC场景, 各种网络服务如视频聊天, Web服务等网络请求被NFV编排成SFC, 其流量从入口节点经过不同VNF到达出口节点实现端到端的服务. 具体是将VNF映射到不同的物理节点上进行资源分配和优化, 进行流量引导和控制, 来提供高效的网络服务.
现有的大多数研究人员将VNFPC问题表述为整数线性规划(integer linear programming, ILP)[9,10]模型进行最优化求解. 文献[9]面对功耗感知和延迟约束的联合VNF放置和路由(PD-VPR)问题提出一种Holu框架可以在线解决PD-VPR问题, 降低能耗同时提高了服务接受率. 在考虑了端到传输延迟和VNF亲和力约束时, 文献[10]是基于VNF链放置问题(VNF-CPP)提供了基于ILP在线解决方案, 并验证所提算法的有效性. 此外, 文献[11]将问题表述为混合整数规划(mixed integer linear programming, MILP)模型, 通过分解模型开发出一种两级算法实现SFC部署, 仿真结果表明该方法实现了接近最优的解决方案. 然而, 由于VNFPC是NP-Hard特性, 因此LP方法仅只能在小规模网络中进行优化, 当网络规模过大时间效率变得很低.
一些研究进一步提出了启发式算法来应对大规模用户服务请求, 并有效指导LP问题在有限的时间内求解. 文献[12]优化VNFPC的资源分配成本, 通过将问题表述为LP模型, 提出了基于背包问题的启发式方法高效解决问题, 并降低了SFC的平均成本. 在文献[13]中, 将部署问题建模为ILP优化, 并扩展到启发式算法用于估计瓶颈资源占用, 来实现接近最优的部署. 虽然启发式方法很高效, 但解的最优性无法保证, 而且容易陷入局部最优解, 甚至偏离全局最优解.
近年来, 深度强化学习(deep reinforcement learning, DRL)也被应用在VNFPC[14,15]中寻找问题最优解决方案. 该方法不同于传统的方法求解容易陷入局部最优问题, DRL在解决组合优化问题具有前瞻性的解决方案. 文献[14]中考虑边缘网络资源受限且对于服务的延迟容忍性低的问题, 结合强化学习与时延提出一种面向时延优化的SFC的部署方法, 使得时延敏感类业务获得更好体验. 文献[15]的工作中, 为了在服务功能链放置(SFCP)问题中提出了基于DRL的多目标优化服务功能链放置(MOO-SFCP)算法, 具体是将SFCP建模为马尔可夫决策过程(Markov decision process, MDP), 并使用两层策略网络作为智能代理与环境交互进行学习. 上述方案学习模型明显提高求解问题的效率, 但其方案需要严格优化函数进行约束.
综合之前的研究, 在NFV中进行VNFPC面临以下问题. 首先是解决方案如线性规划或启发式算法很难准确高效地找到最优解决策略. 其次, 之前的研究大多是单个优化目标的约束, 很少研究涉及到多目标优化, 特别是, 优化目标之间存在冲突的. 综上所述, 本文提出一种新的算法ACDRL-VNFPC, 具体的贡献点如下.
(1) 首先, 将VNFPC问题化为一个优化问题, 它考虑了能耗, 服务接受率, 延迟和资源需求.
(2) 接着, 通过建立一个目标函数来联合考虑能耗和服务接受率, 旨在最大化服务接受率同时降低能耗.
(3) 然后, 为了获得优化问题的解决方案, 提出了基于Actor-Critic深度强化学习方法(ACDRL-VNFPC), 并在该方法中采用了一种适应性共享策略, 该策略不仅允许多个服务请求之间共享未充分使用的同类型VNF, 通过实例化更少的VNF减少服务器资源消耗; 而且允许服务器中的资源被不同类型的VNF共享, 这样激活了更少的服务器同时降低了能耗.
(4) 最后, 通过构建仿真环境与其他方法进行对比. 实验结果表明, 提出的算法可以获得问题的解, 并且可以权衡优化能耗和服务接受率, 同时执行时间方面也得到了优化.
1 系统模型和问题描述 1.1 物理网络模型物理网络被建模为无向加权图
假设有
在NFV中进行VNFPC需要对能耗和服务接受率提出了更严格的要求. 因此, 本文需要权衡优化最小化能耗和最大化服务接受率. 针对VNFPC问题的研究目标是寻找一个最优策略
$ {\pi ^*} = \mathop {\arg }\limits_t \max\left\{ \psi \cdot Ac(t) + (1 - \psi ) \cdot \frac{1}{{{P_{{v_i}}}(t)}}\right\} $ | (1) |
其中,
服务接受率
$ Ac(t) = \frac{{\displaystyle\sum\limits_{t = 0}^T {\mathit{sfc}}_i^{\rm accept}}}{{\displaystyle\sum\limits_{t = 0}^T {\mathit{sfc}}_i^{\rm accept} + \displaystyle\sum\limits_{t = 0}^T {\mathit{sfc}}_i^{\rm refuse}}} $ | (2) |
其中,
能耗
$ {P_{{v_i}}}(t) = P_{{v_i}}^{\rm idle}(t) + (P_{{v_i}}^M(t) - P_{{v_i}}^{\rm idle}(t)) \times {U_{{v_i}}}(t) $ | (3) |
其中,
上述目标函数需要遵循以下约束.
式(4)定义了决策变量
$ x_{f_j^i}^{{v_i}} = \left\{ {\begin{array}{*{20}{l}} {1, }&{\text{if VNF}\;f_i^j\; \text{is deployed on} \;{v_i}} \\ {0, }&{\text{otherwise}} \end{array}} \right. $ | (4) |
式(5)约束是为确保每个VNF
$ \forall i, j\quad \sum\limits_{i = 1}^{|{N_p}|} {\sum\limits_{j = 1}^n {x_{{v_i}}^{f_i^j}} } \leqslant 1, \forall f_j^i \in {\mathit{sfc}_i}, {v_i} \in {N_p} $ | (5) |
当选择适当的服务器部署VNF时, VNF之间的虚拟链路也需要映射到适当的物理链路. 决策变量
$ y_{{e_{pq}}}^{l_{{i}}^{{{uv}}}} = \left\{ {\begin{array}{*{20}{l}} {1, }&{\text{if}\; l_i^{uv}\;\text{is mapped in}\; {e_{pq}}} \\ {0, }&{\text{otherwise}} \end{array}} \right. $ | (6) |
式(7)为确保每个虚拟链路仅映射到唯一的物理链路上, 且仅映射一次.
$ \forall u, v, p, q\quad \sum\limits_{i = 1}^m {\sum\limits_{u, v}^n {y_{{e_{pq}}}^{l_i^{uv}}} } \leqslant 1, \forall l^{uv}_i \in {\mathit{sfc}_i}, {e_{pq}} \in {E_p} $ | (7) |
式(8)定义了物理节点计算资源容量的约束. 任何部署成功的VNF, 其所有的资源请求不超过物理节点的可用资源需求.
$\left\{\begin{array}{l} \forall i, j\quad\dfrac{{\displaystyle\sum\limits_{f_i^j \in {\mathit{sfc}_i}} {{\mkern 1mu} {\kern 1pt} } x_{f_i^j}^{{v_i}} \cdot r_{f_i^j}^{\mathit{cpu}}}}{{\mathit{cpu}_{{v_i}}^p}} \leqslant 1\\ \forall i, j\quad\dfrac{{\displaystyle\sum\limits_{f_i^j \in {\mathit{sfc}_i}} {{\mkern 1mu} {\kern 1pt} } x_{f_i^j}^{{v_i}} \cdot r_{f_i^j}^{mem}}}{{mem_{{v_i}}^p}} \leqslant 1\\ \forall i, j\quad\dfrac{{\displaystyle\sum\limits_{f_i^j \in {\mathit{sfc}_i}} {{\mkern 1mu} {\kern 1pt} } x_{f_i^j}^{{v_i}} \cdot r_{f_i^j}^{str}}}{{str_{{v_i}}^p}} \leqslant 1 \end{array} \right.$ | (8) |
式(9)定义了通信资源的容量约束. 为了确保虚拟链路
$ \forall i, j, u, v, p, q\quad\frac{{\displaystyle\sum\limits_{f_i^j \in {\mathit{sfc}_i}, l_i^{uv} \in {e_{pq}}} {{\mkern 1mu} {\kern 1pt} } y_{{e_{pq}}}^{l_i^{uv}} \cdot bw_{l_i^{uv}}^v}}{{BW_{{e_{pq}}}^p}} \leqslant 1 $ | (9) |
式(10)引入了延迟约束, 使用变量
$ \forall i, j, u, v, p, q\quad\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {x_{f_i^j}^{{v_i}}} } \cdot l_{f_i^j}^d \cdot \alpha + \beta \cdot \sum\limits_{{e_{pq}} \in {E_p}} {y_{{e_{pq}}}^{l_i^{uv}}} \cdot L_{{e_{pq}}}^p \leqslant D_i^t $ | (10) |
其中,
在DRL中, 智能体学习做决策通过探索未知环境并应用收到的反馈信息, 在每步学习中, 智能体会观察当前状态并基于某个策略采取行动, 然后智能体被反馈一个奖励. 本节首先介绍MDP模型, 然后介绍通过Actor-Critic网络进行训练, 最后介绍ACDRL-VNFPC算法.
2.1 MDP模型MDP通常提供了一个长期问题中的行动制定的数学框架, 其中输出一般是智能体的随机行为. 此外在MDP模型中设定了假设. 即智能体对环境具有全部的感知能力, 并且当前状态排除了任何不确定性[16,17]. 接着定义MDP四元组
1) 状态空间: 状态空间
2) 动作空间: 动作空间
3) 状态转移概率: 转移概率
4) 奖励: 奖励
$ rev({\mathit{sfc}_i}) = \sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {x_{f_i^j}^{{v_i}}} } \cdot \Phi _{{v_i}}^{res} + \sum\limits_{{e_{pq}} \in {E_p}} {y_{{e_{pq}}}^{l_i^{uv}}} \cdot \Phi _{{e_{pq}}}^{bw} $ | (11) |
在中间步骤(即
Critic网络表示价值网络给采取的动作进行评估. 若
$ L(\omega ) = \frac{1}{2}{[q({s_t}, {a_t};w) - {y_t}]^2} $ | (12) |
其中, 损失是价值网络参数
$ {\omega _{t + 1}} = {\omega _t} - \alpha \cdot \frac{{\partial L(\omega )}}{{\partial \omega }}{|_{\omega = {\omega _t}}} $ | (13) |
其中,
Actor网络表示策略网络来生成相应的动作和环境交互. 若
$ V({s_t};\theta , \omega ) = \sum\limits_a \pi (a\mid s) \cdot {Q_\pi }(s, a) \approx \sum\limits_a \pi ({a_t}\mid {s_t};\theta ) \cdot {q_\pi }({s_t}, {a_t};\omega ) $ | (14) |
更新策略网络
$ {\theta _{t + 1}} = {\theta _t} + \beta \cdot g(a, {\theta _t}) $ | (15) |
其中,
具体的Actor-Critic网络训练过程如算法1所示.
算法1. Actor-Critic网络训练
输入:当前网络状态
输出: 在线训练的Actor网络参数
/**训练阶段**/
1) 初始化神经网络参数
2) 初始化迭代次数
3) while
4) for
5) 观察状态
6) 执行动作
7) 通过式(13)更新价值网络
8) 使用式(15)进行梯度上升更新策略网络
9) end for
10) end while
11) return
如图2所示, ACDRL-VNFPC整体框架包含6个步骤, 当请求SFC到达时, 我们首先对物理网络进行特征提取, 包括节点和链路的可用资源信息和SFC中的VNF资源请求信息. 在步骤1中将环境中的状态信息传递给学习代理(即算法1训练Actor-Critic网络); 其次在步骤2根据最大状态值获得动作部署SFC请求(即算法2所描述VNF放置和链路映射); 步骤3将采取的动作奖励反馈给环境; 接着, 在步骤4将四元组
算法2. VNF放置和链路映射
输入: 物理网络
输出: 在线VNF放置集
/**VNF放置**/
1) 初始化Actor网络参数
2)
3) for
4) 按可用节点资源
5) 当SFC请求随机到达;
6) if
7) 到达终止状态, 拒绝当前
8) return false;
9) else
10) 当
11) 执行
12) 更新放置结果集
13) continue;
14) end if
/**链路映射**/
15) 从排序的候选链路根据Dijkstra算法在
16) if
17) 将虚拟链路映射到物理链路
18) 更新链路集
19) continue;
20) end if
21) end for
22) return
算法2是VNF放置及链路映射, 输入当前的物理网络和SFC请求, 输出VNF放置结果集合和链路映射结果集合. 首先对于物理节点资源和链路带宽资源按非递减的排序, 倾向于先选择较多资源的节点和链路. 然后对于随即到达的SFC中VNF进行放置, 当没有可供选择的物理节点, 则到达终止状态
本研究的实验全部在仿真环境上进行, 配置如下: 仿真计算机使用的是NVIDIA GTX 3060 GPU, Intel(R) Core(TM) i7-11800H CPU 3.20 GHz, 仿真使用的软件PyCharm 2021.2.2, Python 3.9.
根据Waxman模型[18]生成物理网络和虚拟网络的拓扑结构. 在每一轮次中, 随机生成5000个SFC请求, 随机确定源节点和目的节点. 具体是每个SFC请求由5–10个不同数量的VNF均匀分布. 此外, 假设每次SFC请求到达率服从泊松分布参数为
为了评估提出的放置算法的有效性和效率, 并将其与增强First-Fit (IFF)启发式算法[19], 邻近节点蒙特卡洛(NeMC)[20]树搜索、VNF放置和网络缩放(VPANS)[21]这3种方法进行对比. 算法的具体描述如表2所示. 请注意, ACDRL-VNFPC与对比算法均使用最短路径算法来选择链路.
3.2 结果分析
在本研究中, 考虑分别用服务请求接受率, 总能耗和执行时间指标来衡量算法性能.
图3(a)和(b)显示了Actor-Critic网络训练过程损失变化, 可以看到损失随着训练数量的增加, 损失呈下降趋势. 当训练次数小于1500次时, 损失值比较高, 这是因为初始模型的参数是随机初始化, 模型是未收敛, 导致损失值比较高. 随着训练次数的增加, 模型不断收敛. 根据奖励和状态值不断学习更新神经网络, 损失值逐渐稳定. 在训练次数大约4000次后, Actor和Critic损失分别收敛到约0.10和0.0025局部最优. 这表明提出的ACDRL-VNFPC算法近似效果很好.
图4展示了5000个SFC请求输入到网络中各算法的表现. 如图4所示, 服务接受率随着SFC请求数量增多, 各算法的接受率呈下降趋势. 这是因为当SFC请求中的VNF被成功放置后, 底层物理资源被消耗逐渐减少. 由于IFF和NeMC优先考虑资源最小化, 但未考虑节点之间负载均衡, 因此算法的整体性能表现相对较差. ACDRL-VNFPC算法由于应用了适应性共享, 在资源方面考虑了共享, 优化了节点部署, 因此ACDRL-VNFPC算法长期来看表现最好. 当SFC请求数量达到1500时, ACDRL-VNFPC算法请求接受率均高于对比算法. 提出的算法ACDRL-VNFPC在服务接受率较IFF算法性能提升了2.39%, 较NeMC算法性能提升了3.02%, 较VPANS算法性能提升了2.57%. 这表明本文提出算法明显提高整体网络性能和服务质量.
图5展示了随着SFC请求数量增加, 4种算法能耗呈上升趋势. 这是因为随着要部署SFC请求数量增多, 节点需要处理更多的数据流量和服务请求, 导致需要启用更多的服务器来放置VNF, 从而消耗更多的能源. 由于ACDRL-VNFPC基于RL方法学习最优部署策略, 通过部署到合理的服务器降低服务器的资源利用率, 从而减少能耗. 此外, ACDRL-VNFPC考虑了适应性共享策略, 使得不同类型的VNF共享同一个服务器, 减少实例服务器的数量的同时降低了能耗成本, 因此, ACDRL-VNFPC算法在能耗方面性能表现最好. ACDRL-VNFPC方法的能耗较IFF, NeMC和VPANS分别降低14.93%, 6.58%. 和9.64%. ACDRL-VNFPC的性能表现是由于神经网络的良好拟合能力和泛化能力.
图6展示了执行时间随着SFC请求数量增多, 4种算法均呈上升趋势, 其中执行时间指的是获得解决方案的时间, 包括模型的训练时间和部署时间, 这个指标反映了问题规模的扩展能力, 即面对在大量SFC请求时, 算法是否可以在合理时间范围内获得解决方案. 从图6可以看出, IFF算法虽然在SFC请求数量较少时, 性能表现较好, 然而面对大量的SFC请求时, IFF算法执行时间增速较大, 因此, IFF整体性能是最差. ACDRL-VNFPC方法随着SFC请求数量的增加, 执行时间仍是以较低时间水平获得解决方案. 提出的算法在执行时间方面较IFF, NeMC和VPANS分别提升了16.16%, 2.42%和8.73%. 这说明该算法面对大量网络请求的求解时间上是可接受的.
4 结束语
本研究是基于深度强化学习方法在NFV网络中VNF放置和链接问题中的应用. 为了满足服务质量前提下, 不降低服务接受率的同时可以权衡优化能耗. 为此, 不仅提取了物理网络信息, 而且考虑了SFC中的VNF特性, 并提出了基于Actor-Critic的深度强化学习的VNFPC (ACDRL-VNFPC)的算法. 算法应用了适应性共享方案, 不仅多服务之间共享相同VNF, 而且多个VNF共享相同的服务器, 使得算法减少资源消耗同时降低能耗. 实验结果表明, ACDRL-VNFPC方法在接受率, 能耗和执行时间方面都有很好的性能. 未来研究方向致力于复杂的云边场景下在线放置和流量路由的解决方案.
[1] |
王进文, 张晓丽, 李琦, 等. 网络功能虚拟化技术研究进展. 计算机学报, 2019, 42(2): 415-436. DOI:10.11897/SP.J.1016.2019.00415 |
[2] |
Kaur K, Mangat V, Kumar K. A review on virtualized infrastructure managers with management and orchestration features in NFV architecture. Computer Networks, 2022, 217: 109281. DOI:10.1016/j.comnet.2022.109281 |
[3] |
Kadam SS, Ingle DR. Literature review on redistribution of routing protocols in wireless networks using SDN along with NFV. Proceedings of ICSCS 2021. Springer, 2022. 553–575.
|
[4] |
Barakabitze AA, Ahmad A, Mijumbi R, et al. 5G network slicing using SDN and NFV: A survey of taxonomy, architectures and future challenges. Computer Networks, 2020, 167: 106984.
|
[5] |
Sun J, Zhang Y, Liu F, et al. A survey on the placement of virtual network functions. Journal of Network and Computer Applications, 2022, 202: 103361. DOI:10.1016/j.jnca.2022.103361 |
[6] |
Wang SY, Cao HT, Yang LX. A survey of service function chains orchestration in data center networks. Proceedings of the 2020 IEEE Globecom Workshops. Taipei: IEEE, 2020. 1–6.
|
[7] |
Adoga HU, Pezaros DP. Network function virtualization and service function chaining frameworks: A comprehensive review of requirements, objectives, implementations, and open research challenges. Future Internet, 2022, 14(2): 59. DOI:10.3390/fi14020059 |
[8] |
Houidi O, Soualah O, Houidi I, et al. Energy efficient VNF-FG embedding via attention-based deep reinforcement learning. Proceedings of the 19th International Conference on Network and Service Management (CNSM). Niagara Falls: IEEE, 2023. 1–7.
|
[9] |
Varasteh A, Madiwalar B, van Bemten A, et al. Holu: Power-aware and delay-constrained VNF placement and chaining. IEEE Transactions on Network and Service Management, 2021, 18(2): 1524-1539. DOI:10.1109/TNSM.2021.3055693 |
[10] |
Mohamed R, Leivadeas A, Lambadaris I, et al. Online and scalable virtual network functions chain placement for emerging 5G networks. Proceedings of the 2022 IEEE International Mediterranean Conference on Communications and Networking (MeditCom). Athens: IEEE, 2022. 255–260.
|
[11] |
Yaghoubpour F, Bakhshi B, Seifi F. End-to-end delay guaranteed Service Function Chain deployment: A multi-level mapping approach. Computer Communications, 2022, 194: 433-445. DOI:10.1016/j.comcom.2022.08.005 |
[12] |
Ikhelef A, Saidi MY, Li SP, et al. A knapsack-based optimization algorithm for VNF placement and chaining problem. Proceedings of the 47th IEEE Conference on Local Computer Networks (LCN). Edmonton: IEEE, 2022. 430–437.
|
[13] |
Luo JZ, Li J, Jiao L, et al. On the effective parallelization and near-optimal deployment of service function chains. IEEE Transactions on Parallel and Distributed Systems, 2021, 32(5): 1238-1255. DOI:10.1109/TPDS.2020.3043768 |
[14] |
孙春霞, 杨丽, 王小鹏, 等. 结合深度强化学习的边缘计算网络服务功能链时延优化部署方法. 电子与信息学报, 2024, 46(04): 1363–1372.
|
[15] |
Liu HT, Ding SD, Wang SY, et al. Multi-objective optimization service function chain placement algorithm based on reinforcement learning. Journal of Network and Systems Management, 2022, 30(4): 58. DOI:10.1007/s10922-022-09673-5 |
[16] |
Christianos F, Papoudakis G, Albrecht SV. Pareto actor-critic for equilibrium selection in multi-agent reinforcement learning. Transactions on Machine Learning Research. https://openreview.net/forum?id=3AzqYa18ah. (2024-10-24
|
[17] |
高媛, 方海, 赵扬, 等. 基于自然梯度Actor-Critic强化学习的卫星边缘网络服务功能链部署方法. 电子与信息学报, 2023, 45(2): 455-463. DOI:10.11999/JEIT211384 |
[18] |
Pham TM, Nguyen TM, Nguyen XTT, et al. Fast optimal resource allocation for resilient service coordination in an NFV-enabled Internet-of-Things system. Proceedings of the 2022 International Conference on Advanced Technologies for Communications (ATC). Ha Noi: IEEE, 2022. 141–146.
|
[19] |
Nguyen DHP, Lien YH, Liu BH, et al. Virtual network function placement for serving weighted services in NFV-enabled networks. IEEE Systems Journal, 2023, 17(4): 5648-5659. DOI:10.1109/JSYST.2023.3257776 |
[20] |
Wang ZH, Zhuang L, Zhou FJ, et al. Energy efficient VNF placement algorithm using reinforcement learning in NFV-enabled network. Proceedings of the 2023 IEEE International Conference on Control, Electronics and Computer Technology (ICCECT). Jilin: IEEE, 2023. 625–629.
|
[21] |
Chen MH, Sun Y, Hu HL, et al. Energy-saving and resource-efficient algorithm for virtual network function placement with network scaling. IEEE Transactions on Green Communications and Networking, 2021, 5(1): 29-40. DOI:10.1109/TGCN.2020.3042675 |