卢 旭,易 波,王兴伟,黄 敏
1(东北大学 计算机科学与工程学院,沈阳 110169)
2(东北大学 信息科学与工程学院 流程工业综合自动化国家重点实验室,沈阳 110819)
在经历了电信网络3次重要的技术飞跃后,第五代移动通信(the 5thGeneration mobile communication,5G)网络如今已逐渐进入商业使用阶段.面对用户日益增长的服务类型多样化、服务范围扩大化和服务质量优化的要求,5G网络切片可以有效地支持各垂直行业的多样化应用场景[1],5G网络切片的核心思想可以概括为专用虚拟网络即服务[2].
软件定义网络(Software-Defined Networking,SDN)中的服务定制化使得SDN被应用于5G网络切片的趋势越来越明显[3,4].网络功能虚拟化(Network Function Virtualization,NFV)的两个特点网络功能与硬件解耦和网络功能的灵活部署使得NFV与5G网络切片的网络软件化思想不谋而合.目前将SDN和NFV共同作用于网络切片环境的相关研究仍处于起步阶段.
在SDN实现网络切片方面,较为权威的是ONF发表的白皮书[5],该文献首次提出了具体的切片设计方案.ETSI的白皮书[6]针对SDN控制器的部署位置提出了一种非常具有代表性的复合型架构.在该架构中,SDN控制器以VNF的形式实现,并分别部署于NFV的基础设施层和虚拟网络层.本文的研究很大程度上都是以该框架为理论模型展开的.
在不考虑5G网络支持时,要求保证网络切片性能要求的基础上实现基础设施供应商收益最大化,提出了根据租户提出的性能标准按需划分资源并创建网络切片[7].如果是面向多租户场景的动态资源分配策略,提出了一种份额有限比例分配模型[8].
如果是在具备完全的5G网络结构支持的假设下,可以将网络切片构造问题转化为节点和链路容量受限的服务功能链构造过程,进而将问题的形式化描述转化为混合二元线性规划问题[9].对于端到端5G网络切片的部署问题[10],通过复杂网络的相关理论分析切片和基础设施网络的拓扑信息,并以此为根据为3种典型场景EMBB、MMTC、URLLC设计不同的资源分配策略实现面向服务类型的切片部署,且该研究以线性增长的算法平均执行时间实现了较高的资源效率和切片请求接受率.
上述算法忽略了对切片实时性能的反馈,优化目标单一.本文利用SDN和NFV独有的优势为5G网络切片环境设计一种高效的资源机制,在拥有完善的网络虚拟化技术和SDN网络框架的前提下,充分发挥架构优势,提出优化的资源调度策略以支持网络切片的整个生命周期过程,在实现切片间的资源共享以及保证网络切片服务质量的前提下,实现切片综合效益最大化.
本文底层的网络基础设施可以抽象为一个有向连通图Ginf={Vinf,Einf,Cinf,Binf,Dinf,Rinf},其中Vinf,记录所有的节点;Einf表示边的集合;Cinf表示节点的性能容量;Binf表示链路的带宽;Dinf表示链路的传播时延,在衡量切片的性能指标时实际使用的是端到端时延;Rinf表示链路的可靠性.一个网络切片ns则可以表示为有向连通图Gns={Vns,Ens,Cns,Bns,Dns,Rns},其中,每一个集合和基础设施中各项的含义相同.除此之外,还有一个集合requestns={Tns,Typens,Uns,RFns,KPIns}表示对网络切片的某些性能和属性的限制,Tns表示生存周期;切片类型Typens∈{embb,urllc,mmtc},分别对应目前各大厂商的5G白皮书中定义的3大应用场景EMBB、URLLC、MMTC;Uns描述切片创建时指定的各个接入点的预期用户规模;RFns是在切片创建之前给出的服务功能链的要求,它表现为一个数字序列(向量),每个数值表示每种VNF处理1个单位带宽的数据所需的单位性能;集合KPIns描述网络切片的关键性能指标,本文关注的是带宽bwth、时延delay、可靠性rlb这3项指标.
参考5G网络切片的理论框架,可以确定网络切片中涉及到的资源管理的主要内容应集中于SDN控制器、OSS/BSS、编排器这3种软件(硬件)实体中.因此,本文所设计的5G网络切片资源管理的整体框架如图1所示,框架主要分为3大模块:综合效益定义模块,切片性能监测模块,切片资源管理模块.
图1 系统框架图
综合效益定义模块主要接收运营商设定的网络切片定价参数,用以计算作为资源管理机制的全局优化目标;性能检测模块主要功能是实时测试并反馈各网络切片的实际性能指标,作为网络切片资源管理的触发条件,该模块没有理论研究工作,但是该模块提供的结果是资源管理机制正常运行的重要参考因素;切片管理模块是运行于控制器和编排器之上的主要功能模块,通过SDN控制器和NFV编排器的配合执行本文的研究成果,完成对网络切片的资源优化调度,该模块包含切片创建、切片维护和回收策略.
本文定义综合效益作为各项优化策略的全局优化目标,网络切片ns的综合效益同时反映两方面的内容:1)运营商利用切片为终端用户提供服务而产生的利润pns;2)服务质量低于运营商承诺的性能要求时产生的负面影响αnens,见式(1):
CUns=pns+αnens
(1)
网络切片的本质是运行于底层资源之上的定制化虚拟网络,切片的创建实际上是一种虚拟网络嵌入过程,鉴于其NP-hard的特性,本文采取启发式方法配合图论中的最大流算法进行优选以求解该问题的次优解.
3.1.1 基于图论的初始解获取
切片网络图的构建可以简化为有向图中的多次端到端路径寻找的过程,sink节点作为统一的收点.算法采取Dijkstra算法搜索最短路径,稍有不同的是在其中增加了一个终止条件—搜索到以sink为目的的最短路径.最终算法的输出为这些路径的并集构成的切面构造方案.
3.1.2 基于PSO和DE的启发式优化
解码操作是将切片中两个向量Xi和Yi与基础设施Ginf做解码运算即可获得对应的网络切片抽象Gi={Vi,Ei,Ci,Bi,Di,Ri}.
2)适应度函数.本文采取基于粒子群算法[11](Particle Swarm Optimization,PSO)和差分进化算法(Differential Evolution,DE)的启发式优化算法[12]的启发式算法对切片构造方案进行求解,切片构造方案被抽象为个体向量,个体之间的优劣性根据适应度进行判断,对任意个体Xi,其适应度函数HSIi定义见式(2):
(2)
式(2)代表切片占用的节点和链路资源之和,其中β为两者的权重系数.
3)初始化操作.算法的初始化操作是为了在解空间中产生初始的种群,本文采取经典DE算法的种群初始化方案,在解空间中随机产生均匀分布的个体,解空间则用节点剩余容量加以限制,若将第0代的个体形式化见式(3):
(3)
4)变异操作.差分变异操作可以增加算法的广度搜索范围,使得种群更有可能向全局最优的情况收敛.在本文设计的启发式优化算法中,变异操作包含了DE算法和PSO算法的特点,变异方式既有DE算法的差分变异算子,又保留了PSO算法的速度向量算子.
hi(g)=Xr1(g-1)+F·(Xr2(g-1)-
Xr3(g-1)),F∈[0,2]
(4)
其中r1、r2和r3是3个不相等的随机整数,满足r1,r2,r3∈[1,n],因此Xr1(g-1)、Xr2(g-1)和Xr3(g-1)相当于从种群中随机选出的3个不同的个体.缩放因子F用于控制差分向量的权重,取F=0.5.
变异操作中另一项变异策略是基于PSO的速度向量更新,对应操作见式(5):
Xi(g)=Xi(g-1)+Si(g)
(5)
该式旨在用个体的速度向量更新个体位置,而其中的速度向量的计算则参考式(6):
Si(g)=ω·Si(g)+C1·rand(0,1)·(pbesti-Xi(g-1))+
C2·rand(0,1)·(pgbest-Xi(g-1))
(6)
其中,C1是局部搜索因子,取C1=1.8.C2是全局搜索因子,取C2=1.9.非负实数ω是惯性因子,正相关于算法的全局搜索能力.利用这一特点,本文对ω取较大值,并在迭代时依概率PPSO执行速度向量更新,旨在提升种群多样性,避免算法的“早熟”现象.
5)交叉操作.交叉操作是对原个体Xi(g-1)和变异个体hi(g)进行交叉选择获得试验个体ti(g).如果交叉概率大于随机数则选择变异个体,否则,选择原个体.
6)选择操作.选择操作的目标在于对比个体Xi(g-1)和经交叉操作获得的试验个体ti(g)两者的适应度,选择适应度值更小的方案作为新一代个体.
7)算法描述
综合上述各个分步骤的设计,基于DE和PSO的切片创建算法的整体流程见算法1.
算法1.基于PSO和DE的切片创建算法
输入:种群X={x1,x2,…,xM};基础设施抽象Ginf;迭代次数Tmax;创建请求requestns
输出:最优解xopt
BEGIN
1.执行初始化操作,得到X′={x1,x2,…,xM}
2.WHILEg 3. IFrand(0,1)>pPSO 4. FORi=1:M(栖息地个数)DO 5. 根据式(4)生成变异向量hi(g)/*差分变异操作*/ 6. FORj=1:n(栖息地维数)DO 8. 计算tij(g)/*交叉操作*/ 9. END IF 10. END FOR 11. 根据式(5)计算xi(g)/*选择操作*/ 12. 更新局部个体pbesti 13. END FOR 14. ELSE 15. FORi=1:M(栖息地个数)DO 16. 根据式(5)更新xi(g)/*速度向量更新操作*/ 17. 更新pbesti 18. END FOR 19. END IF 20. 更新全局最优个体pgbest 21.END WHILE 22.根据适应度值选取最优解xopt 23.RETURNxopt END 性能监测模块检测到网络切片的性能指标不达标时,首先对这些网络切片执行内部调度,通过调整网络切片中VNF的部署位置和数量来优化网络结构.如果切片负载过重,考虑对切片进行外部调度(即用额外资源进行扩充),根据扩充的资源位置不同,又分为垂直扩充和水平扩充. 3.2.1 基于VNF迁移的内部调度算法 内部调度算法是在Dinic算法的基础上进行改进,本文设计的切片内部调度算法在各个发点间交替执行流扩充过程,并以具体的用户数作为约束条件. 切片的内部调度算法伪代码见算法2. 算法2.切片内部调度算法 输入:切片Gi={Vi,Ei,Ci,Bi,Di,Ri},切片要求requesti={Ti,Typei,Ui,RFi,KPIi} BEGIN 2.WHILE TRUE DO 4. 以l为发点构造层次网络LNi/*对应下文步骤2)*/ 7. ELSE 8. CONTINUE 9. END IF 10. END FOR 12. IFsink节点不在LNi中/*说明已达到最大流状态,无需再扩充*/ 13. BREAK 14. END IF 15.END WHILE END 1)残量网络初始化.记切片i的网络容量图为NTi={SVi,SEi,SCi.SBi.SDi.SRi,TFi},其中集合SBi和向量TFi分别代表链路容量以及正向网络流的大小.构造残量网络是为每条边增加一条对应的反向边,并置反向边流量为正向边容量与正向边流量之差,正向边容量为带宽,正向边流量为向量TFi中的对应的值. 2)层次网络初始化.层次网络初始化是基于当前的残量网络,从给定的发点src开始构造层次网络.层次网络对应的图结构实际上并没有变化,只是每个节点都增加了额外增加的属性—层次号,层次号代表的是该节点与发点的最小距离(跳数).层次号的作用是在进行搜索增广路径时限制路径只能从低层次延伸到高层次,避免无效的搜索过程. 3.2.2 外部调度算法 若内部调度未能达到切片的性能优化目标,说明需要使用额外的资源对该切片进行扩充,这些额外的资源既可以是当前系统池的未分配资源,也可以是其它轻负载切片的空闲资源.这类切片调整策略称为外部调度,在本文中,分为具有先后关系的两个步骤:垂直扩充和水平扩充. 1)垂直扩充.垂直扩充是在不改变当前网络节点以及链路部署位置的前提下,对其节点和链路所占用的资源量进行调整. (7) 其中,β是权重系数,b∈Bi,j是集合Bi,j中任意一个元素,rm(ci)和rm(bi)分别代表网络流中某节点或某链路对应的切片中节点或链路的剩余资源大小. 考虑到某些流的水平扩充代价会随着切片内空闲的消耗而变化,因此在每一次扩充后都应该对当前流的平均扩充代价和基于平均扩充代价的有序流集合的元素次序进行更新. 2)水平扩充.水平扩充是在当前系统的可调度资源的基础上进行重构,本质上是网络切片创建问题. 在切片的水平调整过程中对不合格切片的重构操作按照各自的处理优先级进行处理.定义网络切片的水平调整优先级见式(8): (8) 其中,Tri表示切片的剩余服务时间,Ui即预期用户规模,nei即负面性能评价.因此该优先级保证切片剩余时间越长、用户规模越小、切片性能越差的网络切片越优先进行水平扩充. 之所以做出这样的决策,其一是因为剩余生存时间越长的切片带来的预期收益更高,其二是因为对用户规模小的切片进行扩充对系统整体资源消耗量较小(类似于操作系统中的短作业优先策略),其三是因为性能越差的切片往往预示着切片和切片网络功能的部署方案越不合理,所以被重新分配资源进行重组的紧迫程度越高. 考虑到切片创建和调节过程的复杂性,本文在切片回收决策设计的核心是资源延迟回收及复用策略. 参考操作系统底层对已分配的内存的回收过程,资源管理系统可以推迟回收失效切片资源的时机,原因如下:一方面,若失效切片符合新的切片创建标准或是切片调整目标,则该切片可被重新启用;另一方面,失效的切片可以被视为空闲切片而被直接释放为未分配资源;同时,因为切片复用的要求较为严格,因此失效切片在系统中时间足够久,被复用的概率才足够可观. 复用的标准需要同时满足两个条件: 2)保证失效切片端到端性能能够满足切片创建或调整的要求,对目标切片i而言,只有当ns满足(bwthns≥bwthi∧delayns≤delayi∧rlbns≥rlbi),才能满足KPI限制. 本文提出的切片回收算法更多的是对失效切片的复用来辅助切片调整过程和创建,优化整个系统的响应速度. 本文设计的仿真平台是基于Mininet[13,14]、Floodlight[15]和SFlow[16]进行的二次开发,整合了其他的程序作为辅助平台. 为测试本文提出的资源管理机制的性能,分别实现了SOCN、GLL机制以及本文提出的资源管理机制(标记为“Ours”).此外,还加入了一项仅保留文中切片创建机制的基准机制(标记为“SC”).这4种机制在请求接受率和平均性能偏差这两类指标上进行对比分析. 4.2.1 请求接受率 请求接受率反映了不同机制在同一底层网络下对网络切片的承载能力,与运营商的收益直接相关.其定义见式(9): (9) 式(9)代表前k个请求的请求接受率.而其中Nacp(k)代表前k个请求中被系统接受的请求数. 如图2所示,在初始阶段,基础设施中的节点容量和链路带宽资源充足,4种机制的请求接受率都较高,在后期由于早期的切片生命周期结束,所占用的资源逐渐被释放,因此3者的接受率曲线斜率逐渐趋于平缓.本文提出的资源管理机制整体趋势与SOCN机制接近,是因为这两项机制在构造网络切片时都综合考虑了底层网络拓扑的节点和链路资源状态,虽然最后本文设计的机制的请求接受率仍劣于SOCN,但并未拉开较大差距(请求接受率差距为4.8%).SC机制中的切片创建算法的启发式过程更是以切片的资源占用量为适应度函数,所以SC机制的请求接受率一直保持在较高水平.GLL机制在进行节点的资源分配时优先考虑节点剩余容量,在后期当切片请求越来越多时,系统内节点的剩余资源会趋于碎片化,而本文是基于最小费用最大流算法进行节点和链路的选取,因此网络切片的构造会更加合理,在请求接受率方面与GLL机制相比会造成10%的差距. 图2 切片请求到达率 4.2.2 平均性能偏差 平均性能偏差定义为各网络切片在运行时的实际服务质量与承诺值的偏差程度.由于本文主要考虑网络切片的带宽、时延和可靠性3项指标,因此需要对3者分别计算偏差值,见式(10)-式(13): (10) (11) (12) (13) 为了避免某些切片的极端情况影响对算法的整体评价,这3项指标都做了取均值的处理. 1)平均带宽偏差.平均带宽偏差衡量网络切片的实际用户数据承载能力.4种机制在运行时,管理域下所有切片的平均带宽偏差如图3所示. 图3 4种机制下的平均带宽偏差 当系统承载的切片越来越多,各节点和链路的剩余资源越来越少时,本文提出的资源管理机制对另外3者呈现出明显的优势,首要原因便是本文设计的基于实时性能监测的切片调整机制,能够对切片拓扑属性进行调整.而SOCN机制虽然不会对切片进行动态调整,但在构造阶段会根据服务类型进行差异化构造,所以平均带宽偏差会较低于动态调整的切片机制,差值约为0.12.SC机制优于SOCN是因为切片创建机制在构造时以预期用户规模下的最大端到端带宽作为构造标准,因此大部分场景下能够满足用户的带宽要求.而GLL机制对链路资源的分配欠缺考虑,所以平均带宽偏差将近是实时监测的资源管理机制的2倍,是SC机制和SOCN机制的1.4倍. 2)平均时延偏差.平均时延偏差反映了各网络切片应对高负载场景时的时延性能表现,结果如图4所示,需要注意的是,这里的时延指的是切片内实际的端到端时延,该值的大小和链路带宽、路径长度、切片负载程度相关.SC机制由于切片创建阶段中以链路时延作为权重因子,在系统轻负载下可以得到较低的时延,SOCN机制的差异化构造使得其在轻负载下时延也较低,但在重负载状态下,低时延的链路被占用后,两者都同样面临切片内路径时延过高的问题,两者时延偏差差距较小,但由于本文的资源管理机制具备实时切片调整和更严格的性能要求,表现出了更低的时延偏差,约为SOCN机制和SC机制的0.6倍.而GLL算法缺乏对路径的合理规划导致后期容易出现过长的路径,导致该机制的时延偏差是本文提出机制的2.5倍,约是SC机制和SOCN机制的1.6倍. 图4 4种机制下的平均时延偏差 3)平均可靠性偏差.路由可靠性这一指标主要取决于所经过的链路本身和所经过的链路的数量.所以,SOCN和SC机制在进行节点间的链路映射时优先使用最短路径算法挑选两节点间的最短路径进行映射,一定程度上控制了切片内的端到端路径的长度,因此在可靠性指标上与本文设计的资源管理机制的效果接近.GLL机制为了实现全局的资源负载平衡,牺牲了对切片内路径长度的考虑,所以后期可靠性偏差较大,约为本文资源管理机制的1.66倍.结果如图5所示. 图5 机制下的平均可靠性偏差 本文充分发挥基于SDN和NFV的5G网络切片架构优势,每个网络切片内部都增设SDN控制器,尽可能真实地模拟出基于SDN和NFV的网络切片部署环境,这种对实际应用场景的综合考虑使得本文设计的资源管理机制更加符合5G系统的实际使用场景,具备更高的使用价值.为了优化网络切片所涉及的资源调度过程,本文为网络切片的整个生命周期提供了完善的资源调度方案,既为网络运营商提升了资源利用率,又为终端用户提供了有效的服务质量(Quality of Service,QoS)保证.3.2 网络切片调整机制
3.3 网络切片回收机制
4 仿真实现与性能评价
4.1 仿真平台框架
4.2 性能评价
5 结论和展望