《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于程序訪存行為的片上網絡能耗優(yōu)化方法
基于程序訪存行為的片上網絡能耗優(yōu)化方法
2014年電子技術應用第11期
褚廷斌,黃樂天,閻 波
(電子科技大學,四川 成都610036)
摘要: 片上網絡作為未來多核處理器片上互連的發(fā)展趨勢,其能耗優(yōu)化問題越來越受到重視。動態(tài)電壓頻率調節(jié)是一種有效的運行時能耗管理手段,近年來已被許多研究者用在片上網絡的能耗優(yōu)化上。針對目前主流的分布式控制方案存在軟硬件代價高的缺點,提出了一種全局控制的能耗優(yōu)化方法,通過監(jiān)控程序的關鍵性訪存信息來動態(tài)調整片上網絡的電壓和頻率。仿真結果表明,在允許性能損失5%的限制下,該方法可以實現約45%的能耗節(jié)省
中圖分類號: TP302.7
文獻標識碼: A
文章編號: 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ā)性增長是現代的單片多核處理器(CMP)設計面臨的兩項重大挑戰(zhàn)。片上網絡(NoC)是一種高度靈活、可擴展性極強的片上互連方式,可極大地提高通信帶寬,有效緩解片上通信瓶頸問題[1]。相比傳統(tǒng)總線而言,片上網絡雖然提高了傳輸帶寬,然而其能耗問題并沒有根本解決。如MIT的RAW多核處理器以及Intel的80核Teraflop芯片,其片上網絡的能耗約占整個芯片能耗的30~40%[2-3];在2011年計算機輔助設計國際會議上,Chris Malachowsky,Nvidia的創(chuàng)始人之一,指出未來芯片內數據交換的能量消耗將遠遠超過計算操作的能量消耗[4]。因此,對片上網絡的能耗進行有效的管理和優(yōu)化,提高片上通信的能量效率,對于整個芯片的性能有著極其重要的意義。

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

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

001.jpg

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

  因此對于面向CMP的片上網絡能耗優(yōu)化更適合于全局控制的方法。然而將NoC作為一個整體進行控制,需要一種有效的全局監(jiān)控手段,同時需要適當的監(jiān)測參數以準確地反映出程序對于NoC的服務需求,然后再根據合適的DVFS控制算法進行電壓頻率的設置。

1 系統(tǒng)設計

  1.1 系統(tǒng)整體結構


002.jpg


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

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

  1.2 性能參數采集

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

2 控制算法描述

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

003.jpg

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

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

004.jpg

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

3 實驗和結果分析

  3.1 實驗平臺

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

005.jpg

  3.2 性能與能耗結果分析

  為測試控制算法性能,從PARSEC和SPLASH2測試集中選擇了6個典型的并行程序,通過仿真器分別對這6個應用程序進行了詳細的時序與能耗仿真,實現并比較了下面3種不同的DVFS方案:

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

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

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

006.jpg

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

007.jpg

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

4 結論

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

參考文獻

  [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


此內容為AET網站原創(chuàng),未經授權禁止轉載。