《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于程序访存行为的片上网络能耗优化方法
基于程序访存行为的片上网络能耗优化方法
2014年电子技术应用第11期
褚廷斌,黄乐天,阎 波
(电子科技大学,四川 成都610036)
摘要: 片上网络作为未来多核处理器片上互连的发展趋势,其能耗优化问题越来越受到重视。动态电压频率调节是一种有效的运行时能耗管理手段,近年来已被许多研究者用在片上网络的能耗优化上。针对目前主流的分布式控制方案存在软硬件代价高的缺点,提出了一种全局控制的能耗优化方法,通过监控程序的关键性访存信息来动态调整片上网络的电压和频率。仿真结果表明,在允许性能损失5%的限制下,该方法可以实现约45%的能耗节省
中圖分類號(hào): TP302.7
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)11-0129-03
A method for energy optimization of networks-on-chip based on program′s memory access behavior
Chu Tingbin,Huang Letian,Yan Bo
University of Electronic Science and Technology of China,Chengdu 610036,China
Abstract: Networks-on-chip(NoC), as the development trends for multiprocessors-on-chip(CMP) interconnection, its energy optimization becomes increasingly important. Dynamic voltage and frequency scaling(DVFS) as an effective run-time energy management method, has been used in the energy optimization of NoC widely. At present the major local control methods have high SW/HW costs, this paper presents a global energy optimization method through monitoring the program′s critical memory access information to dynamically adjust the voltage and frequency of the NoC. Simulation results show that this method can reduce the energy consumption by 45%, while causing the program′s performance loss below 5%.
Key words : networks-on-chip;DVFS;energy consumption optimization

0 引言

  通信瓶頸和能耗密度的爆發(fā)性增長是現(xiàn)代的單片多核處理器(CMP)設(shè)計(jì)面臨的兩項(xiàng)重大挑戰(zhàn)。片上網(wǎng)絡(luò)(NoC)是一種高度靈活、可擴(kuò)展性極強(qiáng)的片上互連方式,可極大地提高通信帶寬,有效緩解片上通信瓶頸問題[1]。相比傳統(tǒng)總線而言,片上網(wǎng)絡(luò)雖然提高了傳輸帶寬,然而其能耗問題并沒有根本解決。如MIT的RAW多核處理器以及Intel的80核Teraflop芯片,其片上網(wǎng)絡(luò)的能耗約占整個(gè)芯片能耗的30~40%[2-3];在2011年計(jì)算機(jī)輔助設(shè)計(jì)國際會(huì)議上,Chris Malachowsky,Nvidia的創(chuàng)始人之一,指出未來芯片內(nèi)數(shù)據(jù)交換的能量消耗將遠(yuǎn)遠(yuǎn)超過計(jì)算操作的能量消耗[4]。因此,對(duì)片上網(wǎng)絡(luò)的能耗進(jìn)行有效的管理和優(yōu)化,提高片上通信的能量效率,對(duì)于整個(gè)芯片的性能有著極其重要的意義。

  此前面向NoC的能耗優(yōu)化主要采用分布式電壓頻率調(diào)控,這樣可以提高DVFS的自由度,然而這樣的設(shè)計(jì)帶來了極大的硬件復(fù)雜度,并且由于不同頻率域間的同步,增加了片上通信的延時(shí)和能耗開銷[5]。

  SHANG L等人展開了NoC領(lǐng)域DVFS研究的開創(chuàng)性工作,他們根據(jù)一段時(shí)間內(nèi)鏈路的流量大小對(duì)每條鏈路進(jìn)行電壓頻率調(diào)節(jié)[6];MISHRA A K等人提出了對(duì)每個(gè)路由器的電壓頻率調(diào)節(jié)方法,通過監(jiān)測路由器輸入緩存中的數(shù)據(jù)包大小以及上游路由器的擁塞情況來改變每個(gè)路由器的電壓頻率[7];GUANG L等人提出了一種層次化的片上網(wǎng)絡(luò)能耗管理架構(gòu),主要是通過監(jiān)測每個(gè)路由器的緩存信息來設(shè)置電壓頻率,即當(dāng)緩存占用率超過(低于)預(yù)先設(shè)定的閾值,就提高(降低)一個(gè)電壓頻率等級(jí)[8]。

001.jpg

  然而這些方法都忽略了這樣一個(gè)事實(shí),即CMP上程序?qū)τ贜oC的服務(wù)需求并不總是跟網(wǎng)絡(luò)的流量相關(guān)。如圖1所示,程序Blacksholes比Radiosity的網(wǎng)絡(luò)平均注入率更高,然而NoC頻率對(duì)程序Radiosity的性能影響更大,說明不能單純通過網(wǎng)絡(luò)流量大小來調(diào)節(jié)NoC的頻率。此外,基于NoC互連的CMP系統(tǒng)中片上緩存是按地址行交替分布在不同緩存塊中,導(dǎo)致不同節(jié)點(diǎn)的數(shù)據(jù)訪問流量較為平衡,分布式的控制對(duì)于CMP這種架構(gòu)并不十分有效[9]。

  因此對(duì)于面向CMP的片上網(wǎng)絡(luò)能耗優(yōu)化更適合于全局控制的方法。然而將NoC作為一個(gè)整體進(jìn)行控制,需要一種有效的全局監(jiān)控手段,同時(shí)需要適當(dāng)?shù)谋O(jiān)測參數(shù)以準(zhǔn)確地反映出程序?qū)τ贜oC的服務(wù)需求,然后再根據(jù)合適的DVFS控制算法進(jìn)行電壓頻率的設(shè)置。

1 系統(tǒng)設(shè)計(jì)

  1.1 系統(tǒng)整體結(jié)構(gòu)


002.jpg


  如圖2所示,一個(gè)典型的基于NoC互連的CMP系統(tǒng)主要包括處理器及其私有緩存、片上路由器以及LLC(Last Level Cache)Bank。LLC在邏輯上是一個(gè)整體,屬于全局共享緩存,然而在物理上它們分布在不同的節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)通過網(wǎng)絡(luò)接口與路由器相連。

  在本文設(shè)計(jì)的系統(tǒng)中各節(jié)點(diǎn)均配置一個(gè)本地代理監(jiān)測單元(Local Agent),用于收集每個(gè)節(jié)點(diǎn)的性能參數(shù)。而獨(dú)立的功耗管理單元(Power Management Unit,PMU)負(fù)責(zé)將各個(gè)本地代理收集到的性能參數(shù)進(jìn)行分析和計(jì)算,并最終控制片外的電壓調(diào)節(jié)模塊(VRM)和時(shí)鐘模塊(PLL)來改變NoC的電壓和頻率。

  1.2 性能參數(shù)采集

  在CMP中,程序的執(zhí)行時(shí)間主要包括處理器執(zhí)行時(shí)間以及訪存延時(shí)。NoC作為訪存的通信介質(zhì),其工作頻率的大小直接影響訪存延時(shí),那么程序的平均訪存次數(shù)反映了其對(duì)于NoC的服務(wù)需求大小。因此,每個(gè)本地監(jiān)測通過3個(gè)性能計(jì)數(shù)器收集程序的訪存信息,包括私有緩存缺失計(jì)數(shù)器、LLC 缺失計(jì)數(shù)器以及指令計(jì)數(shù)器。當(dāng)每個(gè)控制周期到達(dá)時(shí),本地監(jiān)測單元負(fù)責(zé)將監(jiān)測的性能參數(shù)打包發(fā)送給PMU所在的節(jié)點(diǎn),然后重置性能計(jì)數(shù)器。

2 控制算法描述

  PMU負(fù)責(zé)將每個(gè)路由節(jié)點(diǎn)的信息進(jìn)行處理,把所有的緩存缺失數(shù)相加并除以總的指令數(shù),計(jì)算平均每指令產(chǎn)生的緩存缺失數(shù)MPI(Miss Per Instruction)。

003.jpg

  通過對(duì)大量應(yīng)用程序的訓(xùn)練測試,得到不同MPI和NoC頻率下程序的性能損失,如圖3所示。不難看出,當(dāng)MPI值很小時(shí),NoC頻率對(duì)程序的性能影響很小,因此可以降低NoC頻率以節(jié)省能耗。

  可通過一個(gè)簡單的基于查找表的DVFS控制方法實(shí)現(xiàn)對(duì)NoC頻率的控制,實(shí)現(xiàn)這一方法最為關(guān)鍵的是確定不同電壓頻率等級(jí)間MPI值的分割邊界。利用支持向量機(jī)(SVM)算法將兩種頻率下的數(shù)據(jù)點(diǎn)進(jìn)行最大間距分割,很容易得到兩種頻率之間的分界值(如圖3)。采用同樣的方法可以確定其他頻率之間的分割邊界。最終的控制表如表1所示。

004.jpg

  根據(jù)不同的應(yīng)用場景和平臺(tái)配置,采用同樣的方法可以訓(xùn)練出不同的控制表,以滿足不同場合中對(duì)性能與能耗的不同需求。該表可以被編程下載到PMU內(nèi)部保存,PMU將計(jì)算出的MPI值進(jìn)行查表即可得到對(duì)應(yīng)的NoC電壓和頻率。由此可見,該控制方案十分簡單,可快速地對(duì)程序的訪存行為變化進(jìn)行自適應(yīng)調(diào)節(jié),進(jìn)而對(duì)NoC的能量效率進(jìn)行優(yōu)化。

3 實(shí)驗(yàn)和結(jié)果分析

  3.1 實(shí)驗(yàn)平臺(tái)

  為了評(píng)估和驗(yàn)證提出的全局DVFS方案,本文采用基于SimpleScalar的全系統(tǒng)仿真平臺(tái)構(gòu)建圖2所示的片上多核系統(tǒng)。該平臺(tái)集成的PoPNet和ORION可模擬片上網(wǎng)絡(luò)的時(shí)序行為,并統(tǒng)計(jì)其能量消耗。此外,可通過設(shè)置不同的配置參數(shù)以模擬不同微體系結(jié)構(gòu)的CMP系統(tǒng)。本次實(shí)驗(yàn)中主要的配置參數(shù)如表2所示。

005.jpg

  3.2 性能與能耗結(jié)果分析

  為測試控制算法性能,從PARSEC和SPLASH2測試集中選擇了6個(gè)典型的并行程序,通過仿真器分別對(duì)這6個(gè)應(yīng)用程序進(jìn)行了詳細(xì)的時(shí)序與能耗仿真,實(shí)現(xiàn)并比較了下面3種不同的DVFS方案:

  (1)BaseLine:無DVFS,NoC運(yùn)行在最高頻率,作為其他方案的比較基準(zhǔn);

  (2)Global DVFS:本文提出的基于程序訪存行為的全局DVFS方案;

  (3)Local DVFS:GUANG L等人提出的分布式DVFS方案,監(jiān)測路由器輸入緩存的占用大小設(shè)置電壓和頻率,在每條鏈路中添加了同步緩存并增加了一級(jí)流水線延時(shí)。

006.jpg

  圖4顯示了不同DVFS方案下片上網(wǎng)絡(luò)的歸一化(以BaseLine為1)能量消耗情況。從圖中可以看出,GUANG L采用的分布式DVFS方案可以達(dá)到平均約30%的能量節(jié)省,而全局DVFS方案所達(dá)到的能量節(jié)省約45%,比分布式的方案可節(jié)省能量15%以上。

007.jpg

  圖5比較了不同方法下程序的歸一化執(zhí)行時(shí)間。不難看出,由于對(duì)NoC的頻率調(diào)節(jié),程序的執(zhí)行時(shí)間會(huì)或多或少地增加,分布式的方案造成程序執(zhí)行時(shí)間的增加約為8%,而全局DVFS方案平均增加了僅5%的執(zhí)行時(shí)間。

4 結(jié)論

  本文提出了一種用于片上網(wǎng)絡(luò)能耗優(yōu)化的全局DVFS方案,通過監(jiān)控平均每指令產(chǎn)生的緩存缺失數(shù)來動(dòng)態(tài)調(diào)節(jié)片上網(wǎng)絡(luò)的電壓和頻率。實(shí)驗(yàn)結(jié)果表明,該方案可以達(dá)到平均45%的能耗節(jié)省,而僅僅帶來約5%的性能損失。相比于分布式控制方案,全局控制方案實(shí)現(xiàn)簡單,軟硬件代價(jià)低,對(duì)能耗的優(yōu)化效果更加明顯,在未來的片上多處理器設(shè)計(jì)中具有很高的實(shí)用價(jià)值。

參考文獻(xiàn)

  [1] DALLY W J,TOWLES B.Principles and practices of inter-connectionetworks[M].Morgan Kaufmann,2003.

  [2] WANG H,PEH L S,MALIK S.Power-driven design of router micro-architectures in on-chip networks[C].In MICRO,2003:105-116.

  [3] VANGAL S,HOWARD J,RUHI G,et al.An 80-tile 1.28TFLOPS network-on-chip in 65 nm CMOS[C].In Proc.Solid-State Circuits Conf.,2007:98-589.

  [4] ABTS D,MARTY M R,WELLS P M,et al.Energy propor-tional data center networks[C].In ISCA,2010:338-347.

  [5] ROTEM E,MENDELSON A,GINOSAR R,et al.Multiple clock and voltage domains for chip multi processors[C].In MICRO,2009:459-468.

  [6] SHANG L,PEH L,JHA N K.Power-efficient interconnectionnetworks:dynamic voltage scaling with links[J].IEEE Com-puter Architecture Letters,2002,1(1):6.

  [7] MISHRA A K,DAS R,EACHEMPATI S,et al.A case for dynamic frequency tuning in on-chip networks[C].In MICRO,2009:292-303.

  [8] GUANG L,NIGUSSIE E,RANTALA P,et al.Hierarchical agent monitoring design approach towards self-aware parallelsystems-on-chip[J].ACM Trans.Embedd.Comput.Syst.,2010,9(3):1-25.

  [9] CHEN X,XU Z,KIM H,et al.In-network monitoring and control policy for dvfs of cmp networks-on-chip and last level caches[C].In NOCS,2012:43-50


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容