为满足云计算多样化业务需求, 云提供商运用网络虚拟化技术支持创建共享物理网络和运行多个异构虚拟网络[1]。虚拟网络映射(Virtual Network Mapping, VNM)是网络虚拟化的一个关键技术之一, 由于虚拟网络请求中节点和链路的资源需求约束, 虚拟网络映射问题是NP-hard问题[2]。随着网络虚拟化技术的快速发展和广泛应用, VNM作为其中急需解决的关键问题, 已成为当前热门的研究领域[3]。
目前虚拟网络映射和优化问题已有一定的研究成果, 主要的映射算法可以分为基于图论、基于拓扑感知、基于数学规划模型3种[4]。基于图论的算法是在映射过程中使用图论的方法, 如构子图搜索[5-6]、子图分割[7-8]方法等。基于拓扑感知的算法是通过拓扑感知分析网络中资源重要性的差异, 用以优化资源选取。文献[9]利用7个互补特征综合考虑虚拟网络的拓扑属性。文献[10]考虑节点和链路的属性, 提出基于接近中心度的映射算法。文献[11]引用加权相对熵的概念, 通过对虚拟网络和物理网络的拓扑感知适应物理资源的动态变化。基于数学规划模型[12-13]的算法将映射问题建模为数学问题, 文献[14]基于线性规划理论, 通过预处理不同类型的请求以降低映射成本。
上述算法对先到达的虚拟网络请求优先分配资源, 使不同请求映射间缺少协同, 导致物理资源碎片化, 降低了后续到达请求的接受率。对此, 本文提出基于最优子图的虚拟网络映射算法。通过优化的重边匹配(Band Heavy Edge Matching, B-HEM)算法粗化虚拟网络拓扑, 并利用广度优先搜索(Breadth First Search, BFS)算法建立候选物理子网集合, 将虚拟网络请求映射至最合适的物理子网, 从而加强不同请求之间的协同, 降低物理资源碎片率。
1 虚拟网络映射问题描述 1.1 网络模型虚拟网络映射模型如下:
1) 物理网络。可以抽象为加权无向图Gs=(Ns, Ls, AsN, AsL), 其中, Ns和Ls分别为物理网络的节点集合和链路集合, AsN和AsL分别表示物理节点ns(ns∈Ns)和物理链路ls(ls∈Ls)的属性集合。ns的属性为剩余节点计算资源cpu(ns)和节点位置loc(ns), loc(ns)=(xs, ys)为节点二维坐标, ls的属性为剩余链路带宽资源bw(ls)。
2) 虚拟网络请求。可以抽象为加权无向图Gv=(Nv, Lv, CVN, CCL, Ta, Tl), 其中, Nv和Lv分别为虚拟网络请求的节点集合和链路集合, CvN和CvL分别表示虚拟节点nv(nv∈Nv)和虚拟链路lv(lv∈Lv)的约束条件, Ta和Tl分别表示请求的到达时间和生存时间, nv的约束条件为该节点的计算资源需求cpu(nv)以及映射距离约束Dis(nv), lv的约束条件为该链路带宽资源需求bw(lv)。
3) 虚拟网络映射。可以描述为Gv与满足约束条件的Gs子集的映射关系, M:Gv→Gsub=(N′s, L′s, RNsubs, RLsubs), 其中, Gsub∈Gs表示分配给Gv的物理资源, N′s∈Ns, L′s∈Ls, RNsubs和RLsubs分别表示分配给虚拟网络的节点资源和链路资源。
虚拟网络映射示意图如图 1所示。
|
Download:
|
| 图 1 虚拟网络映射示意图 | |
虚拟网络映射的一个主要挑战是找到带有约束条件的虚拟网络请求到物理网络的有效映射, 以便剩余物理资源可以承载更多的请求[15]。本文以链路映射平均跳数、虚拟网络请求接收率及收益开销比评价算法性能。
链路映射平均跳数为:
| $ \bar h\left( {{G_v}} \right) = \sum\limits_{{l_v} \in {L_v}} {h\left( {{M^L}\left( {{l_v}} \right)} \right)} /\left| {{L_v}} \right| $ | (1) |
其中, ML(lv)为承载虚拟链路lv的物理路径, Lv为请求中虚拟链路的总数。
映射请求接受率为:
| $ \mathop {\lim }\limits_{T \to \infty } \frac{{\sum\limits_{t = 0}^T V {N_m}(t)}}{{\sum\limits_{t = 0}^T V N(t) + \eta }} $ | (2) |
其中, VNm(t)为映射成功的请求集合, VN(t)为所有到达的请求集合, η为趋近于0的正数, 防止分母为0。
t时刻Gv的映射收益开销比如下所示。
定义t时刻Gv的映射收益为:
| $ R\left( {{G_v},t} \right) = \sum\limits_{{n_v} \in {N_v}} c \left( {{n_v}} \right) + \alpha \sum\limits_{{l_v} \in {L_v}} b w\left( {{l_v}} \right) $ | (3) |
其中, α为节点与链路的收益均衡因子, 本文中α=1。
定义t时刻Gv的映射开销为:
| $ C\left( {{G_v},t} \right) = \sum\limits_{{n_v} \in {N_v}} c \left( {{n_v}} \right) + \beta \sum\limits_{{l_v} \in {L_v}} h \left( {{l_v}} \right)bw\left( {{l_v}} \right) $ | (4) |
其中, h(lv)为虚拟链路lv映射到物理链路的跳数, β为节点与链路的开销均衡因子, β=1。
定义网络的收益开销比为:
| $ R/C = \mathop {\lim }\limits_{T \to \infty } \frac{{\sum\limits_{t = 0}^T {\sum\limits_{{G_v} \in V{N_m}(t)} {R\left( {{G_v},t} \right)} } }}{{\sum\limits_{t = 0}^T {\sum\limits_{{G_v} \in VN(t)} C } \left( {{G_v},t} \right)}} $ | (5) |
现有虚拟网络映射算法可分为一阶段映射(协同映射)与两阶段映射算法[16]。相较于一阶段映射[17], 两阶段映射算法[18]不仅复杂度较低, 而且可在计算资源开销较小情况下获得较好的映射结果, 因此, 本文选取两阶段映射算法。首先使用B-HEM算法粗化到达的虚拟网络请求, 并运行BFS算法为请求创建候选物理子网集合Ω(Gsub), 之后利用贪婪算法[19]映射虚拟节点, K最短路径算法映射虚拟链路, 将请求映射至最优物理子网Gsubi。
2.1 虚拟网络的粗化请求定义链路重要度为链路带宽资源与两端节点计算资源和的比值, 即:
| $ VL\left( {{l_v}} \right) = band\left( {{l_v}} \right)/\sum\limits_{{n_i} \in {l_v}} c pu\left( {{n_i}} \right) $ | (6) |
根据VL(lv)值对虚拟链路从大到小排序, 如果链路两端节点计算资源和小于物理网络剩余计算资源最大值cpumax, 则将两节点整合, 每次整合后更新请求, 生成拥有更大带宽需求的虚拟网络拓扑, 如果新生成链路的带宽大于最大剩余物理带宽bandmax, 且链路两端节点计算资源和大于cpumax, 则放弃此次整合。具体粗化过程如算法1所示。
算法1 Coarsening(Gv)算法
输入 Gv, cpumax, bandmax
输出 Gv
1.for每一条虚拟链路 do
2.计算VL(lv)
3.end for
4.将链路依据VL(lv)值从大到小排序, 结果存入Linklist
5.for每一条虚拟链路lv∈Linklist do
6.if band(lv)>bandmax
7.return Gv
8.else if
9.合并2个虚拟节点, 更新虚拟网络请求
10.Coarsening(Gv)
11.return Gv
12.end for
13.return Gv
2.2 候选物理子网的创建定义节点资源度和接近中心度如下:
1) 节点资源度为节点计算资源与所有相邻链路带宽资源的和:
| $ R\left( {{n_i}} \right) = cpu \left( {{n_i}} \right) + \sum\limits_{{l_v} \in {L_v}} b w\left( {{l_i}} \right) $ | (7) |
2) 接近中心度为节点与全体可到达节点最短跳数之和的倒数:
| $ D\left( {{n_i}} \right) = \frac{1}{{\sum\limits_{{n_i} \ne {n_j}} d \left( {{n_i},{n_j}} \right)}} $ | (8) |
定义节点重要度为:
| $ VN\left( {{n_i}} \right) = R\left( {{n_i}} \right)D\left( {{n_i}} \right) $ | (9) |
定义网络资源度为:
| $ \mathit{Re}\left( {{G_i}} \right) = \sum\limits_{{n_i} \in {G_i}} {cpu} \left( {{n_i}} \right) + \sum\limits_{{l_i} \in {G_i}} b w\left( {{l_i}} \right) $ | (10) |
为到达的虚拟网络请求建立物理子网Gsubs=(Nsubs, Lsubs), 其中, Nsubs∈Ns为满足计算资源约束和位置约束的物理节点集合, Lsubs∈Ls为满足带宽资源约束的物理链路集合。将物理节点ns∈Nsubs按照VN(ns)降序排序, 以VN(ns)最大的ns为根节点运行BFS算法生成候选物理子网Gsubi=(Nsi, Lsi), 其中, Nsi∈Ns, Lsi∈Ls。将Gsubi放入候选物理子网集合Ω(Gsubi), 删除Nsubs和Lsubs中相应的物理结点ns∈Nsi和物理链路ls∈Lsi。将Ω(Gsubi)中的候选物理子网按照Re(Gsubi)值从大到小排序, 删除Re(Gsubi)值小于虚拟网络请求的候选物理子网。候选物理子网创建过程如算法2所示。
算法2 Creating_subnet(Gsubi)算法
输入 Gv, Gs
输出 Ω(Gsub)
1.for每一个待映射的虚拟网络请求do
2.建立物理子网Gsubs=(Nsubs, Lsubs), 其中, Nsubs∈Ns为满足计算资源约束和位置约束的物理节点集合, Lsubs∈Ls为满足带宽资源约束的物理链路集合。
3.if Nsubs或Lsubs为空
4.return false
5.else
6.for每一个ns∈Nsubs do
7.计算VN(ns)
8.end for
9.do
10.以VN(ns)值最大的物理节点为根节点运行BFS算法, 生成候选物理子网Gsubi
11.将Gsubi放入候选物理子网集合Ω(Gsubi), 删除Nsubs和Lsubs中相应物理结点ns∈Nsi和物理链路ls∈Lsi
12.while Nsubs和Lsubs不为空
13.end if
14.for每一个候选物理子网Gsubi∈Ω(Gsubi) do
15.计算Re(Gsubi)
16.end for
17.将候选物理子网按Re(Gsubi)值从大到小排序, 删除Re(Gsubi)值小于虚拟网络请求的候选物理子网
18.end for
19.return Ω(Gsub)
3 性能评估与分析本文通过Matlab进行仿真实验评估。使用GT-ITM[20]拓扑生成工具创建实验所需的虚拟网络和物理网络拓扑, 具体实验参数配置如表 1所示, 其中, 所有虚拟节点的位置约束为Dis(nv)=200。
|
下载CSV 表 1 仿真实验参数设置 |
本文实验分为两部分, 验证所提算法性能和分析位置约束条件对算法性能的影响。每次实验需要30 000个时间单元, 约有1 500个虚拟网络请求到达, 以10次实验结果的平均值作为最终结果。
3.1 算法性能比较将本文所提B-VNE算法与TA-VNE算法[11]、DV-VNE算法[14]、G-VNM算法[19]进行对比, 从请求接受率、收益开销比两方面验证所提算法性能。
图 2为4种算法性能的变化情况。其中, B-VNE算法的请求接受率和收益开销比最大, 分别为0.68和0.58, G-VNM算法的请求接受率和收益开销比最小, 分别为0.64和0.53。仿真结果表明, B-VNE算法性能较好。
|
Download:
|
| 图 2 4种算法性能比较 | |
由图 2可知, 在当前实验参数下4种算法性能较为接近, 位置约束较小导致虚拟节点可映射的候选物理节点较少, 减小了算法解的多样性。为进一步研究位置约束条件对请求接受率和收益开销比的影响, 探索可提升算法性能的因素, 本文设计了不同位置约束下算法性能对比实验。
3.2 位置约束对算法性能的影响其他实验参数不变, 所有节点的位置约束分别设为D(nv)=500、D(nv)=1 000, 根据链路映射平均跳数、虚拟网络请求接受率、收益开销比的变化情况分析位置约束对算法性能的影响。
表 2为3种位置约束下4种算法的平均跳数(h)变化情况, 可以看出, 随着D(nv)的增大, B-VNE算法和TA-VNE算法的h明显减小, 而DV-VNE算法和G-VNM算法的h逐渐变大, 变大幅度较小。
|
下载CSV 表 2 4种算法的链路映射平均跳数 |
图 3、图 4分别为D(nv)=500、D(nv)=1 000时4种算法请求接受率和收益开销比的变化情况。可以看出, B-VNE算法和TA-VNE算法的性能明显提高, 而DV-VNE算法和G-VNM算法性能变化较小。
|
Download:
|
| 图 3 D(nv)=500时的请求接受率与收益开销比变化情况 | |
|
Download:
|
| 图 4 D(nv)=1 000时的请求接受率与收益开销比变化情况 | |
结合表 2与图 2~图 4可以看出, 位置约束、链路映射平均跳数与算法性能具有相关性。4种算法的h在位置约束较小时比较接近, 且较大, 这与图 2中4种算法性能接近相符合。在表 2不同位置约束下, B-VNE算法的h最小, 这是因为B-VNE考虑了不同虚拟网络请求间的协同, 在映射前粗化请求的拓扑, 且考虑位置约束, 利用BFS算法为请求创建合适的子网, 进一步缩短了链路映射跳数, 减小了映射开销, 使相同的物理资源可以承载更多的请求, 因此它的请求接受率和收益开销比在4种算法中也是最优的。TA-VNE算法的h仅次于B-VNE, 这是因为其在映射时只考虑了节点的邻接关系与位置约束, 所以性能提升不如B-VNE明显。G-VNM算法和DV-VNE算法的h较大, 由于两者并未考虑虚拟网络请求映射前后拓扑的一致性, 无法有效减小链路映射长度, 因此性能较差。
4 结束语本文通过分析云计算中的虚拟网络映射问题, 提出一种基于最优子网的虚拟网络映射算法。该算法通过创建候选物理子网映射虚拟网络请求, 以避免先到达的请求占用过多的关键资源, 从而提高物理资源利用率。仿真实验结果表明, 该算法能够减小虚拟链路的映射跳数, 提升虚拟网络请求接受率和收益开销比, 且算法性能在节点位置约束条件放宽后明显提升。
| [1] |
FAJJARI I, AITSAADI N, PUJOLLE G.Cloud networking: an overview of virtual network embedding strategies[C]//Proceedings of Global Information Infrastructure Symposium.Trento, Italy: [s.n.], 2013: 1-7. https://ieeexplore.ieee.org/document/6684379
( 0)
|
| [2] |
CAO Haotong, HU Han, QU Zhicheng, et al. Heuristic solutions of virtual network embedding:a survey[J]. China Communications, 2018, 15(3): 186-219. DOI:10.1109/CC.2018.8332001 ( 0)
|
| [3] |
程祥, 张忠宝, 苏森, 等. 虚拟网络映射问题研究综述[J]. 通信学报, 2011, 32(10): 143-151. DOI:10.3969/j.issn.1000-436X.2011.10.018 ( 0)
|
| [4] |
练远翔.基于资源重要性度量的动态协同虚拟网络映射算法研究[D].北京: 北京邮电大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10013-1018168944.htm
( 0)
|
| [5] |
LIU Caixia, LI Lingshu, TANG Hongbo, et al. Hierarchical coordination strategy for vEPC virtual network embedding based on subgraph isomorphism[J]. Journal of Electronics and Information Technology, 2017, 39(5): 1170-1177. ( 0)
|
| [6] |
GHAZAR T, SAMAAN N.Hierarchical approach for efficient virtual network embedding based on exact subgraph matching[C]//Proceedings of Global Telecommunications Conference.Anaheim, USA: [s.n.], 2012: 9-18. https://ieeexplore.ieee.org/document/6133500/
( 0)
|
| [7] |
彭利民. 基于图的邻接分割的虚拟网络映射算法[J]. 华南理工大学学报, 2015, 43(1): 66-71, 78. DOI:10.3969/j.issn.1000-565X.2015.01.011 ( 0)
|
| [8] |
ZHU Yong, AMMAR M H.Algorithms for assigning substrate network resources to virtual network components[C]//Proceedings of INFOCOM'06.Madrid, Spain: [s.n.], 2006: 23-29. https://ieeexplore.ieee.org/document/4146975
( 0)
|
| [9] |
FENG Min, LIAO Jianxin, WANG Jingyu, et al.Topology-aware virtual network embedding based on multiple characteristics[C]//Proceedings of IEEE International Conference on Communications.Sydney, Australia: [s.n.], 2014: 2956-2962. https://ieeexplore.ieee.org/document/6883774
( 0)
|
| [10] |
WANG Zihou, HAN Yanni, LIN Tao, et al. Topology-aware virtual network embedding based on closeness centrality[J]. Frontiers of Computer Science, 2013, 7(3): 446-457. DOI:10.1007/s11704-013-2108-4 ( 0)
|
| [11] |
SU Yuze, MENG Xiangrui, MENG Qingwei, et al. Environment adaptive and joint topology aware virtual network embedding algorithm[J]. Journal of Electronics and Information Technology, 2018, 40(1): 79-86. ( 0)
|
| [12] |
CHOWDHURY M, RANMAN M R, BOUTABA R. ViNEYard:virtual network embedding algorithms with coordinated node and link mapping[J]. IEEE/ACM Transactions on Networking, 2012, 20(1): 206-219. DOI:10.1109/TNET.2011.2159308 ( 0)
|
| [13] |
LU Bo, CHEN Jianya, CUI Hongyan, et al. A virtual network mapping algorithm based on integer programming[J]. Frontiers of Information Technology and Electronic Engineering, 2013, 14(12): 899-908. ( 0)
|
| [14] |
苑迎, 王聪, 王翠荣, 等. 面向动态虚拟网络请求的虚拟网络映射算法[J]. 计算机应用, 2017, 37(1): 6-11. DOI:10.3969/j.issn.1005-8451.2017.01.002 ( 0)
|
| [15] |
CHEN Xuzhou, LUO Yan, WANG Jie.Virtual network embedding with border matching[C]//Proceedings of the 4th International Conference on Communication Systems and Networks.Washington D.C., USA: IEEE Press, 2012: 121-132. https://ieeexplore.ieee.org/document/6151356
( 0)
|
| [16] |
YU Cunqian, HOU Weigang, GUO Lei.A survey on virtual network embedding in optical cloud data center network[C]//Proceedings of International Conference on Software Networking.Jeju, Korea: [s.n.], 2016: 1-5. https://ieeexplore.ieee.org/document/7501922
( 0)
|
| [17] |
LISCHKA J, KARL H.A virtual network mapping algorithm based on subgraph isomorphism detection[C]//Proceedings of the 1st Workshop on Virtualized Infrastructure Systems and Architectures.Barcelona, Spain: [s.n.], 2009: 81-88.
( 0)
|
| [18] |
赵志远, 孟相如, 苏玉泽, 等. 基于节点邻近感知与路径综合评估的虚拟网络映射算法[J]. 电子与信息学报, 2017, 39(8): 1979-1985. ( 0)
|
| [19] |
YU M, YI Y, REXFORD J, et al. Rethinking virtual network embedding:substrate support for path splitting and migration[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 17-29. DOI:10.1145/1355734.1355737 ( 0)
|
| [20] |
CALVERT K L, BHATTACHARJEE S.How to model an internet work[C]//Proceedings of IEEE INFOCOM'96.Washington D.C., USA: IEEE Press, 1996: 594-606.
( 0)
|
2019, Vol. 45

0)