蔣海雁
(沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 遼寧省沈陽(yáng)市 110870)
自20 世紀(jì)90 年代末引入多核處理器以來(lái),片上網(wǎng)絡(luò)逐漸進(jìn)入人們的視野,成為備受關(guān)注的片上多核通信互聯(lián)架構(gòu)。隨著半導(dǎo)體工藝的迅速發(fā)展,芯片上集成的晶體管數(shù)量可高達(dá)上億、幾十億,數(shù)目如此龐大的晶體管數(shù)量如何被高效地應(yīng)用于芯片上對(duì)研究人員來(lái)說(shuō)是個(gè)難題。傳統(tǒng)的總線型架構(gòu)帶寬低,擴(kuò)展性差,無(wú)法滿足未來(lái)多核處理器的高性能需求。而片上網(wǎng)絡(luò)的出現(xiàn)無(wú)疑是給多核處理器提供了一種有效的方案,片上網(wǎng)絡(luò)能夠便捷的提供可擴(kuò)展的帶寬及較高的通信效率,使用全局異步局部同步時(shí)鐘策略解決了全局同步的難題。綜合來(lái)看,片上網(wǎng)絡(luò)與總線型架構(gòu)相比在性能上具有明顯的優(yōu)勢(shì),正逐漸成為多核處理器首選的互連架構(gòu)。此外,片上網(wǎng)絡(luò)獨(dú)特的通訊協(xié)議和拓?fù)浣Y(jié)構(gòu)有也利于研究人員在此基礎(chǔ)上進(jìn)行創(chuàng)新設(shè)計(jì)從而提升片上網(wǎng)絡(luò)的相關(guān)技術(shù)。作為多核處理器時(shí)代的一個(gè)重要研究方向,片上網(wǎng)絡(luò)對(duì)于解決處理器之間的通信瓶頸,及提高處理器的內(nèi)存性能有著極大的意義。圖1 展示的是片上網(wǎng)絡(luò)的微結(jié)構(gòu)視圖。
圖1: 片上網(wǎng)絡(luò)體系結(jié)構(gòu)
由圖1 可見(jiàn)路由器在片上網(wǎng)絡(luò)的硬件結(jié)構(gòu)中扮演極為重要的位置,承擔(dān)了主要的通信功能,直接決定了網(wǎng)絡(luò)的傳輸延遲,同時(shí)路由器也是片上網(wǎng)絡(luò)能耗和面積的主要消耗者。傳統(tǒng)路由器的流水線是基于數(shù)據(jù)微片(Flit)層次的,將數(shù)據(jù)包進(jìn)一步劃分為流控制數(shù)字,再對(duì)其進(jìn)行流控制,數(shù)據(jù)微片也是分配鏈路資源、緩沖區(qū)資源的基本單位。圖2 展示的是路由器的結(jié)構(gòu)設(shè)計(jì),傳統(tǒng)路由的內(nèi)部組成包括輸入緩沖區(qū)、路由計(jì)算單元、交換機(jī)分配器、虛擬信道分配器和交換機(jī)。
圖2: 路由器微結(jié)構(gòu)
在傳統(tǒng)路由器的數(shù)據(jù)傳輸流程中,會(huì)執(zhí)行以下操作:緩沖區(qū)寫(xiě)入(BW)、路由計(jì)算(RC)、虛擬信道分配(VA)、交換機(jī)分配(SA)、交換機(jī)遍歷(ST)、鏈路遍歷(LT)。路由器內(nèi)部可以根據(jù)這些操作大致劃分為數(shù)據(jù)路徑和控制路徑兩部分,數(shù)據(jù)路徑是由交換機(jī)和存儲(chǔ)設(shè)備組成,負(fù)責(zé)路由內(nèi)數(shù)據(jù)包的存儲(chǔ)和移動(dòng);控制路徑則是由路由內(nèi)其他組件組成,負(fù)責(zé)控制協(xié)調(diào)數(shù)據(jù)包在數(shù)據(jù)路徑中的移動(dòng)。路由的存儲(chǔ)設(shè)備在路由內(nèi)的耗電占比極高,根據(jù)國(guó)外學(xué)者的研究可知,在低負(fù)載時(shí),存儲(chǔ)設(shè)備所消耗的靜態(tài)功率在總靜態(tài)功率中的占比超過(guò)了75%。在高負(fù)載時(shí),存儲(chǔ)設(shè)備約消耗了總動(dòng)態(tài)功率的55%,而靜態(tài)功率則是消耗了53%以上。由此可見(jiàn),存儲(chǔ)設(shè)備是路由的主要電能消耗元器件,也是數(shù)據(jù)傳輸?shù)年P(guān)鍵路徑,故本文針對(duì)路由器內(nèi)部存儲(chǔ)設(shè)備容量的變化進(jìn)行了研究分析,以厘清存儲(chǔ)設(shè)備容量與路由性能之間更深層次的關(guān)聯(lián),并對(duì)不同存儲(chǔ)設(shè)備容量的路由的網(wǎng)絡(luò)適用范圍進(jìn)行了探索?;谶@些探索,本文詳細(xì)論述了如何針對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的特點(diǎn)優(yōu)化能效比并改進(jìn)路由器的設(shè)計(jì)與結(jié)構(gòu)。
傳統(tǒng)路由器的存儲(chǔ)設(shè)備使用的是單讀寫(xiě)端口的內(nèi)存,每塊內(nèi)存作為輸入單元與輸入端口綁定。本文研究了三種存儲(chǔ)設(shè)備容量下的傳統(tǒng)路由,分別是1VC 路由、2VC 路由、4VC 路由。圖3 展示了三種路由的存儲(chǔ)單元容量設(shè)置,三種路由的其他部件一致,故緩沖區(qū)數(shù)量也側(cè)面展示了三種路由的面積差異。
圖3: 路由的存儲(chǔ)單元設(shè)置
本文使用的仿真平臺(tái)GEM5是一個(gè)模塊化離散事件驅(qū)動(dòng)的計(jì)算機(jī)系統(tǒng)模擬器平臺(tái),該系統(tǒng)將時(shí)間的流逝模擬為一系列離散事件。GEM5 功能強(qiáng)大,可以模擬一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng),并能使用預(yù)制組件來(lái)組建模擬系統(tǒng),有利于研究人員擴(kuò)展計(jì)算機(jī)體系結(jié)構(gòu)的相關(guān)設(shè)計(jì)。在GEM5 仿真平臺(tái)上,本文使用的網(wǎng)絡(luò)模型是Garnet,片上網(wǎng)絡(luò)設(shè)置的是4 乘4 的Mesh 拓?fù)浣Y(jié)構(gòu),共有16 個(gè)處理單元,路由算法采用的是X-Y維度有序路由算法。片上網(wǎng)絡(luò)的每個(gè)處理單元由IP 核、緩存、路由、目錄組成,其中路由是實(shí)現(xiàn)處理單元之間通信的關(guān)鍵部件。網(wǎng)絡(luò)外部的數(shù)據(jù)流是從網(wǎng)絡(luò)接口注入路由,經(jīng)過(guò)傳輸路徑上的路由后到達(dá)目的節(jié)點(diǎn),至此數(shù)據(jù)傳輸結(jié)束。最后表1 展示的是本文相關(guān)實(shí)驗(yàn)使用的仿真系統(tǒng)實(shí)驗(yàn)參數(shù)。
表1: 系統(tǒng)實(shí)驗(yàn)參數(shù)
延遲和帶寬作為重要的片上網(wǎng)絡(luò)性能評(píng)估指標(biāo),能反映出不同方案下的網(wǎng)絡(luò)性能優(yōu)劣。延遲表示的是數(shù)據(jù)微片從源節(jié)到目的節(jié)點(diǎn)期間所經(jīng)歷的總周期,是數(shù)據(jù)微片在網(wǎng)絡(luò)里所消耗的時(shí)間,延遲越低則說(shuō)明通信效率越快。帶寬表示的是單位時(shí)間內(nèi)網(wǎng)絡(luò)能傳輸?shù)臄?shù)據(jù)量,帶寬越高就代表數(shù)據(jù)傳輸能力越強(qiáng)。此外,能耗也是片上網(wǎng)絡(luò)性能提升的首要限制因素,根據(jù)這3 個(gè)指標(biāo)可以對(duì)片上網(wǎng)絡(luò)進(jìn)行細(xì)致的評(píng)估。
本文使用的流量負(fù)載是PARSEC應(yīng)用程序集,PARSEC 是適用于多核處理器未來(lái)功能改進(jìn)的測(cè)試集,且支持并行模型,用于實(shí)驗(yàn)可有效評(píng)估多核處理器的性能。PARSEC 程序集包括了不同領(lǐng)域的工作負(fù)載,每個(gè)類(lèi)型的應(yīng)用程序都具有一定的代表性。PARSEC 應(yīng)用程序提供了儀器、操作和執(zhí)行所包含的程序詳細(xì)模擬的基礎(chǔ)設(shè)施。
文中實(shí)驗(yàn)選擇的PARSEC 應(yīng)用程序是blackscholes、canneal、ferret、freqmine、x264。每個(gè)PARSEC 應(yīng)用程序有5 種輸入大小設(shè)定,分別是:Test、Simdev、Simsmall、Simmedium、Simlarge。其中Test 和Simdev 輸入小只能用作簡(jiǎn)單的測(cè)試,不適用于仿真實(shí)驗(yàn)。本文使用的輸入類(lèi)型是Simsmall 和Simmedium,這兩種輸入都適用于仿真實(shí)驗(yàn),并能取得有效的實(shí)驗(yàn)結(jié)果。
基于這8 個(gè)PARSEC 應(yīng)用程序得到了不同存儲(chǔ)設(shè)備容量路由方案下的片上網(wǎng)絡(luò)平均延遲,如圖4 左上所示。將基于三種存儲(chǔ)設(shè)備容量路由的網(wǎng)絡(luò)延遲進(jìn)行對(duì)比可知,1VC 路由的延遲明顯高于2VC 路由、4VC 路由,2VC 路由次之,4VC 路由則是整體上延遲低于2VC 路由。1VC 路由由于緩沖區(qū)容量有限,限制了網(wǎng)絡(luò)的帶寬,所以延遲相對(duì)來(lái)說(shuō)最高。綜合延遲數(shù)據(jù)來(lái)看,4VC 路由的延遲最低,通信效率最好。
圖4: 不同方案下的片上網(wǎng)絡(luò)延遲與能耗
McPAT是一個(gè)集成功耗,面積和時(shí)序建模的框架,能精確建模多核和眾核處理器,并同時(shí)建模和評(píng)估功率、面積和時(shí)間,精確地將電路模型擴(kuò)展到深亞微米技術(shù)。McPAT支持90nm~22nm 的多核處理器配置,功能強(qiáng)大,可以用于多核處理器以及其組件相關(guān)設(shè)計(jì)的探索。在微體系結(jié)構(gòu)方面,McPAT 支持的組件包括:有序(In-Order)和無(wú)序(Out-of-Order)處理器、片上網(wǎng)絡(luò)、共享緩存、內(nèi)存控制器以及多個(gè)域的時(shí)鐘。McPAT 使用XML 作為和其它性能模擬器的接口,在XML 文件中能夠配置系統(tǒng)的微架構(gòu)參數(shù),同時(shí)傳遞仿真模擬器生成的動(dòng)態(tài)程序運(yùn)行數(shù)據(jù)。最后,McPAT 還可以通過(guò)基于XML 的接口將運(yùn)行時(shí)功耗返回仿真模擬器,以便模擬器可以對(duì)功率等數(shù)據(jù)進(jìn)行收集。McPAT 非常靈活,并且可以輕易地移植到其他性能模擬器上。
在仿真系統(tǒng)GEM5 上運(yùn)行PARSEC 應(yīng)用程序得到運(yùn)行數(shù)據(jù)后,綜合使用McPAT 來(lái)對(duì)網(wǎng)絡(luò)的能耗數(shù)據(jù)進(jìn)行分析,圖4 分別展示了不同路由方案下的數(shù)據(jù)微片平均靜態(tài)能耗、平均動(dòng)態(tài)能耗以及總平均能耗。由右上圖可知,4VC 路由的靜態(tài)能耗最高,其次則是1VC 路由,整體來(lái)看靜態(tài)能耗最低的是2VC 路由。在其他組件相同的情況下,路由的存儲(chǔ)設(shè)備容量與晶體管的面積呈正相關(guān),而晶體管的面積也是決定靜態(tài)能耗的關(guān)鍵因素,所以4VC 路由靜態(tài)能耗最高。雖然1VC 面積最小,但由于其延遲最高,靜態(tài)能耗也與延遲密切相關(guān),所以實(shí)驗(yàn)結(jié)果表明:靜態(tài)能耗最優(yōu)的是2VC 路由。
下面將對(duì)數(shù)據(jù)微片的平均動(dòng)態(tài)能耗進(jìn)行分析,由圖4 可知,4VC 的動(dòng)態(tài)能耗最高,其次則是2VC 路由,1VC 路由總體來(lái)看動(dòng)態(tài)能耗最低。在路由的動(dòng)態(tài)能耗中,緩沖區(qū)讀寫(xiě)的能耗占據(jù)了絕大部分,遠(yuǎn)大于交換機(jī)遍歷和仲裁器仲裁的動(dòng)態(tài)能耗占比。4VC 路由的存儲(chǔ)設(shè)備容量最大,存儲(chǔ)設(shè)備的容量也與單次讀寫(xiě)能耗的大小成正比,故4VC 的動(dòng)態(tài)能耗最高。1VC 路由的存儲(chǔ)設(shè)備容量最小,單次讀寫(xiě)能耗相對(duì)來(lái)說(shuō)最小。綜上,在動(dòng)態(tài)能耗中表現(xiàn)最佳的是1VC 路由。
最后綜合動(dòng)靜態(tài)能耗數(shù)據(jù)來(lái)對(duì)網(wǎng)絡(luò)的平均能耗進(jìn)行分析。由圖4 可知,2VC 路由平均能耗最低,1VC 路由次之,4VC 路由平均能耗最高。綜合延遲和能耗數(shù)據(jù)可知,4VC路由延遲最低,數(shù)據(jù)傳輸最快,可適用于與通信性能要求高的片上網(wǎng)絡(luò);2VC 路由在能耗方面表現(xiàn)突出,是三種存儲(chǔ)設(shè)備容量路由中最節(jié)能的路由,可適用于需要嚴(yán)格控制電力開(kāi)銷(xiāo)的片上網(wǎng)絡(luò)。除了存儲(chǔ)設(shè)備外,分配器和交換機(jī)在總能耗中的占比也不低,如若可以充分發(fā)揮路由器內(nèi)存儲(chǔ)設(shè)備的功能,以存儲(chǔ)及轉(zhuǎn)發(fā)的形式來(lái)處理數(shù)據(jù)微片,則仲裁及縱橫開(kāi)關(guān)的遍歷的流水線階段可以移除,從而極大地降低片上路由器的能耗和面積,并有效地提升片上網(wǎng)絡(luò)的能效比。
GEM5 仿真器提供了合成流量框架,該框架可模擬流量輸入可被控制的Garnet 網(wǎng)絡(luò),研究人員可以根據(jù)注入率的數(shù)值設(shè)置來(lái)外部向網(wǎng)絡(luò)注入的流量大小,在合成流量實(shí)驗(yàn)中,注入率表示的是每個(gè)處理器核在每個(gè)周期生成數(shù)據(jù)包的概率,也可以表示外部向網(wǎng)絡(luò)注入流量的速度。隨著注入率的升高,片上網(wǎng)絡(luò)里的流量負(fù)載逐漸變重,延遲也會(huì)上升。
合成流量是根據(jù)合成流量模式來(lái)選擇數(shù)據(jù)包的目的地,本文選擇的合成流量模式是uniform_random 和neighbor。圖5 展示的是隨著注入率的提升,兩種模式下不同存儲(chǔ)設(shè)備流量方案的片上網(wǎng)絡(luò)延遲變化曲線。
圖5: 合成流量實(shí)驗(yàn)數(shù)據(jù)
uniform_random 模式是片上網(wǎng)絡(luò)路由研究中使用的標(biāo)準(zhǔn)基準(zhǔn)程序,也可看作是一種均衡共享內(nèi)存計(jì)算的流量模型。neighbor 模式下目標(biāo)節(jié)點(diǎn)的選擇是以80%的概率隨機(jī)選擇源節(jié)點(diǎn)的最近鄰節(jié)點(diǎn),以20%的概率隨機(jī)選擇其他節(jié)點(diǎn)。分析圖5 可知,4VC 路由最晚突破延遲上限值,極限注入率最高,其次則是2VC 路由,極限注入率最低的是1VC 路由。極限注入率越高表明網(wǎng)絡(luò)更晚趨向于擁堵,網(wǎng)絡(luò)帶寬更高。其中可以發(fā)現(xiàn),存儲(chǔ)設(shè)備容量與帶寬也是在部分程度上呈現(xiàn)正相關(guān)。綜上,4VC 路由的帶寬最高,網(wǎng)絡(luò)對(duì)流量的接收程度最高,可適用于網(wǎng)絡(luò)較為擁堵的情況。
本文對(duì)不同存儲(chǔ)設(shè)備容量下的片上網(wǎng)絡(luò)路由器進(jìn)行了深度的考察,利用仿真實(shí)驗(yàn)揭示了路由器在并行應(yīng)用程序及合成流量下的延遲與能耗等表現(xiàn)?;诓⑿袘?yīng)用的仿真揭示了存儲(chǔ)設(shè)備容量及路由器延遲與能耗之間的關(guān)聯(lián),合成流量實(shí)驗(yàn)則是體現(xiàn)了存儲(chǔ)設(shè)備容量對(duì)網(wǎng)絡(luò)帶寬的影響。通過(guò)以上分析,本文提出了針對(duì)片上網(wǎng)絡(luò)路由器中存儲(chǔ)設(shè)備容量的優(yōu)化選擇方案及片上網(wǎng)絡(luò)路由器結(jié)構(gòu)的改進(jìn)方案。同傳統(tǒng)的存儲(chǔ)設(shè)備容量及路由器結(jié)構(gòu)相比,本文的方案可有效降低片上網(wǎng)絡(luò)的能耗并顯著改善片上網(wǎng)絡(luò)的能效比。