R(h1,h2)=∑u∈V,p=h1(u)logafp+∑(p,q)∈U(u,v)∈Eh2(u,v)logafp,q=
∑u∈V,p=h1(u)rp+∑(p,q)∈U(u,v)∈Eh2(u,v)rp,q,
(2)
其中,rp=logafp表示物理节点p的可靠性;rp,q=logafp,q表示链路(p,q)的可靠性。因为a<1,为了实现最大可靠性(Pr),需要找到可使可靠性函数R(h1,h2)最小化的映射(h1,h2)。
1.3 问题定义
定义1高可靠性虚拟网络映射问题(RVNM)可表述如下:
已知:服务图形GS(V,E),每个节点u∈V请求(mu)个虚拟机,每条边e=(u,v)∈E请求带宽(bu,v),网络拓扑结构GT(N,L),每个节点p∈N的可靠性为(rp),可用虚拟机数量为(mp),每条链路l=(p,q)∈L的可靠性为(rp,q),可用带宽为(bu,v)。
目标:寻找到映射(h1,h2)使可靠性函数R(h1,h2)最小。其中h1:V→N′⊆N将虚拟节点映射到数据中心所在地的物理节点,h2:E→L′⊆L将虚拟链路映射到网络拓扑结构中的路径上。在映射过程中满足如下约束:(1)计算容量约束:请求的虚拟机数量不得多于可用虚拟机数量(即对∀u∈V有mu≤mh1(u));(2)带宽容量约束:对各条链路请求的总体带宽不得大于可用带宽(即对∀(p,q)∈L有∑(p,q)∈h2(u,v)bu,v≤bp,q)。
2 ILP模型
依据第1节给出的场景,当物理网络的拓扑结构为连通图且各条物理链路可靠性较高,可用/被请求的虚拟机的可靠性为1,可用/被请求的带宽的可靠性为1时,RVNM问题可以看作旅行推销员问题(TSP),所以,RVNM问题是NP难题[14]。为此,本节首先给出基于整数线性规划(ILP)的RVNM问题描述和求解方法,然后在第3节对RVNM问题进行扩展求解。为了便于阐述,下面给出了基于ILP的RVNM问题描述中的各种参数定义:
(1) ILP的输入E:=[eu,v]|V|×|V|:GS的邻接矩阵;MS:=[mu]|V|:每个虚拟节点u请求的虚拟机;BS:=[bu,v]|V|×|V|:每条虚拟链路(u,v)要求的带宽;L:=[lp,q]|N|×|N|:GT的邻接矩阵;MT:=[mp]|N|:每个物理节点p的可用虚拟机;BT:=[bp,q]|N|×|N|:每条链路(p,q)的可用带宽;RN:=[rp]|N|:每个物理节点的可靠性p;RL:=[rp,q]|N|×|N|:每条链路(p,q)的可靠性;VL:大数。
从定义1可以看出,我们的目标是使下面的函数最小化。
(3)
本文采用匈牙利算法[15]获得基于ILP的RVNM问题的解。
3 基于双阶段博弈的启发式算法
由于RVNM问题是NP难题,以上的ILP模型只能解决小规模问题,应用局限性较大。为此,本节提出一种基于双阶段博弈的启发式算法来解决大规模RVNM问题。该算法涉及到两种映射:(1)虚拟链路映射(h2);(2)虚拟节点映射(h1)。由于本文算法首先映射虚拟链路,所以将算法称为链路映射优先算法(LMF)。在描述博弈算法内容之前,首先给出另外4种符号标记。设I(u)={p∈N|mp≥mu}表示可满足虚拟节点u虚拟机请求数量的物理节点构成的集合;设J(u,p)={e∈E|u为e的端点&u映射到p}表示虚拟路径集合,集合中的各条路径均映射到物理节点p的虚拟节点u。因此,J(u)=∪p∈NJ(u,p)={e∈E|u为e的端点}。设K(l)={e∈E|l包含于e映射的物理路径上}表示各条物理路径l=(p,q)共有的路径。
3.1 第1阶段的博弈:虚拟链路映射
在第1阶段的博弈,我们松弛虚拟节点映射的约束,允许1个虚拟节点映射到1或多个物理节点。具体来说,式(4)松弛为:
(13)
第1阶段博弈表示为博弈方:各条虚拟链路e=(u,v)构成博弈方。策略/行动:对各个博弈方e=(u,v),p1≠p2时从p1到p2的所有物理路径;因此,所有的行动集合可表示为∏e∈EAe。效用/成本函数:当博弈方从其行动集合ae∈Ae中选择从p1到p2的路径(表示为Pp1,p2)时,将成本函数计算为
C(e)=C(p1)+C(p2)+C(Pp1,p2),
(14)
其中
(15)
(16)
VL表示大数。与终端节点成本类似,如果满足带宽容量约束式(10),则鼓励物理路径通过共享链路来提升可靠性。
综上所述,第1阶段博弈的算法内容如下所示。该算法的核心思路是最优响应。开始时,所有博弈方随机选择一条路径;然后,博弈方e根据其他博弈方的行动改选最短路径(C(e)方面)。当所有博弈方均满足各自选择的路径,本文算法终止。
算法1:虚拟链路映射算法
输入:虚拟机请求数量为(MS)、带宽请求数量为(BS)的GS(V,E);可用虚拟机为(MT)、可用带宽为(BT)的GT(N,L);节点可靠性(RN),链路可靠性(RL);
输出:每条虚拟链路映射到1条物理链路,否则驳回请求;
//初始阶段
1:for 各个博弈方e,随机选择1条物理路径,根据式(14-16)计算成本函数C(e);
//博弈方可改变它们的选择
2:Done ← false //表明博弈方有没有更改其选择;
3:while (!Done)
4:Done ←true
5:for 从1至|E|的各条虚拟路径e
6: 删除被e映射的路径;
7: 如果虚拟链路e的某个终端节点映射到物理节点p上且物理路径遍历链路l,则创建虚拟链路e的图形G′,并根据式(15-16)计算出节点成本和链路成本;
8: 寻找出图G′中所有最短路径对,选择成本最低的成本对,将其存储为C′(e);
9:ifC′(e)10:End for
11:End while
12:if 存在虚拟链路e使C(e)=VL
13: return 请求被驳回;
14: else return 链路e∈E的物理路径及其成本C(e);
3.2 第2阶段博弈:虚拟节点映射
在第2阶段,我们要求被相同虚拟节点映射的物理节点融合为1个物理节点,以便满足式(4)的约束。
第2阶段的博弈可表述为博弈方:映射到2个或2个以上物理节点的各个虚拟节点u构成1个博弈方。策略/行动:所有物理节点。效用/成本函数:当博弈方u选择节点p1时,计算p1∈I(u)的成本函数C(u):
(17)
其中,C(e)根据式(14—16)计算而得。如果p1∉I(u),则C(u)=VL。第1阶段的博弈结果作为第2阶段博弈的初始状态。根据对其他博弈做的最优响应,博弈方融合为1个物理节点。第2阶段博弈的算法内容如下所示。
算法2:虚拟节点的映射
输入:虚拟链路映射
输出:虚拟网络映射满足所有约束(式(12))
0:if 没有虚拟节点映射到多个物理节点;
Return虚拟网络的映射//完成虚拟网络的映射
1:对映射到多个物理节点的各个虚拟节点u,根据式(17)计算C(u);
2:Done ← false //表明博弈方有没有改变行动;
3:while (!Done)
4:Done ← true
5:for 映射到多个节点的各个虚拟节点u
6:寻找I(u)中C′(u)最小的物理节点;
7:ifC′(u)8: End for
9:End while
10:if 存在使C(u)=VL的虚拟节点u
11:return 驳回请求
12:else return 虚拟网络的映射
3.3 收敛性分析
定理1第1阶段的博弈具有收敛性。
证明本文博弈过程的势函数定义为
Φ=∑e∈EC(e)=∑e∈E1⊆EC(e)+VL·|E2|,
(18)
其中,E1表示成功映射到物理路径的所有虚拟链路集合,根据式(14-16)计算C(e)。剩余未成功映射的虚拟链路为E2=E-E1。现在证明,当博弈方e′更改想法映射到另一条物理路径时,势函数的变化量(ΔΦ)等价于ΔC(e′)的变化量。此时需要讨论两种情况:
情况1:开始时e′∈E2,改变主意后e′∈E1。有:
ΔΦ=[∑e∈E1∪{e′}⊆EC(e)+VL·(|E2|-1)]-[∑e∈E1⊆EC(e)+VL·|E2|]
=C(e′)-VL=ΔC(e′)。
情况2:改变物理路径之前和之后均有e′∈E1。通过考察受此变化影响的所有物理路径及终端节点,我们有ΔΦ=ΔC(e′)。如果虚拟节点u从映射p1变化到映射p2,则:
映射发生变化时ΔC(e′)也会变化,且
如果|J(u,p1)-1|或|J(u,p2)-1|等于0,则将该项删除后便可获得同样结论。类似地,链路变化时证明过程同上。所以,采用式(14-16)的成本函数时,本文第1阶段的博弈是具有收敛性的潜在博弈。得证。
当势函数为Φ=∑u∈VC(u)并根据式(17)计算C(u)时,同样可证明第2阶段的博弈具有收敛性。因此,可以得出结论:整个博弈过程具有收敛性。
4 仿真实验
本节给出定量结果,证明LMF在小规模和大规模场景下均具有优异性能。首先定义两个仿真参数:通信请求率和计算请求率。通信请求率α定义为
α=(‖BS·E‖/‖E‖)/(‖BT·L‖/‖L‖),
其中,‖BS·E‖=∑(u,v)∈Ebu,v·eu,v,‖BT·L‖=∑(p,q)∈Lbp,q·lp,q。参数α的范围为0-1,用于衡量物理链路的共享概率。若α较大,则物理链路成为性能瓶颈,不利于链路映射时的路径共享,虚拟网络映射用到的物理链路数量上升,可靠性下降。
计算请求率β定义为β=(‖MS‖/|N|)/(‖MT‖/|V|),其中,‖MS‖=∑u∈Vmu且‖MT‖=∑p∈Nmp>0。参数β范围0-1,用于衡量数据中心满足计算请求的程度。当其数值接近于0时,每个虚拟节点均可映射到任意物理节点上。当数值接近于1时,每个虚拟节点请求大量虚拟机,且只可映射到少量物理节点上。因此,参数β可间接衡量可被虚拟节点映射的物理节点的数量。
所有的仿真结果取算法1 000次运行后的均值。为便于比较,我们对文献[12]中的博弈算法进行修改,并增加了容量约束。修改后的博弈算法首先对虚拟节点进行映射,然后对虚拟链路进行映射,因此将该算法称为节点映射优先算法(NMF)。对于NMF,每个虚拟节点均是博弈方,并映射到某一物理节点上。所有虚拟节点映射到物理节点上时,NMF算法进行第2阶段的博弈,找到被虚拟节点映射的物理节点之间的路径,实现虚拟链路映射。博弈方为了降低成本可更换到其他物理节点。所有博弈方均不改变其映射策略时,博弈终止。
4.1 小规模条件下高可靠性虚拟网络映射
物理网络拓扑结构如图1(b)所示。随机生成物理拓扑结构中各条链路和各个节点的可靠性,范围在0.99~1.00之间。同时随机确定范围在50~150之间的可用虚拟机数量,及范围在2~10 Gbps之间的可用带宽。另外,我们还生成具有3~4个虚拟节点的服务图,虚拟节点之间的虚拟链路随机确定并保证服务图连通。随机确定范围在10~100之间的请求虚拟机数量,使β=40%;随机确定范围在1~3 Gbps之间的各条虚拟链路的请求带宽,满足不同α值的需要。表1给出了基于双阶段博弈的启发式算法的运行结果。

表1 ILP, IMF和NMF的性能比较
从表1可以看出,可靠性随着α值的下降而上升。原因在于:(1)有更多条虚拟链路共享高可靠性物理链路;(2)共享程度上升,使虚拟网络在映射后的物理链路总量下降。另外,虚拟节点和虚拟链路数量上升时,分配的虚拟链路和节点数量也在上升,满足了虚拟网络的需求,因此可靠性下降。当虚拟节点数量上升时,如果α值较大(α=0.5),则链路共享的概率较低,导致可靠性从83.80%下降到69.04%。另一方面,α值较小时(当α≤0.3或|V|=3时差值低于9%),链路共享的概率较高,所以可靠性只下降了6%左右。因此,通信请求率较低时有助于提升可靠性。最后,我们发现LMF可获得接近于最优解的结果,当α较小时尤其如此(当α≤0.3或|V|=3时差值低于9%)。同时,发现无论在哪种情况下,LMF的性能总是优于NMF。这是因为LMF在第1阶段博弈时通过松弛虚拟节点映射约束(式(4))来扩大解空间。于是,在高效分配网络带宽时,LMF将每条虚拟链路均看作独立的博弈方,从而获得了更好的性能。
4.2 大规模条件下高可靠性虚拟网络映射

从图2可以看出,当|V|增加时,由于虚拟网络具有更多个物理节点和链路,所以可靠性下降。其次,α=0.1时的可靠性下降速度要快于α=0.05时,原因是可以共享物理链路的虚拟链路数量下降。例如,当|V|=10时,|E|=27条虚拟链路需要映射。然而,每条物理链路平均来说只能与1/α=10条虚拟链路共享,导致虚拟网络对物理链路的需求量变大,可靠性下降,请求驳回概率上升。图3中结果也印证了上述结论。另外,LMF在可靠性和请求驳回概率方面的性能均优于NMF。原因在于:(1)LMF在第1阶段博弈时放松了虚拟节点映射约束(式(4)),增大了解空间,降低了请求驳回概率;(2) LMF在第2阶段的博弈采用第1阶段的博弈结果作为输入,而不是像NMF那样将虚拟节点随机映射到物理节点上,因此提升了可靠性。
此外,根据图2和3的仿真结果分析可知,通过如下方式可提升RVNM的可靠性,降低请求驳回概率:(1)将虚拟网络限定于少量分布式数据中心中,从虚拟链路数量方面减少数据中心间的通信;(2)增加可用网络带宽,使更多虚拟链路共享物理链路;(3)降低虚拟链路的带宽请求。

图2 可靠性 vs虚拟节点的数量

图3 请求驳回概率vs虚拟节点的数量
4.2.2 计算容量约束和带宽容量约束对高可靠性虚拟网络映射的影响 对于物理网络拓扑结构,所有参数的生成方法与4.2节相同。对于服务图,随机生成虚拟网络的虚拟链路且|V|=6,|E|=10。随机生成虚拟机请求数量,满足不同β值的需要;随机生成各条虚拟链路的带宽请求,满足不同α值的需要。图4~5比较了两种约束对虚拟网络映射的影响。从图4可以看出,当计算请求率(β)低于 0.8时可靠性较为稳定。原因在于:(1)每个虚拟节点映射到至少1个既满足计算容量约束且未被分配给其他虚拟节点的物理节点上;(2)网络带宽容容量约束在虚拟网络映射结果中占据主导地位。另一方面,如果β≥0.8,无论带宽容量约束如何,由于难以找到足够多的满足计算容量约束的物理节点,导致可靠性严重下降。最后,图5表明只有β≥0.8时计算容量约束才对请求驳回概率具有重大影响。因此,当β<0.8时,虚拟节点映射到物理节点的概率很大。

图4 可靠性vs计算请求率(β)

图5 请求驳回概率vs计算请求率(β)
5 结束语
本文在计算容量约束和带宽容量约束两种条件下研究了云请求的高可靠性虚拟网络映射(RVNM)问题。该问题被证明是NP难题,并提出ILP模型来获得小型网络的近似最优解。对于大型网络,进一步提出基于双阶段博弈的链路映射优先(LMF)算法来求解RVNM问题。定量结果表明,通过松弛第1阶段博弈过程的虚拟节点映射约束,LMF可在更大解空间搜索可行解,因此无论是对小型网络还是大型网络,LMF的可靠性和请于驳回概率性能均优于已有算法。在下一步工作中,除了可靠性之外,我们将继续研究具体底层网络(比如光纤网络)的各种故障类型,以及虚拟网络映射的生存性。