本發(fā)明涉及GPU應(yīng)用的節(jié)能領(lǐng)域,特別是一種基于GPU數(shù)據(jù)包分類的模糊控制節(jié)能方法。
背景技術(shù):
網(wǎng)絡(luò)數(shù)據(jù)包分類是指路由器轉(zhuǎn)發(fā)數(shù)據(jù)包到相應(yīng)端口。目前,應(yīng)用最廣泛的包分類技術(shù)是基于TCAM(Ternary Content Addressable Memory)硬件平臺(tái),該平臺(tái)雖然性能高,但是存在高功耗、高價(jià)格的問題。近些年,基于FPGA(Field-Programmable Gate Array)、NPU(Network Processing Unit)、GPU(Graphics Processing Unit)等其它硬件平臺(tái)的包分類技術(shù)也得到不斷發(fā)展。其中,基于GPU的包分類技術(shù)因?yàn)榭删幊绦浴⒖蓴U(kuò)展性好,通用性強(qiáng),產(chǎn)品種類與價(jià)格多樣而具有較好的科研與實(shí)際應(yīng)用價(jià)值。然而,GPU平臺(tái)也同樣存在功耗較高的問題,因此研究基于GPU數(shù)據(jù)包分類的節(jié)能方法具有重要的應(yīng)用價(jià)值。
在超級(jí)計(jì)算機(jī)領(lǐng)域,速度性能是一項(xiàng)最重要的評(píng)價(jià)指標(biāo),TOP500則是列出當(dāng)前世界上計(jì)算速度最快的前500臺(tái)超級(jí)計(jì)算機(jī)。但是人們發(fā)現(xiàn),隨著計(jì)算性能的不斷提升,功耗問題也不斷突出,從而導(dǎo)致能耗墻問題。所以還專門以單位功耗的計(jì)算性能為指標(biāo),列出世界上最節(jié)能的Green500超級(jí)計(jì)算機(jī)名單。在2015年6月TOP500前十名中,僅有兩臺(tái)使用了Tesla K20GPU的超級(jí)計(jì)算機(jī)進(jìn)入前十,但是在同期Green500的前十名中有6臺(tái)超級(jí)計(jì)算機(jī)使用了Tesla K20/40/80系列GPU。
可以看出,在高性能計(jì)算領(lǐng)域,能耗是一項(xiàng)比較重要的評(píng)價(jià)指標(biāo)。網(wǎng)絡(luò)數(shù)據(jù)包分類是一種執(zhí)行高性能計(jì)算的任務(wù),我們基于GPU的數(shù)據(jù)包分類也是使用Tesla K20硬件平臺(tái),所以研究高性能與低能耗的平衡具有重要的實(shí)際應(yīng)用價(jià)值。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,針對(duì)現(xiàn)有技術(shù)不足,提供一種基于GPU數(shù)據(jù)包分類的模糊控制節(jié)能方法。
為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種基于GPU數(shù)據(jù)包分類的模糊控制節(jié)能方法,包括以下步驟:
1)設(shè)計(jì)基于GPU的模糊控制節(jié)能模型,定義模糊規(guī)則;
2)設(shè)置數(shù)據(jù)包分類任務(wù)的GPU初始運(yùn)行參數(shù),包括分配計(jì)算任務(wù),數(shù)據(jù)包分類算法,GPU線程調(diào)度策略,GPU核心頻率;
3)監(jiān)控GPU運(yùn)行功耗、吞吐率性能指標(biāo)狀態(tài);
4)使用GPU節(jié)能模糊控制模型,不斷進(jìn)行模糊調(diào)整控制,以達(dá)到節(jié)能效果。
步驟1)的具體實(shí)現(xiàn)過程包括:
1)測(cè)量GPU在四種計(jì)算模式Default,Exclusive Thread,Exclusive Process,Prohibited下的運(yùn)行功率P;
2)測(cè)量GPU在本型號(hào)支持的幾種運(yùn)行頻率F下的功率;
3)測(cè)量使用多種并行資源Grid、Block、Thread分配策略A下的GPU運(yùn)行時(shí)的電量能耗;
4)測(cè)量不同算法運(yùn)行時(shí)間O、計(jì)算任務(wù)量N下的GPU電量能耗;
5)測(cè)量GPU每秒處理數(shù)據(jù)包數(shù)量的吞吐率性能S、GPU自身傳感器獲取的運(yùn)行溫度T;
6)找出各種指標(biāo)與功耗P、網(wǎng)絡(luò)數(shù)據(jù)包分類中每秒處理數(shù)據(jù)包數(shù)量的吞吐率性能S的對(duì)應(yīng)關(guān)系,設(shè)計(jì)模糊規(guī)則。
根據(jù)下式定義模糊規(guī)則:
其中,N代表計(jì)算任務(wù)量,A代表GPU并行資源Grid、Block、Thread的線程分配策略,O代表使用不同包分類算法的運(yùn)行時(shí)間;
定義一系列的IF-THEN模糊規(guī)則,定義的規(guī)則如下:
如果GPU是空閑狀態(tài),那么設(shè)置GPU為禁用模式;
如果GPU是運(yùn)行狀態(tài),那么設(shè)置GPU為默認(rèn)模式;
如果GPU功率過高,那么降低GPU運(yùn)行頻率;功率過高閾值區(qū)間為65~70W;
如果GPU功率較高,那么降低GPU并行資源Grid、Block、Thread數(shù)量;功率較高閾值區(qū)間為60~67W;
如果吞吐率過低,那么提高GPU運(yùn)行頻率;吞吐率過低閾值為48~50Mpps;
如果吞吐率較低,那么提高GPU并行資源Grid、Block、Thread數(shù)量;吞吐率較低閾值為49~55Mpps。
與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明提供了一種根據(jù)變頻空調(diào)節(jié)能原理設(shè)計(jì)出來的模糊控制方法,使得GPU在運(yùn)行任務(wù)時(shí),能夠同時(shí)兼顧高性能與低能耗的平衡問題,具有重要的實(shí)際應(yīng)用價(jià)值;在數(shù)據(jù)包分類領(lǐng)域,提供了一種基于GPU進(jìn)行包分類的高性能、低能耗模糊控制模型,對(duì)網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)綠色計(jì)算具有重要的實(shí)用價(jià)值。
附圖說明
圖1是基于GPU包分類的節(jié)能模糊控制流程圖;
圖2是基于GPU的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包示意圖;
圖3是模糊控制原理圖;
圖4是不同狀態(tài)下GPU的功率圖;
圖5是不同運(yùn)行頻率下的GPU性能與能耗圖;
圖6是不同線程分配策略下的GPU性能與能耗圖。
具體實(shí)施方式
參考圖1,本發(fā)明包括以下步驟:
步驟1,開始基于GPU的數(shù)據(jù)包分類任務(wù),并初始化運(yùn)行參數(shù)。GPU的計(jì)算模式設(shè)置為默認(rèn)模式;針對(duì)Tesla K20GPU,初始運(yùn)行頻率設(shè)置為系統(tǒng)默認(rèn)值。
步驟2,使用模糊規(guī)則對(duì)GPU運(yùn)行參數(shù)進(jìn)行調(diào)整。其中,模糊規(guī)則根據(jù)從實(shí)驗(yàn)中驗(yàn)證而得出的公式推導(dǎo)而來。
步驟3,使用GPU平臺(tái)進(jìn)行包分類加速。
步驟4,監(jiān)控GPU的各項(xiàng)運(yùn)行參數(shù)。在加速過程中,對(duì)GPU運(yùn)行狀態(tài)參數(shù),功率、溫度等進(jìn)行實(shí)時(shí)監(jiān)控記錄。
步驟5,統(tǒng)計(jì)檢測(cè)是否實(shí)現(xiàn)了高性能與低功耗的優(yōu)化。對(duì)監(jiān)控參數(shù)進(jìn)行統(tǒng)計(jì),比較系統(tǒng)性能與功耗的優(yōu)化程度。
步驟6,如果沒有達(dá)到目標(biāo),轉(zhuǎn)入步驟2,繼續(xù)進(jìn)行模糊控制調(diào)整。類似于變頻空調(diào)節(jié)能的原理,能夠根據(jù)當(dāng)前工作任務(wù)的負(fù)載程度,使用模糊控制的方式主動(dòng)改變運(yùn)行頻率,如果是低負(fù)載,則使用較低的運(yùn)行頻率進(jìn)行節(jié)能。本發(fā)明提出的EFCGPU模型利用GPU也具有變頻功能的特性,根據(jù)計(jì)算任務(wù)動(dòng)態(tài)調(diào)整GPU運(yùn)行參數(shù),針對(duì)高性能與低功耗的目標(biāo),進(jìn)行一個(gè)不斷平衡、不斷調(diào)整的過程,從而達(dá)到優(yōu)化的節(jié)能效果。
參考圖2,是基于GPU的包分類路由轉(zhuǎn)發(fā)原理圖,解釋了包分類的技術(shù)實(shí)質(zhì)。根據(jù)達(dá)到轉(zhuǎn)發(fā)引擎的數(shù)據(jù)包頭部字段特征,進(jìn)行規(guī)則匹配,找到下一步需要執(zhí)行的轉(zhuǎn)發(fā)動(dòng)作,從而對(duì)數(shù)據(jù)包進(jìn)行分類轉(zhuǎn)發(fā)。
參考圖3,是模糊控制的原理圖,表示系統(tǒng)的模糊控制是一個(gè)不斷調(diào)整、不斷平衡的過程。首先輸入系統(tǒng)的狀態(tài)變量,然后進(jìn)行模糊規(guī)則匹配,根據(jù)模糊推斷結(jié)果,得到非模糊的控制變量,對(duì)系統(tǒng)進(jìn)行調(diào)整。
參考圖4,是GPU在不同模式狀態(tài)下的功率圖,例如本發(fā)明使用的Tesla K20GPU在空閑時(shí)段,功率為27W左右;在工作時(shí)段,功率為65W左右;但是把GPU設(shè)置為禁用模式,其功率僅為15W左右,這就能在GPU的非工作時(shí)段,通過調(diào)整計(jì)算模式進(jìn)行節(jié)能。
參考圖5,是GPU在不同運(yùn)行頻率下的性能與能耗圖。本發(fā)明使用的Tesla K20GPU,支持6種不同的運(yùn)行頻率。對(duì)不同的運(yùn)行頻率采用相同的計(jì)算任務(wù)作對(duì)比,可以發(fā)現(xiàn)GPU在705MHz的運(yùn)行頻率下,達(dá)到一個(gè)能耗最低、吞吐率性能也較高的優(yōu)化水平。
參考圖6,是GPU在不同線程分配策略下的性能與能耗圖,可以發(fā)現(xiàn)當(dāng)線程分配策略為8blocks-256threads時(shí),達(dá)到一個(gè)高性能與低功耗雙優(yōu)化的結(jié)果,相比其他分配策略,最高可節(jié)省15.51%的能耗。
本發(fā)明提供了一種基于GPU數(shù)據(jù)包分類的模糊控制節(jié)能方法,利用GPU具有的變頻特性,結(jié)合變頻空調(diào)的模糊控制節(jié)能原理,是一種新的思路,實(shí)施例子也證實(shí)了此方法的有效性和可行性。