一种基于GPU数据包分类的模糊控制节能方法与流程

文档序号:12270455阅读:517来源:国知局
一种基于GPU数据包分类的模糊控制节能方法与流程

本发明涉及GPU应用的节能领域,特别是一种基于GPU数据包分类的模糊控制节能方法。



背景技术:

网络数据包分类是指路由器转发数据包到相应端口。目前,应用最广泛的包分类技术是基于TCAM(Ternary Content Addressable Memory)硬件平台,该平台虽然性能高,但是存在高功耗、高价格的问题。近些年,基于FPGA(Field-Programmable Gate Array)、NPU(Network Processing Unit)、GPU(Graphics Processing Unit)等其它硬件平台的包分类技术也得到不断发展。其中,基于GPU的包分类技术因为可编程性、可扩展性好,通用性强,产品种类与价格多样而具有较好的科研与实际应用价值。然而,GPU平台也同样存在功耗较高的问题,因此研究基于GPU数据包分类的节能方法具有重要的应用价值。

在超级计算机领域,速度性能是一项最重要的评价指标,TOP500则是列出当前世界上计算速度最快的前500台超级计算机。但是人们发现,随着计算性能的不断提升,功耗问题也不断突出,从而导致能耗墙问题。所以还专门以单位功耗的计算性能为指标,列出世界上最节能的Green500超级计算机名单。在2015年6月TOP500前十名中,仅有两台使用了Tesla K20GPU的超级计算机进入前十,但是在同期Green500的前十名中有6台超级计算机使用了Tesla K20/40/80系列GPU。

可以看出,在高性能计算领域,能耗是一项比较重要的评价指标。网络数据包分类是一种执行高性能计算的任务,我们基于GPU的数据包分类也是使用Tesla K20硬件平台,所以研究高性能与低能耗的平衡具有重要的实际应用价值。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术不足,提供一种基于GPU数据包分类的模糊控制节能方法。

为解决上述技术问题,本发明所采用的技术方案是:一种基于GPU数据包分类的模糊控制节能方法,包括以下步骤:

1)设计基于GPU的模糊控制节能模型,定义模糊规则;

2)设置数据包分类任务的GPU初始运行参数,包括分配计算任务,数据包分类算法,GPU线程调度策略,GPU核心频率;

3)监控GPU运行功耗、吞吐率性能指标状态;

4)使用GPU节能模糊控制模型,不断进行模糊调整控制,以达到节能效果。

步骤1)的具体实现过程包括:

1)测量GPU在四种计算模式Default,Exclusive Thread,Exclusive Process,Prohibited下的运行功率P;

2)测量GPU在本型号支持的几种运行频率F下的功率;

3)测量使用多种并行资源Grid、Block、Thread分配策略A下的GPU运行时的电量能耗;

4)测量不同算法运行时间O、计算任务量N下的GPU电量能耗;

5)测量GPU每秒处理数据包数量的吞吐率性能S、GPU自身传感器获取的运行温度T;

6)找出各种指标与功耗P、网络数据包分类中每秒处理数据包数量的吞吐率性能S的对应关系,设计模糊规则。

根据下式定义模糊规则:

其中,N代表计算任务量,A代表GPU并行资源Grid、Block、Thread的线程分配策略,O代表使用不同包分类算法的运行时间;

定义一系列的IF-THEN模糊规则,定义的规则如下:

如果GPU是空闲状态,那么设置GPU为禁用模式;

如果GPU是运行状态,那么设置GPU为默认模式;

如果GPU功率过高,那么降低GPU运行频率;功率过高阈值区间为65~70W;

如果GPU功率较高,那么降低GPU并行资源Grid、Block、Thread数量;功率较高阈值区间为60~67W;

如果吞吐率过低,那么提高GPU运行频率;吞吐率过低阈值为48~50Mpps;

如果吞吐率较低,那么提高GPU并行资源Grid、Block、Thread数量;吞吐率较低阈值为49~55Mpps。

与现有技术相比,本发明所具有的有益效果为:本发明提供了一种根据变频空调节能原理设计出来的模糊控制方法,使得GPU在运行任务时,能够同时兼顾高性能与低能耗的平衡问题,具有重要的实际应用价值;在数据包分类领域,提供了一种基于GPU进行包分类的高性能、低能耗模糊控制模型,对网络设备实现绿色计算具有重要的实用价值。

附图说明

图1是基于GPU包分类的节能模糊控制流程图;

图2是基于GPU的路由器转发数据包示意图;

图3是模糊控制原理图;

图4是不同状态下GPU的功率图;

图5是不同运行频率下的GPU性能与能耗图;

图6是不同线程分配策略下的GPU性能与能耗图。

具体实施方式

参考图1,本发明包括以下步骤:

步骤1,开始基于GPU的数据包分类任务,并初始化运行参数。GPU的计算模式设置为默认模式;针对Tesla K20GPU,初始运行频率设置为系统默认值。

步骤2,使用模糊规则对GPU运行参数进行调整。其中,模糊规则根据从实验中验证而得出的公式推导而来。

步骤3,使用GPU平台进行包分类加速。

步骤4,监控GPU的各项运行参数。在加速过程中,对GPU运行状态参数,功率、温度等进行实时监控记录。

步骤5,统计检测是否实现了高性能与低功耗的优化。对监控参数进行统计,比较系统性能与功耗的优化程度。

步骤6,如果没有达到目标,转入步骤2,继续进行模糊控制调整。类似于变频空调节能的原理,能够根据当前工作任务的负载程度,使用模糊控制的方式主动改变运行频率,如果是低负载,则使用较低的运行频率进行节能。本发明提出的EFCGPU模型利用GPU也具有变频功能的特性,根据计算任务动态调整GPU运行参数,针对高性能与低功耗的目标,进行一个不断平衡、不断调整的过程,从而达到优化的节能效果。

参考图2,是基于GPU的包分类路由转发原理图,解释了包分类的技术实质。根据达到转发引擎的数据包头部字段特征,进行规则匹配,找到下一步需要执行的转发动作,从而对数据包进行分类转发。

参考图3,是模糊控制的原理图,表示系统的模糊控制是一个不断调整、不断平衡的过程。首先输入系统的状态变量,然后进行模糊规则匹配,根据模糊推断结果,得到非模糊的控制变量,对系统进行调整。

参考图4,是GPU在不同模式状态下的功率图,例如本发明使用的Tesla K20GPU在空闲时段,功率为27W左右;在工作时段,功率为65W左右;但是把GPU设置为禁用模式,其功率仅为15W左右,这就能在GPU的非工作时段,通过调整计算模式进行节能。

参考图5,是GPU在不同运行频率下的性能与能耗图。本发明使用的Tesla K20GPU,支持6种不同的运行频率。对不同的运行频率采用相同的计算任务作对比,可以发现GPU在705MHz的运行频率下,达到一个能耗最低、吞吐率性能也较高的优化水平。

参考图6,是GPU在不同线程分配策略下的性能与能耗图,可以发现当线程分配策略为8blocks-256threads时,达到一个高性能与低功耗双优化的结果,相比其他分配策略,最高可节省15.51%的能耗。

本发明提供了一种基于GPU数据包分类的模糊控制节能方法,利用GPU具有的变频特性,结合变频空调的模糊控制节能原理,是一种新的思路,实施例子也证实了此方法的有效性和可行性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1