RCPU(ns)定义为物理节点的总CPU减去该节点已经映射使用的CPU:
RCPU?nS??C?nS???nV?nS?C?n?。每条虚拟链路都要映射到不同的物理路径上,表示
VRi?PSRi?PS:PSRi?P?PS|B?P??mine?ERiB?eV?,其中,PSRi表示该为FERi:EVvV??集合至少存在一条物理路径,该物理路径的剩余带宽至少能满足虚拟网络请求Ri的一条虚拟链路的带宽映射要求。物理路径的集合由PS表示,其中源节点为ns,目的节点为nt的物理路径可表示为PS(ns,nt)。物理路径P的可用带宽B(P)等于该路径上具有最少剩余带宽的链路的可用带宽:B?P??minRBW?es?,物理链路剩余带
es?P宽资源RBW?es?定义为物理链路的总带宽减去该链路已经映射使用的带宽:
RBW?es??B?es???ev?es?B?e?。
v下面给出虚拟网络映射的一个实例,解释虚网映射问题:
图4
图右侧表示物理网络,其中,线条上方的数字表示物理链路的总带宽,矩形框中的数字表示物理节点的总的CPU资源。图左侧表示两个虚拟网请求VN1和VN1。虚网映射的结果为:VN1的虚拟节点a、b、c分别映射到物理节点D、A、F上,其虚拟链路(a,b)、(a,c)、(b,c)分别映射到物理路径(D,A)、(D,E,F)、(A,G,F)上。VN2的虚拟节点d、e分别映射到物理节点B、C上,其虚拟链路(d,e)映射到物理链路(B,C)上。物理链路(B,C)的总带宽是5,虚链路(d,e)的请求带宽是4,所以物理链路(B,C)的剩余带宽是1。根据图给出的物理节点CPU及物理链路带宽的配置情况,上述映射方案是能够满足VN1和VN2的资源请求的。 5.1两阶段虚网映射算法
贪婪式的节点映射步骤:步骤一:对所有的虚拟网络请求,按照他们的收益进行排序;步骤二:判断是否有请求,如果无请求则停止;步骤三:取出最大收益的请求;步骤四:找到可用CPU的能力满足节点约束的物理节点子集S(CPU的能力应比虚拟网络的需求大),如果S==?,将此需求重新放回到请求队列,然后跳转到步骤二;步骤五:对于每个虚拟节点,都在物理节点集合S中找到最大可用资源节点H ,然后跳转到步骤二。这是目前对节点的映射的主要方法。
而多商品流问题是对链路的映射方法,多商品流问题(Multi-commodity Flow Problem)是多种商品(或货物)在网络中从不同的源节点流向不同的宿节点的网络流问题。已知一商品流网络G=(V,E),其中边?u,v??E的容量为c(u,v)。有k个商品流K1,K2,?,Kk,每个商品流定义为Ki??si,ti,di?,其中si和ti是物品i的源节点和宿节点,而di是需求。物品i沿边(u,v)的流量是fi(u,v)。多商品流问题(MCF)就是求一个符合以下限制条件的流量分配问题:容量的限制,?fi?u,v??c?u,v?;流
i?1k量
i守
i恒
i,
w?V?f?u,w??0iwhu?esi,tin;
需求满足,
w?V?f?s,w??d在网络中只要满足了上面三个约束条件的的流??fi?w,ti??di。
w?V量分配问题就是多商品流问题。 5.2单阶段虚网映射算法
采用两阶段优化方法是把多目标优化问题简化成两个阶段的单目标优化问题,但是,一方面很难得到全局最优;另一方面,如果出现坏的映射决定时需要回溯,而回溯是非常耗时的。例如,如果节点映射完成后发现无法满足所有的链路约束需求,则需要把节点约束回溯或者重新映射一次。因此,如果同时考虑这两个阶段,则能实现收益率更高的虚拟网络映射,也能达到更快的映射速度。
路径切割方法:主要用于处理虚拟链路映射的问题,通过该方法,一条虚拟链路能够映射到底层物理网络中的多条底层路径上。路径迁移方法:主要用于处理在线虚拟网络请求的问题,该方法周期性地优化已有的映射关系,采取的方法有重新映射到新的底层路径或者改变路径分割率。 6虚网映射的收益与开销
对于基础设施提供商来说,虚拟网络映射算法的目标是耗费最小的物理资源
尽可能产生更大的收益。我们把每个虚拟网产生的收益定义为:
R?GV??nV?NV?c?n????b?e?。同时虚拟网消耗的物理资源所产生的成本可定义
VVeV?NVnV?NV为:C?GV??
a?P,e?b?P,e?。 ?a?n?c?n???????VVVveV?EVP?PSeV