一种能耗感知的虚拟网络映射运输模型的方法技术

技术编号:10132974 阅读:197 留言:0更新日期:2014-06-16 11:08
本发明专利技术公开了一种能耗感知的虚拟网络映射运输模型的算法,包括构建虚拟网络映射高效节能运输模型和虚拟网络映射最小能耗算法两个主要步骤。本发明专利技术根据底层网络能耗特点,利用其能够提供的CPU资源及虚拟网络CPU资源请求量特征,设定节能的运输单价参数、底层节点CPU资源生产量以及虚拟节点CPU资源消费量,增加节点和链路映射约束,建立虚拟网络映射高效节能运输模型,设计虚拟网络映射最小化能耗算法,降低系统能耗。

【技术实现步骤摘要】
一种能耗感知的虚拟网络映射运输模型的方法
本专利技术涉及能耗方法的
,特别是能耗感知的虚拟网络映射运输模型的方法的

技术介绍
随着电力成本不断上涨和人们生态意识的提高,网络运营商已经意识到能耗管理的重要性,减少能耗已成为亟待解决的问题。当前网络为高峰负荷而设计,网络资源超量供给确保了网络的正常运行,然而也导致资源利用率低下。据统计,大型ISP骨干网的平均链路利用率大约30-40%,数据中心服务器的平均利用率为11%~50%。过低的利用率造成了巨大的电能浪费,促使绿色网络研究的兴起,网络能耗问题成为研究热点。网络虚拟化,是未来因特网、云计算和软件定义网络的重要技术。其通过整合网络基础设施资源,合理有效地使用能量,使得智能能量感知网络部署成为可能。虚拟网络映射是网络资源虚拟化的关键问题。当前大部分映射方法是基于代价的虚拟网络映射,即以最小底层资源代价映射虚拟网络请求,从而获得更多的底层物理资源,以提高虚拟网络映射接收率。然而,由于底层物理网络节点的能耗与CPU的利用率关系较大,虚拟网络节点应尽可能映射到更加节能的底层物理节点。基于代价的虚拟网络映射并未考虑到底层节点的节能特点,这必然带来不必要的能耗。因此设计有效模型,尽可能把虚拟网络节点映射到底层节能节点是节能的有效方法。但是目前相关节能感知映射方法是通过资源整合方法实现虚拟网络映射,节约系统能耗,但缺乏考虑底层网络节点节能特点。
技术实现思路
本专利技术的目的就是解决现有技术中的问题,提出一种能耗感知的虚拟网络映射运输模型的方法,根据底层网络能耗特点,利用其能够提供的CPU资源及虚拟网络CPU资源请求量特征,设定节能的运输单价参数、底层节点CPU资源生产量以及虚拟节点CPU资源消费量,增加节点和链路映射约束,建立虚拟网络映射高效节能运输模型,设计虚拟网络映射最小化能耗方法,降低系统能耗。为实现上述目的,本专利技术提出了一种能耗感知的虚拟网络映射运输模型的方法,依次包括以下步骤:a)构建虚拟网络映射高效节能运输模型:设定有m个底层网络节点提供CPU资源的生产地点Ai,i=1,2,...,m,可供应CPU资源物资,CPU供应量分别为ai,i=1,2,...,m,设定ai为:其中m值为底层网络节点的数量,为底层节点i的CPU资源量;设有n个虚拟节点需求CPU资源的销地Bj,j=1,2,...,n,CPU需求量分别为bj,j=1,2,...,n,设定bj为:其中n为等待映射的虚拟网络节点数量,为虚拟节点j的CPU资源量;从Ai到Bj分配单位CPU资源的能耗单价为cij,设定cij为:设定xij为从Ai到Bj的分配CPU资源量,在产销不平衡的条件下,要求得到总能耗最小的分配方案,能耗最小化数学模为:虚拟节点需求CPU资源约束:底层节点提供CPU资源约束:CPU资源分配约束:xij≥0,将cij、bj和ai分别带入和中,把虚拟网络映射节能运输问题转化为能耗最小化数学模型的求解;b)虚拟网络映射最小能耗方法:b1)步骤a)构建的虚拟网络映射节能运输模型,包括分配单位CPU的能耗代价、底层节点供应CPU资源量及虚拟节点需求CPU资源量,用distance表示承载运输模型数据的数据结构,当底层节点i的CPU资源量大于等于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源的能耗单价为1.0/sub.cpu[i],其中sub.cpu[i]为底层节点CPU总量;当底层节点i的CPU资源量小于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源能耗单价为-1,表示不能从i到j的分配CPU资源;底层节点i可分配CPU资源为剩余CPU资源量,由subEmbed.cpu[i]表示;第index个虚拟网络的虚拟节点j需求CPU资源量,由req[index].cpu[j]表示;distance[i][j].em=0表示底层节点i未映射给虚拟节点j,distance[i][j].em=1表示底层节点i已经分配,虚拟节点j已经分配,i和j不可以再分配;b2)首先判断是否映射所有的虚拟节点,用num记录映射成功的虚拟节点数量,req[index].nodes为虚拟网络index的节点数量,如果所有的虚拟节点都已映射,则说明虚拟网络映射成功,否则存在未映射的虚拟节点;然后调用GetMinNum()函数,该函数找到未映射的最小能耗单价及虚拟网络最大CPU请求资源的元素(sNode,vNode),如果GetMinNum()==1,则找到了最小单价最大销量元素(sNode,vNode),虚拟节点vNode映射到底层节点sNode,否则说明不能映射虚拟节点,返回-1,即映射失败;然后设置第i行及第j列映射标志:distance[i][].em=1,distance[][j].em=1,表示底层节点i已经分配,不能再分配CPU给其他任何虚拟节点,同时虚拟节点j已经分配,不能再接受其他底层节点的CPU资源;然后调用FindNoEmbedVLink()函数,该函数在已经映射虚拟节点中检测是否存在一条未映射的与虚拟节点vNode连接的虚拟链路,如果该函数返回1,说明找到了一条未映射的虚拟链路vFindLink及其带宽bw,对应的底层节点为sNode和sFNode,否则说明不存在未映射的虚拟链路;然后调用EmbedLinkBySpfa()函数,该函数在底层节点sNode到sFNode之间找到最短路径映射虚拟链路vFindLink,这条最短路径的所有链路剩余带宽必须大于等于bw,其中采用经典最短路径方法计算最短路径,链路之间的距离设置采用以下方法:如果底层链路带宽大于等于bw,则设置为1,表示该链路可以映射;如果底层链路小于bw,则设置为0,表示该底层链路不能映射,不参与最短路径的计算;如果EmbedLinkBySpfa()返回1,则说明找到了一条最短路径映射虚拟链路,然后记录链路映射结果,并更新vFindLink虚拟链路映射标志,否则链路映射失败,返回-1。作为优选,所述虚拟网络包括节点和链路映射,虚拟网络映射节能运输模型需要增加xij值约束:当底层节点Ai的CPU供应量小于虚拟节点Bj的CPU需求量,则不能从Ai到Bj分配资源,即底层节点必须满足虚拟节点的CPU请求资源量要求;如果底层节点Ai分配CPU资源给虚拟节点Bj,则Ai不能向其它任何虚拟节点分配CPU资源,Bj也不能接受其他任何底层节点的CPU资源,即在一个虚拟节点只能映射到一个底层节点,一个底层节点不能同时承载同一虚拟网络的多个虚拟节点。作为优选,所述虚拟网络包括节点和链路映射,虚拟网络映射节能运输模型还需增加链路映射容量约束:其中,为二进制变量,当虚拟链路luw映射到底层链路ljk上,则否则如果ljk为底层链路,则BWL(ljk)表示底层链路ljk剩余带宽,如果ljk为虚拟链路,则BWL(ljk)表示虚拟链路ljk请求带宽。作为优选,所述虚拟网络包括节点和链路映射,虚拟网络映射节能运输模型还需要增加链路映射分配约束:其中,表示底层节点i到j为虚拟网络分配的带宽总量,由一个或者多个虚拟链路luw带宽组成,LDBW(u,w)为虚拟链路luw带宽,Lv为虚拟链路集合,为二进制变量,当虚拟节点u映射到底层节点i上,则否则同含本文档来自技高网...

【技术保护点】
一种能耗感知的虚拟网络映射运输模型及算法,依次包括以下步骤:a)构建虚拟网络映射高效节能运输模型:设定有m个底层网络节点提供CPU资源的生产地点Ai,i=1,2,...,m,可供应CPU资源物资,CPU供应量分别为ai,i=1,2,...,m,设定ai为:其中m值为底层网络节点的数量,为底层节点i的CPU资源量;设有n个虚拟节点需求CPU资源的销地Bj,j=1,2,...,n,CPU需求量分别为bj,j=1,2,...,n,设定bj为:其中n为等待映射的虚拟网络节点数量,为虚拟节点j的CPU资源量;从Ai到Bj分配单位CPU资源的能耗单价为cij,设定cij为:设定xij为从Ai到Bj的分配CPU资源量,在产销不平衡的条件下,要求得到总能耗最小的分配方案,能耗最小化数学模为:虚拟节点需求CPU资源约束:Σi=1mxij=bj,j=1,2,...,n,]]>底层节点提供CPU资源约束:Σj=1nxij≤ai,i=1,2,...,m,]]>CPU资源分配约束:xij≥0,将cij、bj和ai分别带入Σi=1mxij=bj,j=1,2,...,n]]>和Σj=1nxij≤ai,i=1,2,...,m]]>中,把虚拟网络映射节能运输问题转化为能耗最小化数学模型的求解;b)虚拟网络映射最小能耗算法:b1)步骤a)构建的虚拟网络映射节能运输模型,包括分配单位CPU的能耗代价、底层节点供应CPU资源量及虚拟节点需求CPU资源量,用distance表示承载运输模型数据的数据结构,当底层节点i的CPU资源量大于等于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源的能耗单价为1.0/sub.cpu[i],其中sub.cpu[i]为底层节点CPU总量;当底层节点i的CPU资源量小于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源能耗单价为‑1,表示不能从i到j的分配CPU资源;底层节点i可分配CPU资源为剩余CPU资源量,由subEmbed.cpu[i]表示;第index个虚拟网络的虚拟节点j需求CPU资源量,由req[index].cpu[j]表示;distance[i][j].em=0表示底层节点i未映射给虚拟节点j,distance[i][j].em=1表示底层节点i已经分配,虚拟节点j已经分配,i和j不可以再分配;b2)首先判断是否映射所有的虚拟节点,用num记录映射成功的虚拟节点数量,req[index].nodes为虚拟网络index的节点数量,如果所有的虚拟节点都已映射,则说明虚拟网络映射成功,否则存在未映射的虚拟节点;然后调用GetMinNum()函数,该函数找到未映射的最小能耗单价及虚拟网络最大CPU请求资源的元素(sNode,vNode),如果GetMinNum()==1,则找到了最小单价最大销量元素(sNode,vNode),虚拟节点vNode映射到底层节点sNode,否则说明不能映射虚拟节点,返回‑1,即映射失败;然后设置第i行及第j列映射标志:distance[i][].em=1,distance[][j].em=1,表示底层节点i已经分配,不能再分配CPU给其他任何虚拟节点,同时虚拟节点j已经分配,不能再接受其他底层节点的CPU资源;然后调用FindNoEmbedVLink()函数,该函数在已经映射虚拟节点中检测是否存在一条未映射的与虚拟节点vNode连接的虚拟链路,如果该函数返回1,说明找到了一条未映射的虚拟链路vFindLink及其带宽bw,对应的底层节点为sNode和sFNode,否则说明不存在未映射的虚拟链路;然后调用EmbedLinkBySpfa()函数,该函数在底层节点sNode到sFNode之间找到最短路径映射虚拟链路vFindLink,这条最短路径的所有链路剩余带宽必须大于等于bw,其中采用经典最短路径算法计算最短路径,链路之间的距离设置采用以下方法:如果底层链路带宽大于等于bw,则设置为1,表示该链路可以映射;如果底层链路小于bw,则设置为0,表示该底层链路不能映射,不参与最短路径的计算;如果EmbedLinkBySpfa()返回1,则说明找到了一条最短路径映射虚拟链路,然后记录链路映射结果,并更新vFindLink虚拟链路映射标志,否则链路映射失败,返回‑1。...

【技术特征摘要】
1.一种能耗感知的虚拟网络映射运输模型的方法,依次包括以下步骤:a)构建虚拟网络映射高效节能运输模型:设定有m个底层网络节点提供CPU资源的生产地点Ai,i=1,2,...,m,可供应CPU资源物资,CPU供应量分别为ai,i=1,2,...,m,设定ai为:其中m值为底层网络节点的数量,为底层节点i的CPU资源量;设有n个虚拟节点需求CPU资源的销地Bj,j=1,2,...,n,CPU需求量分别为bj,j=1,2,...,n,设定bj为:其中n为等待映射的虚拟网络节点数量,为虚拟节点j的CPU资源量;从Ai到Bj分配单位CPU资源的能耗单价为cij,设定cij为:设定xij为从Ai到Bj的分配CPU资源量,在产销不平衡的条件下,要求得到总能耗最小的分配方案,能耗最小化数学模为:虚拟节点需求CPU资源约束:j=1,2,...,n,底层节点提供CPU资源约束:i=1,2,...,m,CPU资源分配约束:xij≥0,将cij、bj和ai分别带入和中,把虚拟网络映射节能运输问题转化为能耗最小化数学模型的求解;b)虚拟网络映射最小能耗方法:b1)步骤a)构建的虚拟网络映射节能运输模型,包括分配单位CPU的能耗代价、底层节点供应CPU资源量及虚拟节点需求CPU资源量,用distance表示承载运输模型数据的数据结构,当底层节点i的CPU资源量大于等于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源的能耗单价为1.0/sub.cpu[i],其中sub.cpu[i]为底层节点CPU总量;当底层节点i的CPU资源量小于虚拟节点j请求的CPU资源量,则从i到j分配CPU资源能耗单价为-1,表示不能从i到j的分配CPU资源;底层节点i可分配CPU资源为剩余CPU资源量,由subEmbed.cpu[i]表示;第index个虚拟网络的虚拟节点j需求CPU资源量,由req[index].cpu[j]表示;distance[i][j].em=0表示底层节点i未映射给虚拟节点j,distance[i][j].em=1表示底层节点i已经分配,虚拟节点j已经分配,i和j不可以再分配;b2)首先判断是否映射所有的虚拟节点,用num记录映射成功的虚拟节点数量,req[index].nodes为虚拟网络index的节点数量,如果所有的虚拟节点都已映射,则说明虚拟网络映射成功,否则存在未映射的虚拟节点;然后调用GetMinNum()函数,该函数找到未映射的最小能耗单价及虚拟网络最大CPU请求资源的元素(sNode,vNode),如果GetMinNum()==1,则找到了最小单价最大销量元素(sNode,vNode),虚拟节点vNode映射到底层节点sNode,否则说明不能映射虚拟节点,返回-1,即映射失败;然后设置第i行及第j列映射标志:distance[i][].em=1,distance[][j].em=1,表示底层节点i已经分配,不能再分配CPU给其他任何虚拟节点,同时虚拟节点j已经分配,不能再接受其他底层节点的CPU资源;然后调用FindNoEmbedVL...

【专利技术属性】
技术研发人员:蒋云良陈晓华李春芝
申请(专利权)人:湖州师范学院
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1