戳上面的蓝字关注我们哦!
基于顾问引导搜索的虚拟网络映射算法
刘文覃, 庄雷, 和孟佯, 田帅魁, 宋玉, 王国卿
郑州大学信息工程学院,河南 郑州 450001
摘要:
针对虚拟网络映射问题,提出了一种基于顾问引导搜索的虚拟网络映射算法。综合考虑节点CPU、节点度、邻接带宽资源,结合元启发式顾问引导搜索算法进行虚拟网络映射。实验结果表明,与EAJTA-VNE算法和ANT-VNE 算法相比,所提 CGS-VNE 算法在虚拟网络请求资源需求较低、资源需求中等、资源需求较高等环境下均有较高的请求接受率和收益成本比,缩短了映射时间。
关键词: 虚拟网络 ; 映射算法 ; 顾问引导搜索 ; 元启发式 ; 网络拓扑
引用格式:
刘文覃, 庄雷, 等.基于顾问引导搜索的虚拟网络映射算法[J]. 物联网学报, 2020, 4(2):113-121.
LIU W T, ZHUANG L, et al.Virtual network embedding algorithm based on consultant guided search[J]. Chinese Journal on Internet of Things, 2020, 4(2): 113-121.
1 引言
随着网络业务的不断增多以及网络规模的逐渐扩大,现有的网络已经僵化。为了解决此问题,部分学者提出了网络虚拟化的概念。网络虚拟化是网络领域的一项重要技术,在网络虚拟化环境中,多个服务提供商(SP,service provider)以虚拟网络请求的方式,租用基础设施提供商(InP,infrastructure provider)构建的物理网络,向用户提供网络服务。InP 负责部署和管理底层网络,通过优化虚拟网络映射方案使得自身利益最大化,即在占用最小底层网络资源的同时,接受更多的虚拟网络请求,以减少运营成本,而虚拟网络映射就是其面临的核心问题。 目前,已有部分学者对虚拟网络映射问题进行了相关研究。虚拟网络映射可分为一阶段和两阶段映射。文献提出了一种基于拓扑的映射算法,利用广度优先搜索及回溯法对虚拟节点与链路进行交替映射。文献先对节点CPU与邻接带宽之和进行求积作为重要度,再将重要度较大的虚拟节点映射到重要度较大的物理节点,最后采用最短路径算法映射链路。文献考虑节点容量、节点位置、链路带宽和链路传播时延,结合电磁场库仑定律和引力场牛顿定律对节点排序,采用贪婪式算法进行节点映射。文献基于节点度和聚类系数信息,采用了节点重要性度量技术为底层节点进行排序,并利用广度优先搜索算法映射虚拟节点,从而提高虚拟网络映射成功率。文献提出了一种候选辅助集合映射算法,其核心思想是在映射前构造候选底层节点子集和候选底层路径子集,采用整数线性规划的方法约简子集得到最优映射方案。文献提出了一种约束管理映射算法,根据虚拟网络映射候选解的约束对候选解的适应度进行分级,并利用信息驱动元启发式算法搜索到更好区域,进行虚拟网络映射。文献基于原对偶法的思想,结合完全多项式提出了近似路径映射算法,使用动态规划方法避免枚举全部路径集,生成满足跳数约束的路径,解决了具有跳数约束的虚拟链路映射问题。文献将资源需求较大的虚拟节点映射到已映射的物理节点的邻接位置,链路映射采用最短路径算法。文献在节点映射阶段,利用节点资源度与中心度的乘积定义节点重要性,将节点重要性最大的虚拟节点作为根节点,利用广度优先搜索算法将其他节点距离根节点的跳数划分为不同的候选节点集,利用贪心算法依次进行节点映射。在链路映射阶段,考虑不同链路之间的竞争,先映射带宽需求大的虚拟链路,再映射带宽需求小的虚拟链路。文献提出了一种环境拓扑联合感知的虚拟网络映射算法,对经典TOPSIS(technique for order preference by similarity to an ideal solution)算法进行改进,并应用到重要度节点排序上。将重要度最大节点作为根节点,利用广度优先搜索算法将剩余节点划分为不同集合,最后应用贪婪式算法映射所有节点。文献提出了一种基于适应度的动态虚拟网络映射算法,该算法允许虚拟网络在映射期间改变结构和资源需求。通过计算整个虚拟网络的局部最优和全局最优适应度以映射虚拟节点,考虑每个物理路径的传播时延和资源可用性以映射虚拟链路。 上述方法从不同角度考虑网络资源、拓扑信息对虚拟网络进行映射,但存在以下缺点:1) 回溯法在资源不足的环境下,会增加回溯次数,映射实现复杂;2) 为了节省成本,对链路跳数进行限制,该类算法不能充分利用底层网络资源;3) 综合考虑节点CPU、带宽资源、拓扑因素对节点进行排序,实质是矩阵的运算,时间复杂度较高,映射时间过长。针对以上问题,本文提出了一种基于顾问引导搜索(CGS,consultant guided search)的虚拟网络映射算法(CGS-VNE,a virtual network embedding algorithm based on consultant guided search)。CGS算法是由Serban提出的一种新颖的群体智能算法,CGS算法基于群体中的个体信息直接交换,其灵感来自真实世界中人类在做决策时会向顾问咨询,通过顾问的建议调整自身的决策。本文将 CGS 算法引入虚拟网络映射,将网络节点CPU、节点度、邻接带宽资源作为映射策略,结合元启发式 CGS 算法进行映射。以群体智能结合网络信息实现智能映射,最后根据资源约束的不同,分场景来验证该算法的映射效果。
2 建模与评价
2.1 网络模型
1) 虚拟网络 用加权无向图
表示虚拟网络,其中,
是虚拟网络上的虚拟节点集合,L v 是虚拟网络上的虚拟链路集合,
是虚拟网络请求节点所需底层网络的计算资源,是指对 CPU 计算能力的需求,
是虚拟网络请求所需的底层网络传输资源,主要是指对链路带宽的需求。虚拟网络映射如图1所示,图1(a)和图1(b)分别为虚拟网络I和虚拟网络II,其中,实线多边形表示虚拟网络节点,节点之间的连接线表示虚拟网络链路,节点附近的虚线框内数字为虚拟节点所需CPU,链路附近的数字表示虚拟网络链路所需带宽资源。 2) 底层网络 类似地,用加权无向图
表示虚拟网络,其中,N s 是底层网络上的物理节点集合,L s 是底层网络上的物理链路集合,
是底层网络物理节点 CPU,而底层网络链路
是可用传输带宽资源。图1(c)和图1(d)分别是底层网络I和底层网络II,实线圆形表示底层网络节点,节点之间的连接线表示底层网络链路,节点边缘虚线框中的数字表示该节点当前的可用资源量,链路附近数字表示链路剩余资源量。
图1 虚拟网络映射 3) 虚拟网络映射 虚拟网络以虚拟网络请求的方式向底层网络申请所需资源,每个虚拟网络请求都有自身的生命周期,即在某一时刻来临,在将来某一时刻离开,用V(Gv,Ta,Td)表示一个虚拟网络请求,Gv表示虚拟网络拓扑,Ta表示虚拟网络请求到达时刻,Td表示虚拟网络请求需要在底层网络中持续的时间。当一个虚拟网络请求到达时,底层网络根据资源使用情况决定是否接受该请求,若接受该请求,则为该请求分配相应资源直至该请求生命周期结束,上述底层网络为虚拟网络分配资源的过程称为虚拟网络映射。虚拟网络向底层网络映射的过程可形式化为
。虚拟网络映射分为两部分,即节点映射至满足资源约束的物理节点和将虚拟链路映射至满足带宽约束的物理链路。图1(a)和图1(c)为虚拟网络Ⅰ映射方案,节点映射为{a→C,b→D},链路映射为{ab→CD},底层网络接受虚拟网络Ⅰ之后的剩余资源分布如图1(c)所示。图1(b)和图1(d)为虚拟网络Ⅱ映射方案,节点映射为{a→D,b→E,c→F},链路映射为{ab→DE,ac→DF,bc→EF},底层网络接受虚拟网络Ⅱ之后的剩余资源分布如图1(d)所示。
2.2 评价指标
虚拟网络映射旨在充分利用底层网络资源为更多的虚拟网络请求提供服务,进而提高网络运营商的收益,评价指标如下。 1) 虚拟网络请求接受率为
其中,VNRrecv是指从0到T时刻成功映射的虚拟网络数量,VNRrqst为从0到T时刻虚拟网络请求总数。δ 为无穷小数,可以避免分母为零的情况出现。 2) 底层网络长期收益成本比 在t时刻,一个虚拟网络映射成功所带来的收益定义为
运营收益是指接受该虚拟网络可以为底层网络提供商所带来的经济利益,其中,
表示虚拟网络映射时所需的节点 CPU,
表示虚拟网络映射时所需的链路带宽,α和(1-α)用来权衡节点CPU与链路带宽所占比重。 在t时刻,接受一个虚拟网络所占用的物理网络资源成本为
成本是指接受该虚拟网络时底层网络所需要提供的网络资源,并且满足式(4)。
表示底层网络物理链路ls为虚拟链路lv提供的带宽资源,α和(1-α)的含义同上。 3) 平均节点资源利用率为
其中,
是指底层网络接受虚拟网络请求所提供的底层网络节点资源,
是指底层网络节点总资源。
2.3 符号说明
虚拟网络和物理网络都包括节点和链路,为了便于形式化表示,对所用符号进行说明,符号说明如表1所示。
3 算法设计
本文旨在提高虚拟网络映射的成功率,同时增加收益,所提两阶段映射算法 CGS-VNE 在节点映射阶段,将节点CPU、节点度、邻接带宽资源作为策略,通过顾问引导机制进行节点选择;在链路映射阶段,先删除不满足带宽约束的链路,再使用最短路径算法映射链路,从而减小链路带宽开销。
3.1 CGS虚拟网络映射
CGS 算法是由 Serban 提出的一种新颖的群体智能算法,CGS基于群体中的个体信息直接交换,其灵感来自真实世界中人类在做决策时会向顾问咨询,通过顾问的建议调整自身的决策。本文将CGS算法引入虚拟网络映射,具体过程如下。 首先,初始化M,根据策略集为每个顾问分配策略,顾问根据自身策略向顾客给出建议,引导顾客进行节点选择,策略集包含如下策略:1) 优先选择底层节点中剩余资源最多的节点;2) 优先选择底层节点中度数最大的节点;3) 优先选择底层节点中邻接带宽和最大的节点。 这3种策略从不同角度将底层网络信息纳入考虑,第一个策略从节点 CPU 角度考虑提高底层网络承载量,底层节点剩余资源越多,则越能承载更多的虚拟节点,从而提高后续节点成功映射的概率;第二个策略从拓扑角度考虑提高底层网络承载量,节点度数越大,则其相邻的节点越多,在进行链路映射时有更多的备选链路方案,链路映射成功率越高;第三个策略从链路带宽资源角度考虑提高底层网络承载量,节点周围链路带宽和越多,意味着该节点周围链路带宽越丰富,则能够承载的虚拟链路越多。 当一个虚拟网络到来时,顾客根据虚拟节点逐点向顾问咨询节点映射方案,顾问根据自身策略向顾客给出建议,每个顾问被选择的概率如式(6)所示。
其中,
为第i个顾问的声誉值,P i 为第i个顾问被选择的概率。 客户不总是采纳顾问给出的建议,同样地,客户会以q的概率决定是否采纳顾问给出的建议。
q 0是接受阈值,如果q小于这个阈值就采纳此次建议,否则就不采纳建议。q0为一个经验概率,通过多次实验调整所得经验值,本文设置q0=0.7。如果客户不采纳顾问的建议,那么客户将会随机选取一个满足资源约束的物理节点,作为本次虚拟节点映射的节点。 在每次选择节点的过程中,都会对顾问的声誉进行相应调整,如果某顾问获得成功,即在本次节点选择中该顾问被选中,并且所给出的建议被客户所采纳,顾问的声誉则会得到相应提升,否则声誉衰减。顾问k在第j个虚拟节点选择时声誉调整计算式为
其中
是第j个虚拟节点选择时顾问的声誉,r a 是声誉增加算子,r d 是声誉衰减算子。
3.2 算法描述
虚拟网络映射是NP难问题,本文提出了元启发式 CGS-VNE 算法对问题进行求解,CGS-VNE节点映射如算法1所示。初始化M,设置策略集并为每个顾问分配一个策略,每个策略分别从节点的资源、节点度、邻接带宽资源考虑底层网络信息。当一个虚拟网络请求到来时,先筛选出满足节点CPU约束的物理节点集合C,如果集合C为空,意味着当前底层网络没有物理节点可以承载此虚拟节点,则映射失败;如果集合C不为空,客户会针对每一个虚拟节点询问顾问映射方案,根据式(6)决定选择哪一个顾问,顾问会根据自身策略给出节点映射方案,此时,顾客可以选择是否接受这个方案,如果接受,那么顾问获得一次成功;如果不接受,将从其余满足资源约束节点中随机选取一个,反复迭代直至所有虚拟节点都映射完成。最后根据顾问的成功情况对其声誉进行调整,如果获得成功,则根据式(8)增加其声誉,否则根据式(8)衰减其声誉。 算法1 CGS-VNE节点映射 输入 虚拟网络Gv,底层网络Gs 初始化M,设置策略集 为每一个顾问分配策略 for 每个客户 do for 虚拟网络Gv中每个虚拟节点nv∈Nvdo选取满足资源约束的物理节点集合C if C 为空 then return NODE_MAPPING_FAILD else 按照式(1)选择顾问咨询 顾问根据自身策略给出建议 客户根据式(2)选择是否接受该建议 end for for每一个顾问 do if 取得成功 then 根据式(8)增加声誉 else 根据式(8)衰减声誉 end if end for end for return NODE_MAPPING_SOLUTION 在链路映射阶段,首先删除不能满足链路带宽约束的物理链路,然后采用k-最短路径算法进行映射。
3.3 算法复杂度分析
CGS-VNE 算法时间复杂度包括节点映射复杂度和链路映射复杂度,为顾问分配策略集的时间复杂度为O(|M|),为每个虚拟节点选择对应物理节点的时间复杂度为O(|Ns|lg|Ns||Nv|),链路映射k-最短路径时间复杂度为O(k|Ns|(|Es|+|Ns|lg|Ns|)),总时间复杂度为O(|M|+|Ns2||Nv|+|Es|+|Ns|lg|Ns|)。
4 实验
对本文所提CGS-VNE映射算法进行实验,并与文献所提 ANT-VNE 算法和文献所提EAJTA-VNE 算法在不同场景下进行对比实验,对虚拟网络请求接受率、收益成本比、节点利用率、映射时间等评价指标进行比较分析。
4.1 实验环境
在双核CPU 3.4 GHz、6 GB内存的PC机上使用Python搭建实验环境。使用拓扑生成器GT-ITM生成物理网络和虚拟网络拓扑。物理网络有100个节点、570条链路,物理节点CPU和物理链路带宽资源容量满足[50,100]均匀分布。虚拟网络请求到达符合泊松分布,每100个时间单元到达5个虚拟网络请求,生命周期符合均值为1 000个时间单元的指数分布。映射收集时间窗口大小设定为2 000个时间单位,模拟环境总时长为40 000个时间单位,共2 000个虚拟网络请求。 1) 场景1:虚拟网络资源需求中等环境 虚拟节点个数满足[2-20]均匀分布,虚拟网络中虚拟节点所需 CPU 服从[0,50]、带宽资源服从[0,50]均匀分布,虚拟节点间相连的概率为0.5。 2) 场景2:虚拟网络资源需求较低环境 虚拟节点个数满足[2-10]均匀分布,虚拟网络中虚拟节点所需 CPU 服从[0,30]、带宽资源服从[0,30]均匀分布,虚拟节点间相连的概率为0.5。 3) 场景3:虚拟网络资源需求较高环境 虚拟节点个数满足[10-20]均匀分布,虚拟网络中虚拟节点所需 CPU 服从[30,60]、带宽资源服从[30,60]均匀分布,虚拟节点间相连的概率为0.5。
4.2 实验结果分析
4.2.1 场景1实验结果分析 图2为场景1中3种算法的请求接受率随运行时间的变化曲线,可以看出随着运行时间的增加, 3 种算法的请求接受率逐渐下降,最终趋于稳定。ANT-VNE 算法在考虑资源约束的同时考虑链路跳数,但会出现底层网络不能同时满足节点 CPU 约束与链路跳数约束的情况,因此,请求接受率保持在 65%左右。EAJTA-VNE 算法综合考虑节点CPU、节点邻接带宽资源、节点度等因素,使用加权相对熵方法对虚拟节点排序,性能有所提高,请求接受率保持在 70%左右。本文提出的CGS-VNE算法在考虑网络资源和拓扑的同时,引入顾问引导机制,智能引导虚拟网络映射,从而提高了映射成功率,请求接受率保持在85%左右。图3 比较了场景 1 中 3 种算法的收益成本比, ANT-VNE算法请求接受率最低,收益成本比低于其他两种算法。EAJTA-VNE算法使用相对熵对节点排序,收益成本比高于ANT-VNE算法。CGS-VNE算法考虑了CPU、节点度、节点邻接带宽,并利用顾问引导机制智能算法指导映射,所以收益成本比高于其他两种算法。图4对比了场景1中3种算法的节点利用率,ANT-VNE算法与EAJTA-VNE算法针对网络资源和拓扑属性对节点排序,节点利用率相近。CGS-VNE算法利用顾问引导机制融合网络资源和拓扑属性引导节点映射,在一定程度上提高了节点利用率。
图2 场景1中3种算法的请求接受率随运行时间的变化曲线
图3 场景1中3种算法的收益成本比
图4 场景1中3种算法的节点利用率 4.2.2 场景2实验结果分析 在场景2中,虚拟网络节点个数、资源需求相对较低。场景2中3种算法的请求接受率随运行时间的变化曲线如图5所示。
图5 场景2中3种算法的请求接受率随运行时间的变化曲线 从图5可以看出,3种算法的请求接受率相较于场景1都有所提高。最初3种算法的请求接受率均较高,但随着运行时间的变化,底层网络负载越来越多,请求接受率都有所下降,CGS-VNE 算法的请求接受率高于其他两种算法,稳定在90%左右。 场景2中3种算法的收益成本比如图6所示。从图6可以看出,3种算法的收益成本比均有不同程度的提高。场景2中3种算法的节点利用率如图7所示,从图7可以看出,相较于场景1,3种算法的节点利用率均有不同程度的下降。
图6 场景2中3种算法的收益成本比
图7 场景2中3种算法的节点利用率 4.2.3 场景3实验结果分析 在场景3中,虚拟网络节点个数、资源需求相对较高。场景3中3种算法的请求接受率随运行时间的变化曲线如图8所示,相较于场景1和场景2,3种算法的请求接受率都有所下降(对比图2、图5、图8)。ANT-VNE 算法的请求接受率稳定在 40%左右, EAJTA-VNE 算法的请求接受率稳定在 50%左右, CGS-VNE算法的请求接受率稳定在60%左右,虚拟网络节点个数、资源需求增多导致底层网络不能接受更多的虚拟网络个数,请求接受率下降。请求接受率下降导致网络整体收益减少,3种算法收益成本比相较于其他两个场景都有所下降,场景3中3种算法的收益成本比如图9所示(对比图3、图6、图9)。3种算法的节点利用率都有所上升,场景3中3种算法的节点利用率如图10所示(对比图4、图7、图10),因为底层网络资源相同,虚拟网络请求资源较大,底层网络尽最大能力去接受虚拟网络。综上所述,在资源受限的情况下,CGS-VNE 算法依然比其他两种算法表现更好。
图8 场景3中3种算法的请求接受率随运行时间的变化曲线
图9 场景3中3种算法的收益成本比
图10 场景3中3种算法的节点利用率 4.2.4 算法复杂度及映射时间 EAJTA-VNE 算法时间复杂度已在文献[ 23 ]中给出,即 O(|Nv|+|Nv||Ns|2+k|Ns|(|Es|+|Ns|+|Ns|lg|Ns|), CGS-VNE算法时间复杂度本文已给出。 由于时间复杂度较低,CGS-VNE 算法在映射时间上也具有较大的优势,3 种算法运行时间比较如 表2 所示。从表2可以看出,EAJTA-VNE算法使用相对熵对节点 CPU 及拓扑信息进行排序,时间复杂度较高。而且在计算节点排序指标时,使用加权相对熵算法需要进行大量矩阵运算,在3种场景中,映射时间多于其他两种算法;ANT-VNE 算法在3种场景中映射时间保持中等,一方面,因为该算法以节点中心度和接近中心度乘积作为节点排序重要度,需要对虚拟网络、物理网络按照链路跳数划分集合,然后对每个集合中的节点排序,算法复杂度与EAJTA-VNE算法相比较低;另一方面,因为底层网络很少满足虚拟网络资源约束,导致直接映射失败,从而平均映射时间较少;CGS-VNE算法与其他算法不同,综合考虑底层网络拓扑,利用顾问引导机制进行节点映射,在保证映射成功的情况下,在3种场景中的映射时间都最短。
5 结束语
本文提出了一种基于 CGS 的虚拟网络映射算法CGS-VNE。将元启发式CGS算法引入虚拟网络映射中,结合底层网络节点CPU、带宽资源、拓扑信息进行虚拟网络映射。仿真实验结果表明,相较于 EAJTA-VNE 算法和 ANT-VNE 算法, CGS-VNE算法在请求接受率、收益成本比和节点利用率方面有明显提高,而对于负载均衡、链路利用率等非主要评价指标未充分考虑。场景 1验证了算法在常规环境下具有良好的映射效果,场景 2验证了算法在虚拟网络资源需求较低环境中的有效性,场景 3验证了算法在资源受限环境下的优越性。本文将顾问引导搜索应用到节点映射上,而链路采用最短路径映射,下一步将在现有基础上,将CGS机制引入链路映射,指导链路寻优,进一步优化映射效果。
作者简介 About authors
刘文覃(1995-),男,河南商丘人,郑州大学信息工程学院硕士生,主要研究方向为下一代互联网和网络虚拟化等 。 庄雷(1963-),女,山东日照人,郑州大学教授、博士生导师,主要研究方向为未来网络架构、网络虚拟化和模型检测等 。 和孟佯(1994-),女,河南南阳人,郑州大学信息工程学院博士生,主要研究方向为下一代互联网、网络虚拟化和机器学习等 。 田帅魁(1992-),男,河南商丘人,郑州大学信息工程学院硕士生,主要研究方向为下一代互联网和网络虚拟化等 。 宋玉(1969-),男,河南邓州人,郑州大学信息工程学院副教授,主要研究方向为数据挖掘、物联网体系结构和人工智能等 。 王国卿(1989-),男,山东临沂人,郑州大学信息工程学院博士生,主要研究方向为模型检查、形式分析和物联网安全等 。
联系我们:
Tel:010-81055683
010-81055483
010-81055691
E-mail:[email protected]
http://www.infocomm-journal.com/wlw
http://www.wlwxb.com.cn
往期文章回顾
【论文】基于区块链与边缘计算的物联网数据管理
【论文】区块链在物联网系统中的应用探讨
【论文】优化可扩展的拜占庭容错共识算法
【论文】基于区块链的动态频谱共享接入技术
【论文】区块链跨链技术分析
【论文】基于区块链的安全车联网数字取证系统
【论文】基于区块链智能合约的物联网恶意节点检测和定位
【论文】基于区块链的分布式物联网设备身份认证机制研究
【论文】一种基于区块链的物联网架构
【论文】面向6G物联网的智能反射表面设计
【论文】工业物联网中基于边缘计算的跨域计算资源分配与任务卸载
【论文】基于毫米波感知的小型无源物体定位追踪
『物联网学报』办刊方针和业务范围为:刊载物联网及相关交叉学科研究领域具有创新性的基础理论、关键技术、研究热点及基础与应用研究成果的学术论文,充分展示我国研究成果,反映我国的前沿研究水平,为我国正在迅速发展的物联网科技创新与产业服务提供学术支持,促进我国物联网技术与应用领域的发展。
扫码关注物联网学报官方微信获取更多!