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