本文研究了网络边缘场景下的VNF放置问题,旨在最小化整体(服务器和链路)资源消耗,提出了一种延迟感知的两阶段方案,即搜索路径的约束深度优先搜索算法(CDFSA) 和部署VNF的基于路径的贪心算法(PGA)。
论文简介
论文名称:Latency-aware VNF Chain Deployment with Efficient Resource Reuse at Network Edge
论文作者:Panpan Jin, Xincai Fei, Qixia Zhang, Qixia Zhang, Fangming Liu, Bo Li
发表会议:INFOCOM 2020 (CCF-A)
研究方向:NFV 网络功能虚拟化
关键技术:邻接矩阵重构, 深度优先搜索, 贪婪算法
主要创新:网络边缘场景、延迟保障、两阶段(先边后点)
下载论文
缩写词汇表
缩写 | 描述 | 全名 |
---|---|---|
VNF | 虚拟网络功能 | Virtual Network Function |
SFC | 服务功能链 | Service Function Chain |
AP | 接入点 | Access Point |
研究背景
- 研究问题:VNF部署问题
- 研究场景:网络边缘
- 优化目标:在满足延迟要求的前提下,最小化服务器和链路的资源消耗
- 研究难点:需同时考虑服务器和链路资源消耗
- Path 1:虽选择了最短路径,但由于
没有VNF2需要即时运行,这会产生额外的计算资源消耗 - Path 2:虽避免了新开服务器,但链路要长于Path 1
- Path 1:虽选择了最短路径,但由于
问题建模
Network
无向图
:Users,表示用户的集合 :Devices,表示网络边缘中所有服务器硬件设备的集合,如接入点(ccess points)、交换器(switches)和路由器(routers)等- 对于一个设备
,其计算资源为
- 对于一个设备
:Edges,表示服务器间物理链路的集合- 对于边
,表示设备 和 间链路,其带宽资源为
- 对于边
SFC Request
不同的用户有不同的服务需求,每个SFC由一组由顺序的VNF序列组成
:表示各种类型VNF的集合 :表示各种SFC的集合 :表示每个SFC实际部署链路的集合
对于用户
- 其中VNF个数为
,第 个VNF为 表示 与 间的子链 表示第 个VNF的类型是不是 分别表示 的source,destiination和flow rate 是一组 的AP的集合,它们分布在不同的边缘云上,距离用户 非常近- 每个SFC只能选择一个
种AP来进行网络访问,如第 个AP - 每一个AP
实质仍对应一台服务器 ,其处理能力表示为 - 对于
,假设流速始终不变,且为单流
是该SFC被放置的物理链路的集合- 如
- 如
问题约束
计算资源约束 Resource Capacity
- 一台服务器上的VNF可以同时被不同的SFC使用,使得它的剩余处理能力得到利用
- 对于服务器
,其运行的VNF种类的数量为 - 其中,对于类型为
的VNF,其所消耗的计算资源为 - 当服务链所需VNF类型已经运行在
上时,不需新开VNF,即 不变;否则,新开一个VNF实例且
每台服务器
链路资源约束 Bandwidth Capacity
同样,每条链路
:表示服务链 的子链 是否经过链路
处理能力约束 Processing Capacity
每台服务器
:对type-n VNF的处理能力 :表明SFC 的第 个 是否运行在服务器 上- 特别地,此处假设SFC为单流,即SFC中的一个VNF只能运行在一个服务器上
延迟约束 Latency Limitation
本文考虑了两种延迟:
- 排队延迟(queueing delay)
:SFC在AP 处排队产生的延迟- 对于每个AP,将其建模为一个
队列,则其满足Little law - 式中,
表示 是否从 接入网络 - 每个SFC仅有一个AP,故有
- 式中,
- 传播延迟(propagation delay & transmission delay)
:SFC 在链路 上进行传输产生的延迟
故总延迟为:
运行约束 Running VNF
对于
优化目标
同时最小化服务器和链路的资源消耗
算法模型
Overview
问题难点
- 该问题是NP-hard问题
- 无法预测未来的SFC,只能最小化当前SFC的资源消耗
解决方案
两阶段:选择路径 -> 部署VNF
对于
- 选择路径:寻找从
的满足约束的所有预规划路径 - 部署VNF:对于每个路径
,尽可能多的复用已运行的VNF来进行实际部署 - 最优方案:选择其中资源消耗最少的方案
选择路径
路径需满足
- 从
开始到 结束 - 实际延迟不超过延迟限制
- 每条边都满足可用带宽约束
构建矩阵
首先,构造无向加权图(见(a))
重构矩阵
为了找到网络中所有对服务链
考虑服务器约束
首先将
- 其剩余计算资源大于
所需的最小计算资源 (整条SFC中计算资源需求最小VNF的值) - 它正在运行着的VNF中有SFC所需的VNF类型
考虑链路约束
- 一个服务器可能会被部署两次,部署路径可能会出现环
- 为了达到优化目标,每一条边仅可被通过2次,且需不同方向
每条链路
- 2次:当
即剩余带宽资源大于需求时,加入权值为延迟 的有向边 和 到 - 1次:当
即剩余带宽资源等于需求时,加入权值为延迟 的无向边 到 - 0次:当
即剩余带宽资源不足时,不加入
服务器通路验证
如果没有边与某服务器相连,就从
CDFSA
Constrained Depth First Search Algorithm
链路邻接矩阵
链路延迟矩阵
算法流程
- 初始化:邻接矩阵M和延迟矩阵E
- 对于每一个AP
,
部署VNF
部署时应满足
- VNF需顺序部署
- 被部署的服务器满足计算资源约束
- 尽可能重用已运行的VNF
构建矩阵
对于一个候选路径
- 其中边个数为
,则服务器个数为 - 其服务器组成为
- 矩阵形状为
表示VNF 能否重用服务器 ,需满足两个约束:- 该服务器已运行着此类VNF
- 该服务器对此类VNF的剩余处理能力满足约束
示例如下
PGA
A Path-based Greedy Algorithm
每个VNF有两种服务器可部署
- type-R:可复用的,已运行该类VNF的服务器
- type-V:可新开的,有足够资源新开VNF的服务器
对于每个被部署的VNF
- 情况1:先找到type-R,即最优方案
- 情况2:先找到type-V再找到type-R
- 情况3:仅找的type-V
- 情况4:两种都没找到,部署失败,拒绝该SFC
可以发现,对于每个VNF部署,最多只需尝试2种可选服务器
最优方案
对于每个候选路径
实验评估
设计实验
底层网络
网络拓扑
用不同大小的网络拓扑模拟不同的网络规模
名称 | 节点数 | 边数 |
---|---|---|
Bellsouth | 51 | 66 |
Cogentco | 197 | 245 |
Kdl | 754 | 899 |
服务器节点
为了模拟运行中的网络状态,每个服务器
- 当前剩余可用资源为
单元 - 预先随机放置
种类型的VNF(共20种)
物理链路
每条链路的带宽资源为
服务功能链
SFC依次到达系统,为每个SFC从底层网络中随机挑选一组源节点(APs)和目标节点
- 每个AP处理能力为
- 每个VNF所需计算资源
节点 - 流速为
Mbps - 生存周期为
ms
每一次实验重复20次来消除偶然性
对比算法
- Shortest Path Heuristic + First Fit Assignment (SHP+FF)
- Constrained Depth-First Search Algorithm + First Fit Assignment (CDFSA + FF)
- Shortest Path Heuristic + Path-based Greedy Algorithm (SHP+PGA)
评估指标
运行时间
资源消耗
SFC长度+流速影响
流速
SFC长度
平均延迟
总结思考
- 场景新颖:在网络边缘场景,且考虑了延迟
- 矩阵重构:提出了混合图来对链路访问进行限制
- 先边后点:两阶段解决方案,先选路径后进行VNF部署