法律状态公告日
法律状态信息
法律状态
2019-05-31
授权
授权
2017-03-15
实质审查的生效 IPC(主分类):H04L12/803 申请日:20160908
实质审查的生效
2017-02-15
公开
公开
技术领域
本发明属于通信网络技术领域,具体是一种基于SDN架构的数据中心网络节能路由算法。
背景技术
新型数据中心网络广泛采用“富连接”式拓扑结构。大量交换机的引入,增加了网络部分的能耗比例,从而导致了低负载下能耗的严重浪费。软件定义网络(Software Defined Network,SDN)作为一种新型的网络架构,其集中控制的网络特性,为数据中心网络的绿色节能提供了一种新的思路。通过SDN控制器对网拓扑信息及网络设备流量信息的实时收集使得在路由层面上对全网进行节能流量工程部署变得便利。
当前,针对数据中心网络的节能方案主要分为两类:第一类主要从单个网络设备的硬件设计及制造技术着手,研究如何通过设备休眠、功率切换等功耗管理手段以及能耗优化芯片的设计来降低网络设备的能耗,称之为设备级节能技术;第二类主要考虑通过网络合理规划、资源配置优化以及根据负载状况动态地调整网络资源供应来实现全局网络功耗控制,采用的手段主要有拓扑选取、路由流量调度等,称之为网络级节能技术。
对于设备级节能技术,Li Dan,Shang YunFei,Chen CongJie在文献Software defined green data center network with exclusive routing[C]//INFOCOM,2014Proceedings IEEE.IEEE,2014:1743-1751.中公开了基于休眠机制的节能设备,它允许设备在空闲状态下快速切换至低功耗的休眠模式以节省能耗,并且当需要处理任务时快速恢复至工作模式。
对于网络级节能技术,Heller B,Seetharaman S,Mahadevan P在文献ElasticTree:saving energy in data center networks[C]//Pro of the 37th>
现有技术中公开了董仕,李瑞轩,李晓林的文献“基于软件定义数据中心网络的节能路由算法”(计算机研究与发展,2015,52(4):806-812.)该文章通过对负载均衡量化分析,以此来约束流量集中调配过程中的网络基本性能阈值,然后把带宽限定的负载均衡与节能路由相结合,提出了一种改进的节能路由算法,在节能的同时充分考虑了网络整体的可达性和可靠性。
由相关研究可知,相比设备级节能方式孤立地考虑单个设备的功耗控制问题,网络级节能技术从全局的角度考虑如何将现有流量需求集中分配在网络设备当中,使得其余链路有更大的机率因处于空载状态而置于休眠模式,在节能方面更加具有优势。然而现有的网络级节能技术普遍存在以下问题:1.计算复杂度较高,耗时较长,难以在实际网络中实施。2.没有将负载均衡机制引入流的路径分配过程中,导致部分链路过于拥塞。3.没有进一步考虑设备的功耗特性。本发明基于SDN架构下的数据中心网络路由特性,结合数据中心网络应用场景特点及能耗特性,提出一种数据中心网络节能路由算法,通过能耗最优拓扑子集的计算,以及在最优拓扑子集中为流分配路径的过程中引入负载均衡机制,同时综合考虑转发设备的功耗特性,以实现数据中心网络的绿色节能。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种基于SDN架构的数据中心网络节能路由算法。本发明的技术方案如下:
一种基于SDN架构的数据中心网络节能路由算法,其包括以下步骤:
步骤一、控制器搜集当前数据中心网络流量矩阵、数据中心网络拓扑及网络中每条链路容量信息,根据容量约束条件与流量需求约束条件,并结合搜集的信息建立能耗优化模型,基于启发式的最优能耗子集算法计算出能耗最小拓扑子集,输出该能耗最小拓扑子集中各交换机及链路的状态;
步骤二、在能耗最优拓扑子集中对流量矩阵中的流进行路径分配,通过负载均衡路径分配方法把网络中的流分配到具有最小链路利用率的路径,实现流量在拓扑子集上的均衡分配;
步骤三、对最优拓扑子集中各条链路进行检测,计算各条链路中分配的流的流量需求Tlink,根据流量需求大小判断链路所连交换机的端口速率,并根据设备的功耗特性参数GFER对速率为1G的链路进行重路由条件判断,为符合重路由条件的链路中的流计算新的转发路径,并根据重路由结果对能耗最优拓扑子集中的交换机速率及负载均衡路径分配进行调整;
步骤四、控制器根据算法得到的最终路径分配结果对数据流进行路由。
进一步的,所述数据中心网络采用Fat-Tree拓扑,其中包含4个Pod,每个Pod由2个接入层交换机和2个汇聚层交换机组成,每个接入层交换机与两个主机相连接,核心层由4个交换机组成,每个核心层交换机均有一条链路与各个Pod的汇聚层交换机相连。
进一步的,所述步骤一建立能耗优化模型包括:在当前网络拓扑和流量需求下,通过对流量矩阵中每条流的路径分配,使得网络中能耗最小,优化目标计算如下:
Minimum∑(u,v)∈EXu,v×a(u,v)+∑u∈SYu×b(u)
G(V,E)用以描述网络拓扑,其中V代表网络中的交换机,E代表交换机间的链路,S表示交换机集合且a(u,v)表示节点u与节点v之间的链路(u,v)的能耗,b(u)表示交换机u的能耗,Xu,v与Yu均为二进制变量,分别表示交换机和链路状态,0代表关闭,1代表开启。
进一步的,步骤一所述容量约束条件如下:
其中表示流i的可用路径,其中表示包含链路(u,v)的流i的可用路径集合,fi(p)表示网络中任意一条流i的路径,c(u,v)表示链路(u,v)的容量,其中(u,v)∈E;λ表示网络中每条链路可分配的带宽与链路带宽的比值,其取值为0-1之间的任意数字;
为确保流量矩阵中的任意一条流Ti,在源和目的地址处发出和接收的流量等于这条流的需求di,流量需求约束条件定义如下:
进一步的,步骤一最优能耗子集算法具体步骤如下:
S1:对于拓扑中所有链路,将其可分配链路容量capmax[l]设置为其链路容量cap[l]的λ倍,即capmax[l]=λcap[l];
S2:对于流量矩阵T中的任意第i条流,根据其源目的地址列出所有可用路径,并按位置从左至右排序,表示下:
S3:对路径集合依次查询,若路径pi,j中所有链路的可用容量capavail[l]均大于流i的带宽需求fdmd,则将该流分配至路径pi,j;
S4:此时,路径pi,j中所有链路的可用容量capavail[l]变为capavail[l]-fdmd,重新回到S2,为流量矩阵中其他的流分配路径;
S5:直至流量矩阵T中的流完全分配路径,循环结束,并将该路径相关的交换机置于开启状态,其余交换机则置于关闭状态,至此完成最优能耗拓扑子集的划分并选择出被开启的交换机集合。
进一步的,所述步骤二负载均衡路径分配方法具体如下:步骤A1:将流量矩阵T中的流按带宽需求递减排序,优先分配带宽需求较大的流I;
A2:对于任意第i条流,在能耗最优拓扑子集中计算其所有可用路径,并估算将该流分配至每条可用路径后该路径的链路利用率;
A3:把该流i分配至由A2估算出的拥有最小最大链路利用率的路径,并把该路径中所涉及所有链路的容量进行更新即:capavail[l]=capavail[l]-fdmd
A4:分配流程返回A1,直至流量矩阵T中的流量均在最优拓扑子集中完成负载均衡路径分配。
进一步的,步骤三中所述GFER表示设备端口在1Gbps速率时的功耗P1Gbps和和100Mbps速率时的功耗P100Mbps的比值,即:
进一步的,步骤三包括步骤:根据流量路径分配结果,检测各路径中每条链路的流量需求Tlink,若0<Tlink<LC10则将交换机端口置于10M速率,若LC10<Tlink<LC100,则将交换机端口置于100M速率,若LC100<Tlink<LC1G则置于1G速率,对于每条1G的链路,判断链路上的流量带宽需求是否小于100M与GFER的乘积,若符合,则为该链路上的所有流fi计算使用100M链路到达目的地的新转发路径PfiLC100,若链路上的所有流都存在新转发路径,则按照新转发路径将所有流进行重路由。
本发明的优点及有益效果如下:
本发明提出了一种数据中心网络节能路由算法,通过设计的启发式算法计算出最小能耗拓扑子集,并针对现有数据中心节能方案仅考虑最小功耗拓扑子集的计算,而忽略能耗最优拓扑子集中的流量均匀分配的问题,将流量负载均衡机制引入为最优能耗子集中的流分配路径的过程中,因此在满足节能效果的前提下了保障网络的最大链路利用率,避免因流量分配不均而导致的链路拥塞问题。同时,综合考虑了不同设备的功耗特性问题,并将设备功耗缩放比引入节能路由算法,对不满足设备功耗缩放比下最优的流进行重路由,在进一步提升节能效果的同时保证了网络的服务质量。
附图说明
图1是本发明提供优选实施例采用的网络拓扑图
图2是本发明提供优选实施例基于SDN架构的数据中心网络节能路由算法流程图;
图3为不同λ取值下本算法的节能效果对比图;
图4为最大链路利用率对比图;
图5为不同网络利用率下节能效果对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
以下结合附图,对本发明作进一步说明:
本发明的技术方案如下:
本实施例是在网络仿真软件中实现的一种基于SDN架构的数据中心网络节能路由算法,本例采用数据中心网络广泛使用的Fat-Tree拓扑,如图1所示。其中包含4个Pod,每个Pod由2个接入层交换机和2个汇聚层交换机组成,每个接入层交换机与两个主机相连接。核心层由4个交换机组成,每个核心层交换机均有一条链路与各个Pod的汇聚层交换机相连。在实验环境的设置中,本例将拓扑中每条链路的带宽统一设置为100M。为高度模拟数据中心流量场景,本例采用Mix流量场景,即Near:middle:Far=1:1:1。其中Near表示流的源和目的地址所在交换机由同一个边缘交换机相连;Middle表示每条流的源和目的地址所在交换机在同一个pod内;Far表示每条流的源和目的地址所在交换机在不同的pod内。在能耗计算方面,实验参照4-Gigabit-port NetFPGA OpenFlow交换机特性,每个交换机的总能耗为固定功耗、FPGA组件功耗与端口功耗之和。各端口功耗在端口速率为0、1Mbps、10Mbps和100Mbps时分别为23mW、52mW、112mW和1080mW;若交换机有端口存在流量的收发,则交换机开启,固定功耗为4496mW,开启的交换机存在速率为100M的端口时,FPGA组件功耗为2694mW,不存在则为1394mW;交换机在没有流量收发的休眠状态时的总功耗为固定功耗与空闲FPGA组件功耗之和4577mW。
参照图2,本实例包括以下步骤:
第一步,最优能耗拓扑子集的计算。控制器监控模块对当前流量矩阵、数据中心网络拓扑、网络中每条链路容量信息进行搜集。所述步骤1能耗优化模型具体为:
在当前网络拓扑和流量需求下,通过对流量矩阵中每条流的路径分配,使得网络中能耗最小,优化目标计算如下:
Minimum∑(u,v)∈EXu,v×a(u,v)+∑u∈SYu×b(u)
G(V,E)用以描述网络拓扑,其中V代表网络中的交换机,E代表交换机间的链路,
S表示交换机集合且a(u,v)表示节点u与节点v间的链路(u,v)的能耗,b(u)表示交换机u的能耗,Xu,v与Yu均为二进制变量,表示交换机和链路状态,0代表关闭,1代表开启。
为保证各链路上的流量不超过链路的最大允许范围,容量约束条件如下:
其中表示流i的可用路径,其中表示包含链路(u,v)的流i的可用路径集合,fi(p)表示网络中任意一条流i的路径,c(u,v)表示链路(u,v)的容量,其中(u,v)∈E;λ表示网络中每条链路可分配的带宽与链路带宽的比值,其取值为0-1之间的任意数字,可根据网络业务对网络冗余的需求以及网络中数据的峰值状况对其进行设定。
为确保流量矩阵中的任意一条流Ti,在源和目的地址处发出和接收的流量等于这条流的需求di,流量需求约束条件定义如下:
对于拓扑中所有链路,将其可分配链路容量capmax[l]设置为其链路容量cap[l]的λ倍。即capmax[l]=λcap[l]。根据控制器搜集到的流量矩阵信息,将流量矩阵T中的任意一条流,记为i,根据其源目的地址列出所有可用路径,并按位置从左至右排序,表示下:对路径集合依次查询,若路径pi,j中所有链路的可用容量capavail[l]大于该流的带宽需求fdmd,将该流分配至路径pi,j。其中每条流的需求在各链路容量的0%-20%之间随机选择则。同时,将路径pi,j中所有链路的可用容量capavail[l]变为capavail[l]-fdmd。直至遍历流量矩阵中所有的流,完成最优能耗拓扑子集的计算并选择出被开启的交换机集合。
第二步,负载均衡路径分配。将流量矩阵T中的流按带宽需求递减排序,优先分配带宽需求较大的流。对于任意第i条流,在能耗最优拓扑子集中计算其所有可用路径,并估算将该流分配至每条可用路径后该路径的链路利用率。把该第i条流分配至估算出的拥有最小最大链路利用率的路径,并把该路径中所涉及所有链路的容量进行更新即:capavail[l]=capavail[l]-fdmd。遍历流量矩阵中所有的流,直至流量矩阵中的流量均在最优拓扑子集中完成负载均衡路径分配。
第三步,根据流量带宽需求Tlink和设备的功耗特性参数GFER进行节能重路由。通过检测各链路的流量需求Tlink进行重路由需求判断,若0<Tlink<LC10把交换机端口置于10M速率,若LC10<Tlink<LC100,把交换机端口置于100M速率,若LC100<Tlink<LC1G则置于1G速率;对于每条1G的链路,判断链路上的流量需求是否小于100M和GFER的乘积;若符合,则为该链路上的所有流fi计算使用100M链路到达目的地的新转发路径;若链路上的所有流都存在新转发路径,则按照新转发路径将所有流进行重路由。
第四步,控制器下发流表,实现节能路由算法对流的调度。
在本实施例中,图3给出了λ取0.5,0.75与1下本发明所提节能路由算法G-EERA(G-Energy Efficient Routing Algorithm)的节能效果对比结果。图4为λ取0.75时随着每个主机向其他主机发送的流的数量增加的情况下,两种算法关于最大链路利用率的对比。图5是λ取0.75时随着链路利用率的增大,两种算法的能耗节省率效果的对比。
由图3可见:在拓扑子集计算过程中通过引入参数λ限定每条链路的最大可分配带宽,从而保证了网络的冗余及其他性能要求。曲线λ1、λ2、λ3分别表示算法在参数λ=1、λ=0.75、λ=0.5状况下的节能效果,从图中可以看出,在实验中的各个负载状况下,本文提出的改进节能路由算法都能够使得网络能耗降低。此外,随着流的数目的增多,能耗节省率下降,网络节能效果变差。因为流的数目越多网络中负载越大,在计算最小拓扑子集时越多的交换机和链路需要被使用来满足当前网络负载需求,可置于休眠状态的链路和交换机就越少,节能效果就越差。但是当负载处于较低状态下时,此算法能够节省相当比例的能量(流的数量为1时,在λ1、λ2、λ3下能耗节省率分别为43.00%、28.37%、18.16%)。同时,比较同一负载状况下各条曲线的能耗节省率可知,随着λ的减小,能耗节省率降低。λ表示在计算拓扑子集时允许使用的链路的最大容量,λ越小,在计算最小拓扑子集时各链路允许分配的带宽越少,网络的冗余越高,在满足相同负载状况时需要用到的交换机和链路的数量越多,因此节能效果越差。当λ=0.5,每个主机中流的数量为5的时候,节省的能耗几乎为0。因为此时每条链路最大可用带宽为50%,在5条流的状况下,开启几乎所有的网络设备才能满足此流量需求。
由图4可见:本发明所提节能路由算法G-EERA(G-Energy Efficient Routing Algorithm,改进的节能路由算法)采用负载均衡机制在能耗最优拓扑子集当中为当前流量分配路径,使得MLU(最大链路利用率)最小,充分利用网络冗余,以控制一定的最大链路利用率。本发明在同等负载状况下能够使得网络最大链路利用率略低于Elastic Tree,并且随着负载的增大,MLU的增加速度相对平稳。
由图5可见:随着网络利用率(Network Utilization,NU)的增大,两个算法的能耗节省率均有所下降。由于NU越大,网络需要使用越多的链路容量,因此节能效果就会越差。然而,在相同NU下对比两种算法的能耗节省率可以看出,本文所提改进的节能路由算法G-EERA的节能效果优于Elastic Tree。这是由于本发明算法使用了功耗特性参数GFER,根据交换机端口在不同速率下能耗的差异对流进行重路由,为流选择更加节能的路径。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
机译: 基于多层虚拟拓扑的SDN数据中心网络节能流量调度算法
机译: 基于多层虚拟拓扑的SDN数据中心网络节能流量调度算法
机译: 基于局部搜索算法的高移动基站无线传感器网络中基于扩展树的节能路由