CN104821906B - 一种高效节能虚拟网络节点映射模型及算法 - Google Patents
一种高效节能虚拟网络节点映射模型及算法 Download PDFInfo
- Publication number
- CN104821906B CN104821906B CN201510160792.3A CN201510160792A CN104821906B CN 104821906 B CN104821906 B CN 104821906B CN 201510160792 A CN201510160792 A CN 201510160792A CN 104821906 B CN104821906 B CN 104821906B
- Authority
- CN
- China
- Prior art keywords
- node
- mapping
- bottom layer
- virtual network
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于虚拟网络的节点映射方法的技术领域,公开了一种高效节能虚拟网络节点映射模型,设xij为Ai分配给Bi的CPU资源量,从Ai到Bj分配单位CPU资源的能耗代价为Cij,则计算min{Cij·Xij}(i=1,2,...,m;j=1,2,...,n),该节点映射模型的输出值为Aimin和Bjmax。本发明提供的一种高效节能虚拟网络节点映射模型,以最小元素法为基础,能够根据虚拟网络节点映射能耗特点,计算出当前CPU资源量最多的底层节点和CPU需求量最少的虚拟节点,并将该虚拟节点映射到对应的底层节点,从而实现虚拟网络映射能耗最优,提高CPU利用率,同时,还保证了底层节点尽可能映射在激活节点上,大大降低节点映射能耗代价,从而显著降低节点能耗,尤其适合大规模虚拟网络映射场景。
Description
【技术领域】
本发明涉及一种虚拟网络的节点映射方法,特别涉及一种高效节能虚拟网络节点映射模型及算法。
【背景技术】
当前网络为高峰负荷而设计,网络资源超量供给确保了网络的正常运行,然而也导致资源利用率低下。网络虚拟化,是未来因特网、云计算和软件定义网络的重要技术。其管理底层网络基础设施以及实现虚拟网络资源分配,使得智能能量感知网络部署成为可能。虚拟网络映射是网络资源虚拟化的关键问题。当前大部分映射算法是基于能耗的虚拟网络映射,即以最小底层资源代价映射虚拟网络请求,从而获得更多的底层物理资源,以提高虚拟网络映射接收率。由于基于能耗的虚拟网络映射并不考虑虚拟网络请求来源本身,因此不可避免地会产生不必要的能耗。但是,底层物理网络节点的能耗降低同样会提高CPU的利用率,因此基于能耗感知的节点映射方法必然节约能耗。
当前大部分基于能耗感知的虚拟网络映射针对链路能耗对负载不敏感的设备,采用资源整合策略实现底层网络节能。如:北京邮电大学的苏森等提出虚拟网络映射能耗模型以及能量感知两阶段映射算法,且根据电价的波动提出了能耗成本最小化模型以及能量感知两阶段映射算法;北方交通大学的常晓林、王冰等提出混合整数规划能耗模型及能量感知两阶段映射算法,在云数据中心应用蚁群优化算法求解虚拟网络节能映射。由上可见,现有技术通过资源整合策略、主动休眠策略以及流量扩展策略,实现底层网络节能,但忽略了虚拟网络节点映射的能耗代价最优化。
虚拟网络映射可分解为节点映射和链路映射,在底层节点映射的过程中,第i个底层节点的能耗为:
其中,Pb为节点的基本能耗,u为CPU利用率,Pl为与u相关的能耗因子,且Pl=Pm-Pb,Pm为节点的最大能耗。
而对于虚拟链路的映射,目前专有的减负引擎已经广泛地部署在网络虚拟化中,由于这种引擎能够保持高的数据包处理率,且处理延时较低,因此无论接口是否空闲或者满负荷运行,虚拟链路的能耗均为常量,即第j条虚拟链路的能耗为:
由此可见,底层节点的CPU资源量越大,该节点节能的可能性越大,因此,为了尽可能保证节点映射的能耗最优,应当使得CPU需求量小的虚拟节点优先映射到CPU资源量丰富的底层节点。
【发明内容】
本发明的目的在于克服上述现有技术的不足,提供一种高效节能虚拟网络节点映射模型及算法,其旨在解决现有技术中的虚拟网络映射算法无法保证映射能耗代价最少的技术问题。
为实现上述目的,本发明提出了一种高效节能虚拟网络节点映射模型,该节点映射模型的初始值为:设定有m个底层网络节点,其中具有CPU资源的底层节点为Ai(i=1,2,…,m),其CPU资源量分别为ai(i=1,2,…,m);有n个虚拟网络节点,其中请求CPU资源的虚拟节点为Bj(j=1,2,…,n),其CPU需求量分别为bj(j=1,2,…,n);底层节点Ai当前剩余的CPU资源量为CPULi,虚拟节点Bj当前还需要的CPU资源量为CPUVj;
设xij为Ai分配给Bj的CPU资源量,从Ai到Bj分配单位CPU资源的能耗代价为Cij,当前参与分配的底层节点为Ai、虚拟节点为Bj,则:
并通过式(2)得出能耗最小的一组映射节点Aimin和Bjmax:
min{Cij·xij}(i=1,2,…,m;j=1,2,…,n) (2)
在式(1)中,CPUSi为底层网络节点的总CPU资源量,MiCPU为底层节点中剩余CPU资源量最少的节点的CPU资源量,即MiCPU=min{ai}-α(i=1,2,…,m;α→0+);If Act(i)是一个二进制变量,当底层节点Ai是激活状态时,If Act(i)=1,当底层节点Ai是休眠状态时,IfAct(i)=0;
在式(2)中,一个底层节点Ai承载并只能承载一个虚拟节点Bj的约束,一个虚拟节点Bj只能接收一个底层节点Ai的分配;参与分配的底层节点Ai分配给Bj的CPU资源量应当不小于Bj所请求的CPU资源量、并不大于底层节点Ai剩余的CPU资源量,即式(2)的约束条件为:CPUVj≤xij≤CPULi;
该节点映射模型的输出值为Aimin和Bjmax。
为了更好地实现本发明的技术目的,本发明还提供一种高效节能虚拟网络节点映射算法,采用如上所述的一种高效节能虚拟网络节点映射模型,具体步骤如下:
A)构建节点映射模型的数据结构:
建立无向图其中Ns为底层节点集合,Ls为底层链路集合,为底层节点属性集合,为底层链路属性集合,所述的底层节点属性为各底层节点的CPU资源,所述的底层链路属性为各底层节点的带宽资源;
建立无向图其中Nv为虚拟节点集合,Lv为虚拟链路集合,为虚拟节点属性集合,为虚拟链路属性集合,所述的虚拟节点属性为各虚拟节点的CPU资源,所述的虚拟链路属性为各虚拟节点的带宽资源;
设Ai∈Ns,Bj∈Nv,已完成映射的节点集合AE,且
B)检查虚拟网络状态:检查Nv中是否还存在未映射的虚拟节点,如果有,则转至步骤C);如果没有,则转至步骤E);
C)运行节点映射模型:计算Cij,并寻找满足约束条件xij的情况下,运算式(1),寻找当前CPU资源量最少的底层节点和CPU需求量最多的虚拟节点,如果成功,则转至步骤D),如果没有成功,则返回没有找到适合的映射节点,并转至步骤H);
D)节点映射:将Bjmax映射到Aimin,并将Aimin和Bjmax添加入AE,更改Aimin和Bjmax的映射状态为已映射状态,重新转至步骤B);
E)检查链路映射状态:检查AE中的虚拟节点是否还存在未映射的虚拟链路,如果有,则转至步骤F);如果没有,则转至步骤G);
F)虚拟网络链路:调用虚拟链路信息,在AE中寻找一条最短路径映射虚拟链路,如果成功,则更改虚拟链路的映射状态,并转至步骤E);如果没有成功,则返回没有找到适合的虚拟链路,并转至步骤H);
G)完成虚拟网络映射:记录各虚拟节点、各底层节点、各虚拟链路的映射状态,形成虚拟网络的映射结果,返回映射成功;
H)映射失败:调用映射状态信息,返回未映射的各虚拟节点、各底层节点和各虚拟链路的当前状态信息。
本发明的有益效果:与现有技术相比,本发明提供的一种高效节能虚拟网络节点映射模型,以最小元素法为基础,能够根据虚拟网络节点映射能耗特点,计算出当前CPU资源量最多的底层节点和CPU需求量最少的虚拟节点,并将该虚拟节点映射到对应的底层节点,即将当前节点映射能耗代价最小的一组节点映射,从而实现虚拟网络映射能耗最优,大大提高了CPU利用率,同时,还保证了底层节点尽可能映射在激活节点上,大大降低节点映射能耗代价,从而显著降低节点能耗,尤其适合大规模虚拟网络映射场景。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明实施例的结构示意图;
图2是本发明的仿真实验中在非饱和状态下四种算法的***能耗图;
图3是本发明的仿真实验中在非饱和状态下四种算法的休眠节点数量图;
图4是本发明的仿真实验中在非饱和状态下四种算法的休眠链路数量图;
图5是本发明的仿真实验中在非饱和状态下四种算法的不同链路能耗中的***能耗图;
图6是本发明的仿真实验中在非饱和状态下四种算法的收益成本图;
图7是本发明的仿真实验中在饱和状态下四种算法的***能耗图;
图8是本发明的仿真实验中在饱和状态下四种算法的休眠节点数量图;
图9是本发明的仿真实验中在饱和状态下四种算法的休眠链路数量图;
图10是本发明的仿真实验中在饱和状态下四种算法的不同链路能耗中的***能耗图;
图11是本发明的仿真实验中在饱和状态下四种算法的收益成本图;
图12是本发明的仿真实验中在饱和状态下四种算法的虚拟网络接收图;
图13是本发明的仿真实验中在饱和状态下四种算法的***收益图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图中及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
参阅图1,本发明实施例提供一种高效节能虚拟网络节点映射模型,该节点映射模型的初始值为:设定有m个底层网络节点,其中具有CPU资源的底层节点为Ai(i=1,2,…,m),其CPU资源量分别为ai(i=1,2,…,m);有n个虚拟网络节点,其中请求CPU资源的虚拟节点为Bj(j=1,2,…,n),其CPU需求量分别为bj(j=1,2,…,n);底层节点Ai当前剩余的CPU资源量为CPULi,虚拟节点Bj当前还需要的CPU资源量为CPUVj。
本发明提出的节点映射模型针对节点分配能耗代价,以最小元素法为基础,设计高效节能映射的混合一阶段与两阶段算法,以求解节点映射能耗代价最小的最优解。
该模型的运算过程如下:设xij为Ai分配给Bj的CPU资源量,从Ai到Bj分配单位CPU资源的能耗代价为Cij,当前参与分配的底层节点为Ai、虚拟节点为Bj,则:
并通过式(2)得出能耗最小的一组映射节点Aimin和Bjmax:
min{Cij·xij}(i=1,2,…,m;j=1,2,…,n) (2)
在式(1)中,CPUSi为底层网络节点的总CPU资源量,MiCPU为底层节点中剩余CPU资源量最少的节点的CPU资源量,由于有可能出现底层网络节点只有一个并且该底层节点并没有消耗CPU资源量的情况,因此为了避免出现式(1)中的分母为0,因此计算MiCPU时还需要减去一个足够小的正数,即MiCPU=min{ai}-α(i=1,2,…,m;α→0+)。If Act(i)是一个二进制变量,当底层节点Ai是激活状态时,If Act(i)=1,当底层节点Ai是休眠状态时,If Act(i)=0。
式(1)不仅具有资源整合的作用,而且还使得虚拟节点尽可能的映射到激活的底层节点上,由于激活节点必然会消耗不必要的资源,因此,式(1)保证了节点映射不会产生不必要的能耗,降低了节点映射能耗代价。
在式(2)中,一个底层节点Ai承载并只能承载一个虚拟节点Bj的约束,一个虚拟节点Bj只能接收一个底层节点Ai的分配。参与分配的底层节点Ai分配给Bj的CPU资源量应当不小于Bj所请求的CPU资源量、并不大于底层节点Ai剩余的CPU资源量,即式(2)的约束条件为:CPUVj≤xij≤CPULi。
该节点映射模型的最终输出值为Aimin和Bjmax。当然,使用者在运行该节点映射模型时,可以将输出的Aimin和Bjmax从初始值中除去,以形成新的底层网络和虚拟网络,然后再次运行上述模型,以求得新的Aimin和Bjmax,如此循环往复,最后,当虚拟网络成为空集时,表明所有的虚拟网络节点都已映射到相应的底层网络节点,即整个虚拟网络的节点映射方案形成。
为了更好地实现本发明的技术目的,本发明还提供一种高效节能虚拟网络节点映射算法,采用如上所述的一种高效节能虚拟网络节点映射模型,具体步骤如下:
A)构建节点映射模型的数据结构:
建立无向图其中Ns为底层节点集合,Ls为底层链路集合,为底层节点属性集合,为底层链路属性集合,所述的底层节点属性为各底层节点的CPU资源,所述的底层链路属性为各底层节点的带宽资源;
建立无向图其中Nv为虚拟节点集合,Lv为虚拟链路集合,为虚拟节点属性集合,为虚拟链路属性集合,所述的虚拟节点属性为各虚拟节点的CPU资源,所述的虚拟链路属性为各虚拟节点的带宽资源;
设Ai∈Ns,Bj∈Nv,已完成映射的节点集合AE,且
B)检查虚拟网络状态:检查Nv中是否还存在未映射的虚拟节点,如果有,则转至步骤C);如果没有,则返回映射成功,转至步骤G);
C)运行节点映射模型:计算Cij,并寻找满足约束条件xij的情况下,运算式(1),寻找当前CPU资源量最少的底层节点和CPU需求量最多的虚拟节点,如果成功,则转至步骤D),如果没有成功,则返回没有找到适合的映射节点,并转至步骤H);
D)节点映射:将Bjmax映射到Aimin,并将Aimin和Bjmax添加入AE,更改Aimin和Bjmax的映射状态为已映射状态,重新转至步骤B);
E)检查链路映射状态:检查AE中的虚拟节点是否还存在未映射的虚拟链路,如果有,则转至步骤F);如果没有,则返回虚拟链路映射完成,重新回到步骤B);
F)虚拟网络链路:调用虚拟链路信息,在AE中寻找一条最短路径映射虚拟链路,如果成功,则更改虚拟链路的映射状态,并转至步骤E);如果没有成功,则返回没有找到适合的虚拟链路,并转至步骤H);
G)完成虚拟网络映射:记录各虚拟节点、各底层节点、各虚拟链路的映射状态,形成虚拟网络的映射结果,并输出该映射结果;
H)映射失败:调用映射状态信息,返回未映射的各虚拟节点、各底层节点和各虚拟链路的当前状态信息。
本发明实施例提出的节点映射算法为混合一阶段和两阶段虚拟网络映射算法,其不同于一阶段映射算法,因为当成功映射一个虚拟节点时,该算法并不选择与该节点连接的所有链路进行映射;也不同于两阶段映射算法,因为当成功映射一个虚拟节点时,该算法随即检查已映射的节点集合中是否存在未映射的链路,而不是等待所有的节点都成功映射后再进行链路映射。本发明的节点映射算法在节点映射的同时,在映射的节点之间映射链路,从而提高了节点映射效率。
为了更好地表述上述算法的具体运行过程,本发明提供上述算法的伪代码形式,具体如下:
算法1
输入:各虚拟网络节点、各底层网络节点
输出:虚拟网络映射结果
1:构建虚拟网络节点映射模型的数据结构;
2:虚拟网络映射节点映射算法:
第1步,构造虚拟网络最小能耗代价的节点映射模型,dist是承载模型的数据结构,其中dist[i][j]表示从虚拟节点j分配到底层节点i的相关数据。其中,dist[i][j].uPrice为分配虚拟节点j到底层节点i单位CPU资源量所消耗的CPU能耗;dist[sub.nodes][]为虚拟网络节点的二维数组中的最后一行节点,其元素dist[sub.nodes][j].cpu为虚拟节点j请求的CPU资源量,sub.nodes为底层节点数量;dist[][req[index].nodes]为虚拟网络节点的二维数组中的最后一列节点,其元素dist[i][req[index].nodes].cpu为底层节点i当前剩余的CPU资源量,req[index].nodes为第index个虚拟网络的节点数量。
随后,根据底层节点i的激活状态,计算v=GPUSi-MiCPU·(1-If Act(i))。当底层节点i剩余的CPU资源量不小于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源的能耗单价为1.0/v;当底层节点i的CPU资源量小于虚拟节点j请求的CPU资源量,则dist[i][j].uPrice=inf,即能耗代价为一个无穷大值inf,以表示底层节点资源量不足,无法分配CPU资源;第i个底层节点生产CPU的产量为dist[i][req[index].nodes].cpu=CPULi;第j个虚拟节点对CPU的需求量为dist[sub.nodes][j].cpu=CPUVj。
第2步,根据最小元素法求解虚拟网络映射中最小能耗代价的映射节点。
其中,2.1步,num记录成功映射虚拟节点数量,初始化为0;集合AE为已经映射的节点集合,初始化为空集。
2.2步,判断所有的虚拟节点是否已成功映射,如果所有的虚拟节点都已映射,说明虚拟网络映射成功,返回虚拟网络映射结果;如果仍有虚拟节点未映射,则继续虚拟网络映射。
2.3步,调用GetMinNum()函数,该函数在AE的补集(即未映射的底层节点和虚拟节点集合)中寻找最多CPU资源量的底层节点和最小能耗单价及未映射的虚拟节点(sNode,vNode),如果成功,则将虚拟节点vNode映射到底层节点vNode,并把vNode、sNode加入到AE中;如果没有,则表示无法映射虚拟节点,返回-1,映射失败。
2.5步循环调用FindNoEmbedVLink()函数,该函数在AE中(即已经映射虚拟节点集合)检测是否存在一条未映射的虚拟链路,如果存在,则返回虚拟链路vFindLink的相关信息,包括vFindLink带宽bw、两个虚拟端点(vNode、vFNode)以及其映射的两个底层节点(sNode、sFNode)。
2.6步调用EmbedLinkBySpfa()函数,该函数在底层节点sNode到sFNode以最短路径映射虚拟链路vFindLink,这条最短路径的所有链路剩余带宽必须大于等于bw;其采用经典最短路径算法计算最短路径,链路之间的距离设置如下:如果底层链路带宽大于等于bw,则设置为1,表示该链路可以映射;如果底层链路小于bw,则设置为0,表示该底层链路不能映射,不参与最短路径的计算。
如果2.6步中的EmbedLinkBySpfa()找到了一条最短路径映射虚拟链路,则2.7步记录链路映射结果,并更新vFindLink虚拟链路映射标志;如果没有找到,则链路映射失败,返回-1。
算法1采用最小元素法寻找虚拟网络节点映射中最小能耗代价的最优解。虚拟网络节点映射模型的必要条件为:任何一个底层节点最多只能承载一个虚拟节点,而虚拟节点也最多只能映射到一个底层节点。
其中,算法1的时间复杂度主要集中在第2步,为o(n2·vl·m3),n为虚拟节点数量,vl为虚拟链路数量,m为底层节点数量,通常n和vl较小,因此,算法1完全能够保证在线虚拟网络映射的实时性。
为了进一步说明本发明实施例的技术效果,本发明还提供节点映射算法在仿真环境中的实验结果。由于本发明的技术目的是尽可能降低节点映射的能耗,因此将***能耗、休眠节点数量、休眠链路数量、链路能耗和收益成本比作为性能评价指标,并在非饱和状态与饱和状态下,比较算法1性能。
由于网络虚拟化是一个新兴领域,底层网络与虚拟网络请求的实际特征还没有得到充分掌握,因此,本发明的实验采用GT-ITM工具创建对称网络拓扑结构。底层网络由100个节点、570条链路组成,每对网络节点以0.5的概率相连,相当于一个中等规模的物理网络。底层网络节点CPU资源和链路带宽资源服从50-100的均匀分布。每个时间窗为100个时间单元。虚拟网络也是由GT-ITM工具创建,虚拟网络请求过程模拟泊松过程,在每个时间窗内虚拟网络请求到达个数服从均值为10的泊松分布,每个虚拟网络的生存时间服从均值为5个时间窗的指数分布,每个虚拟网络请求节点个数服从2-20的均匀分布,每对虚拟网络节点以0.5的概率相连,每个虚拟网络平均有12条链路,虚拟网络映射等待时间为1个时间窗。为了评价算法1在***非饱和状态与饱和状态下的性能,本文设置虚拟网络节点CPU资源与链路带宽资源需求服从0-6的均匀分布,使得***能够在非饱和状态下运行,并设置虚拟网络节点CPU资源与链路带宽资源需求服从0-20的均匀分布,使得***能够在饱和状态下运行。每次模拟实验运行约50000个时间单元,包含5000个虚拟网络请求。
为了使得实验结果具有代表性并符合实际使用情况,本发明将式(3)中的Pb、Pm和u分别为150W,300W和15W,并采用链路功耗在1W、15W、30W的***能耗,所有的实验结果为运行10个实例所记录的平均值。
为了评价虚拟网络映射的节能性能,本实验将算法1与基于能耗感知的启发式算法、元启发式算法以及经典的虚拟网络映射启发式算法,即EA-VNE、ACO-VNE以及PR-VNE比较,算法1记为TR-CL。
在非饱和状态下的实验结果:
1)在非饱和状态下,TR-CL算法显著减少了***平均能耗。图2显示TR-CL的平均能耗显著降低,约为138,而ACO-VNE、EA-VNE和PR-VNE分别为250、240和164,TR-CL分别节约了44.8%、42.5%和15.8%的***能耗。这是因为TR-CL算法,能够最小化节点分配能耗代价,并且具有资源整合的功能,能够使得能耗显著降低。这也可图3和4可以看出,TR-CL无论是休眠节点数量还是休眠链路数量,都显著超过了其它算法,整个底层网络消耗的能量最少。
2)随着链路能耗的增大,TR-CL算法节约能耗也越多。图5显示无论链路能耗在1W、15W还是30W,TR-CL都能减少***平均能耗,例如当链路能耗为30W,TR-CL能耗约为158,而ACO-VNE、EA-VNE和PR-VNE分别为321、304和196,TR-CL分别节约45.7%、42.7%和11.2%的***能耗。这是由于当节点能耗不变的情况下,***平均能耗变化部分集中在链路能耗上。由图4可知,TR-CL可休眠的链路数量比PR-VNE多85条。链路能耗越大,TR-CL能够节约能耗就越多。
3)在非饱和状态下,TR-CL算法取得较高的收益成本比。图6显示TR-CL的收益成本比与ACO-VNE相当,比EA-VNE高,但比PR-VNE低,这是因为PR-VNE是一个经典映射算法,在所有的底层网络中寻找有效解,收益成本比较好,TR-CL主要考虑能耗成本,并不考虑到链路映射代价,其收益成本比低于PR-VNE。
饱和状态下的实验结果:
1)在饱和状态下,TR-CL算法显著减少了***平均能耗。图7显示TR-CL的平均能耗显著降低。例如当运行500个时间窗时,TR-CL能耗约为293,而ACO-VNE、EA-VNE和PR-VNE分别为332、327和316,TR-CL分别节约11.7%、10.4%和7.2%的***能耗。这是因为TR-CL算法,能够最优化节点分配能耗代价以及资源整合策略实现虚拟网络映射,节约了***能耗。这也可以从图8、9得知,TR-CL休眠节点数量比PR-VNE少3个节点,但休眠链路数量多118条,因此,TR-CL能够节点分配最小化能耗代价并产生较多休眠节点和链路,显著降低了底层网络能耗。
2)不同链路能耗情况下,TR-CL能够有效地降低***能耗;且随着链路能耗的增大,TR-CL节约能耗越多。图10显示无论链路能耗在1W、15W和30W,TR-CL都能减少***能耗。例如当链路能耗为30W时,TR-CL能耗约为341,而ACO-VNE、EA-VNE和PR-VNE分别为404、398和381,TR-CL分别节约15.6%、14.3%和10.4%的***能耗。这是由于当节点能耗不变的情况下,***平均能耗变化部分集中在链路能耗上,即由图9可知,TR-CL可休眠的链路数量比其它算法都要多,随着链路能耗增大,其节约的能耗也越多。
3)在饱和状态下,TR-CL算法取得了较高的收益成本比,如图11所示。TR-CL比PR-VNE的收益成本比少2%,这是由于TR-CL主要考虑能耗代价最小化,导致一些CPU资源量丰富的底层节点映射较多虚拟节点,这些底层节点的链路可用资源减少,并未考虑负载平衡,从而影响了受益成本比,也就是说,TR-CL节约能耗多少是以***收益成本比为代价的。
4)在饱和状态下,TR-CL算法取得较好的虚拟网络接收率和***收益,如图12和13所示。TR-CL主要考虑的是节点分配能耗代价最小化以及资源整合,而未考虑到负载平衡,在运行500个时间窗时,虚拟网络接收率和***收益比PR-VNE的少0.01和0.27,但几乎可以忽略。
仿真实验运行时间的比较结果如下:在非饱和状态下与饱和状态下,四种算法所用的时间均大致相同,而在非饱和状态下运行500个时间窗所用的时间,EA-VNE、PR-VNE、ACO-VNE和TR-CL分别为22、30、400和15秒。可以看出,TR-CL与其它算法相比,只与启发式算法的运行时间相差的幅度不大,也就是说TR-CL算法复杂度低,从而表明本发明提供的映射算法适合在大规模底层网络上进行虚拟网络在线实时映射。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种高效节能虚拟网络节点映射模型的构造方法,其特征在于:该节点映射模型的初始值为:设定有m个底层网络节点,其中具有CPU资源的底层节点为Ai(i=1,2,...,m),其CPU资源量分别为ai(i=1,2,...,m);有n个虚拟网络节点,其中请求CPU资源的虚拟节点为Bj(j=1,2,...,n),其CPU需求量分别为bj(j=1,2,...,n);底层节点Ai当前剩余的CPU资源量为CPULi,虚拟节点Bj当前还需要的CPU资源量为CPUVj;
设xij为Ai分配给Bj的CPU资源量,从Ai到Bj分配单位CPU资源的能耗代价为Cij,当前参与分配的底层节点为Ai、虚拟节点为Bj,则:
并通过式(2)得出能耗最小的一组映射节点Aimin和Bjmax:
min{Cij·xij}(i=1,2,...,m;j=1,2,...,n) (2)
在式(1)中,CPUSi为底层网络节点的总CPU资源量,MiCPU为底层节点中剩余CPU资源量最少的节点的CPU资源量,即MiCPU=min{ai}-α(i=1,2,...,m;α→0+);IfAct(i)是一个二进制变量,当底层节点Ai是激活状态时,IfAct(i)=1,当底层节点Ai是休眠状态时,IfAct(i)=0;
在式(2)中,一个底层节点Ai承载并只能承载一个虚拟节点Bj的约束,一个虚拟节点Bj只能接收一个底层节点Ai的分配;参与分配的底层节点Ai分配给Bj的CPU资源量应当不小于Bj所请求的CPU资源量、并不大于底层节点Ai剩余的CPU资源量,即式(2)的约束条件为:CPUVj≤xij≤CPULi;该节点映射模型的输出值为Aimin和Bjmax。
2.一种高效节能虚拟网络节点映射方法,其特征在于:采用如权利要求1所述的一种高效节能虚拟网络节点映射模型,具体步骤如下:
A)构建节点映射模型的数据结构:
建立无向图其中Ns为底层节点集合,Ls为底层链路集合,为底层节点属性集合,为底层链路属性集合,所述的底层节点属性为各底层节点的CPU资源,所述的底层链路属性为各底层节点的带宽资源;
建立无向图其中Nv为虚拟节点集合,Lv为虚拟链路集合,为虚拟节点属性集合,为虚拟链路属性集合,所述的虚拟节点属性为各虚拟节点的CPU资源,所述的虚拟链路属性为各虚拟节点的带宽资源;
设Ai∈Ns,Bj∈Nv,已完成映射的节点集合AE,且
B)检查虚拟网络状态:检查Nv中是否还存在未映射的虚拟节点,如果有,则转至步骤C);如果没有,则返回映射成功,转至步骤G);
C)运行节点映射模型:计算Cij,并寻找满足约束条件xij的情况下,运算式(1),寻找当前CPU资源量最少的底层节点和CPU需求量最多的虚拟节点,如果成功,则转至步骤D),如果没有成功,则返回没有找到适合的映射节点,并转至步骤H);
D)节点映射:将Bjmax映射到Aimin,并将Aimin和Bjmax添加入AE,更改Aimin和Bjmax的映射状态为已映射状态,转至步骤E);
E)检查链路映射状态:检查AE中的虚拟节点是否还存在未映射的虚拟链路,如果有,则转至步骤F);如果没有,则返回虚拟链路映射完成,重新回到步骤B);
F)虚拟网络链路:调用虚拟链路信息,在AE中寻找一条最短路径映射虚拟链路,如果成功,则更改虚拟链路的映射状态,并转至步骤E);如果没有成功,则返回没有找到适合的虚拟链路,并转至步骤H);
G)完成虚拟网络映射:记录各虚拟节点、各底层节点、各虚拟链路的映射状态,形成虚拟网络的映射结果,并输出该映射结果;
H)映射失败:调用映射状态信息,返回未映射的各虚拟节点、各底层节点和各虚拟链路的当前状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510160792.3A CN104821906B (zh) | 2015-04-08 | 2015-04-08 | 一种高效节能虚拟网络节点映射模型及算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510160792.3A CN104821906B (zh) | 2015-04-08 | 2015-04-08 | 一种高效节能虚拟网络节点映射模型及算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104821906A CN104821906A (zh) | 2015-08-05 |
CN104821906B true CN104821906B (zh) | 2019-01-29 |
Family
ID=53732077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510160792.3A Active CN104821906B (zh) | 2015-04-08 | 2015-04-08 | 一种高效节能虚拟网络节点映射模型及算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104821906B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426018A (zh) * | 2017-02-10 | 2017-12-01 | 南京邮电大学 | 一种基于子图的虚拟网络映射方法 |
CN107135135B (zh) * | 2017-05-02 | 2019-09-06 | 北京邮电大学 | 一种基于底层节点排序的虚拟网络映射方法及装置 |
CN107367972B (zh) * | 2017-08-18 | 2019-05-10 | 湖北中建鸿友建设有限公司 | 一种建筑节能*** |
CN108270695A (zh) * | 2018-01-08 | 2018-07-10 | 南京邮电大学 | 一种保持节点相邻的虚拟网络映射方法 |
JP6894408B2 (ja) * | 2018-07-18 | 2021-06-30 | Kddi株式会社 | 連携型仮想ネットワーク割当方法および装置 |
CN111371681B (zh) * | 2020-03-12 | 2021-11-19 | 郑州轻工业大学 | 一种资源和能耗感知的网络服务功能链映射方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478878B2 (en) * | 2010-03-11 | 2013-07-02 | International Business Machines Corporation | Placement of virtual machines based on server cost and network cost |
CN103457752A (zh) * | 2012-05-30 | 2013-12-18 | 中国科学院声学研究所 | 一种虚拟网络映射方法 |
CN103856355A (zh) * | 2014-03-12 | 2014-06-11 | 湖州师范学院 | 一种能耗感知的虚拟网络映射运输模型及算法 |
-
2015
- 2015-04-08 CN CN201510160792.3A patent/CN104821906B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478878B2 (en) * | 2010-03-11 | 2013-07-02 | International Business Machines Corporation | Placement of virtual machines based on server cost and network cost |
CN103457752A (zh) * | 2012-05-30 | 2013-12-18 | 中国科学院声学研究所 | 一种虚拟网络映射方法 |
CN103856355A (zh) * | 2014-03-12 | 2014-06-11 | 湖州师范学院 | 一种能耗感知的虚拟网络映射运输模型及算法 |
Also Published As
Publication number | Publication date |
---|---|
CN104821906A (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104821906B (zh) | 一种高效节能虚拟网络节点映射模型及算法 | |
CN111124662B (zh) | 一种雾计算负载均衡方法及*** | |
CN111538587B (zh) | 一种基于负载均衡的服务功能链重配置方法 | |
CN103856355B (zh) | 一种能耗感知的虚拟网络映射运输模型的方法 | |
CN106598733A (zh) | 一种云计算能耗关键的三维度虚拟资源调度方法 | |
CN110505082A (zh) | 一种面向成本和QoS的NFV服务链映射方法 | |
Li et al. | Energy-efficient fault-tolerant replica management policy with deadline and budget constraints in edge-cloud environment | |
CN102932422A (zh) | 基于改进蚁群算法的云环境任务调度方法 | |
CN102404412A (zh) | 云计算数据中心节能方法及*** | |
Rui et al. | Computation offloading in a mobile edge communication network: A joint transmission delay and energy consumption dynamic awareness mechanism | |
CN108196935A (zh) | 一种面向云计算的虚拟机节能迁移方法 | |
Li et al. | Task offloading mechanism based on federated reinforcement learning in mobile edge computing | |
Xu et al. | Fog-cloud task scheduling of energy consumption optimisation with deadline consideration | |
Fan et al. | Game balanced multi-factor multicast routing in sensor grid networks | |
CN108347380A (zh) | 一种基于频谱离散度感知的虚拟光网络协同映射方法 | |
CN111506431A (zh) | 一种云服务器在能耗约束下感知负载性能优化方法 | |
CN110308973A (zh) | 一种基于能耗优化的容器动态迁移方法 | |
CN103916266B (zh) | 一种主动休眠节点和链路的高效节能虚拟网络映射算法 | |
CN112822055A (zh) | 一种基于dqn的边缘计算节点部署算法 | |
Xiong et al. | An energy aware algorithm for edge task offloading | |
CN109101316B (zh) | 一种能效相关的云计算平台资源调度方法 | |
CN108073449B (zh) | 一种虚拟机动态放置方法 | |
CN104158717B (zh) | 一种高效节能虚拟网络映射的反馈控制方法 | |
CN106227600A (zh) | 一种基于能量感知的多维虚拟资源分配方法 | |
CN108123893A (zh) | 一种实时虚拟机迁移的多目标带宽分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |