2.2.3 仿真结果及分析

本小节对算法的性能进行仿真验证,主要考察SFC部署成功率及底层网络带宽资源开销。

2.2.3.1 仿真环境介绍

仿真使用的计算设备为英特尔i5-2430处理器,内存为2GB,运行环境为Linux。底层网络拓扑均由开源软件GT-ITM在Waxman模式下随机生成[12],其中参数a设置为0.3,参数b设置为0.5。节点规模分别为100(小型)、300(中型)和1000(大型)。节点计算资源在(5,10)之间随机分布,链路带宽资源在(200,400)之间随机分布。三个拓扑同时用于仿真,以验证主算法在不同规模拓扑下的性能优势。SFC到达率服从泊松分布,其期望设定为40。采用的对比算法为KVDF(Key Virtual Network Function Deploy First)和CCMF(Closed-loop with Critical Mapping Feedback)[13]

2.2.3.2 分层子算法仿真

为了验证分层子算法探索网络资源分布、精准发挥突破硬件瓶颈的潜力。在底层网络中在线SFC数量稳定于40条左右时,对分层拓扑中每层的资源(链路带宽资源和节点计算资源,其中带宽资源又细分为向上和向下)进行统计分析,定位限制系统承载能力的一级层级,再扫描该层的二级层级,得到更详细的资源分布情况。分层子算法在小规模拓扑下的仿真结果如图2-3所示。

图2-3 分层子算法在小规模拓扑下的仿真结果

图2-3(a)显示第5~10层(一级层)的剩余带宽资源和节点计算资源相对较少,随着SFC数量的增加可能会成为网络瓶颈。图2-3(b)是资源相对匮乏的第7层的详细资源信息。节点67与邻层相连的带宽资源都比较匮乏,导致该节点上的计算资源得不到充分利用;节点72则是计算资源匮乏,尽管带宽资源充裕,却没有足够的算力来承载VNF,导致资源浪费。这些节点可能会割裂底层网络,产生多个无法相互协作的子网,极大限制整个网络的承载能力。

图2-4和图2-5相继给出了分层子算法在中规模和大规模拓扑下的仿真结果,仍能清晰地观察到瓶颈节点、链路。由此可判断:在分层子算法的帮助下,可以找出网络中的资源匮乏点,并且有针对性地补充节点算力或通信链路,以最小的代价实现精准的网络升级,修复因资源匮乏而出现的各种网络问题,从而大幅提升网络的承载能力。

图2-4 分层子算法在中规模拓扑下的仿真结果

图2-5 分层子算法在大规模拓扑下的仿真结果

2.2.3.3 SFC部署成功率

图2-6分别对应三种算法在小、中、大规模拓扑下SFC的部署成功率。CCMF、KVDF平均部署成功率分别是75%和55%,相比之下主算法(SFCD-LEMB)则一直维持在85%左右,始终处于领先地位。

图2-6 三种算法在不同拓扑下SFC部署成功率

随着网络规模由小变大,CCMF和KVDF的成功率出现明显波动:前者在小规模拓扑下性能较好,后者则相反,两者都只能在部分拓扑下达到最佳性能。SFCD-LEMB算法的部署成功率则平稳得多,只出现轻微的性能损失。这得益于分层子算法重编排的两级拓扑结构对SFC顺利部署的精准指导。此外,随着SFC长度的变化,CCMF和KVDF算法的部署成功率依然波动明显。而由于分层子算法对底层拓扑的“感知”能力,SFCD-LEMB算法能动态适配SFC长度变化,做出更优的部署决策,从而使成功率对SFC长度不敏感。

由此可印证,在相同环境下(同一拓扑或相同SFC长度),SFCD-LEMB算法相较于对比算法,能始终保持更稳定、更优质的SFC部署成功率。

2.2.3.4 SFC带宽资源开销

图2-7分别对应三种算法在小、中、大规模拓扑下的带宽资源开销。SFCD-LEMB的带宽资源开销始终远低于其他对比算法:在中、小规模拓扑中,SFCD-LEMB算法的带宽资源开销大约是CCMF的60%、KVDF的50%;在大规模拓扑中则大约是70%和60%。

图2-7 三种算法在不同拓扑下的带宽资源开销

当SFC较短时,SFCD-LEMB的带宽资源开销小,优于其他对比算法,随着SFC加长,主算法的优势越来越显著。其他算法的带宽资源开销随SFC长度的增长快速上升,但SFCD-LEMB算法能保持轻量增幅和平稳的增速,性能释放稳定,能更高效地调度物理资源,缓解运营商的硬件压力,保证更好的服务质量。

SFCD-LEMB算法借助分层拓扑信息在部署SFC请求时能够有选择、有方向地延伸路径,尽可能使映射路径与SFC相匹配,从而达到高效利用物理资源的效果。因此,在同拓扑、同SFC长度的环境下,SFCD-LEMB的资源开销必然优于对比算法,这也赋予了该算法更大的潜力去应对网络重载的情况。