周玉瀚 韓國(guó)棟 沈劍良 姜奎
摘要:針對(duì)傳統(tǒng)片上網(wǎng)絡(luò)(NoC)流量模型的空間分布不符合實(shí)際應(yīng)用中通信局部化特性、網(wǎng)絡(luò)帶寬開(kāi)銷大的問(wèn)題,提出一種基于Rent規(guī)則的NoC局部化特性流量生成算法。該算法通過(guò)建立有限Mesh結(jié)構(gòu)的通信概率分布模型,并利用通信概率矩陣對(duì)各節(jié)點(diǎn)勻速發(fā)包獲得合成流量,實(shí)現(xiàn)通信局部化。實(shí)驗(yàn)?zāi)M了不同局部化程度、不同網(wǎng)絡(luò)尺寸的合成流量;仿真結(jié)果表明,與Random Uniform、Bit Complement、Reversal、Transpose、Butterfly等5種傳統(tǒng)合成流量相比,該算法合成流量的局部化程特性更好、網(wǎng)絡(luò)帶寬開(kāi)銷更低,接近實(shí)際通信流量。
關(guān)鍵詞:片上網(wǎng)絡(luò);Rent規(guī)則;流量生成算法;流量模型;通信局部化
中圖分類號(hào):TP301.6 文獻(xiàn)標(biāo)志碼:A
Abstract:In view of the problems that the spatial distribution of traffic model in traditional Network on Chip (NoC) was not consistent with the communication locality in practical applications and the overhead of network bandwidth is large, a novel algorithm for flow generation with NoC localized characteristic based on Rent rule was proposed. By establishing the communication probability distribution model with finite Mesh structure, the communication probability matrix was used to send packets to each node uniformly and obtain synthesis flows, and the locality was realized. The experiment simulated on flow with different locality degree and different network size. The results show that the proposed algorithm has better performance in flow locality, which is more close to the actual flows compared with five algorithms including Random Uniform, Bit Complement, Reversal, Transpose and Butterfly. In addition, the overhead of network bandwidth is lower.
Key words:Network on Chip (NoC); Rent rule; traffic generation algorithm; flow model; communication locality
0 引言
片上系統(tǒng)(System on Chip,SoC)往往集成幾十個(gè)甚至上百個(gè)核心互相通信,需要擴(kuò)展性很強(qiáng)的通信架構(gòu)。片上網(wǎng)絡(luò)(Network on Chip,NoC)結(jié)構(gòu)是一種可行的解決方式,其思想源自計(jì)算機(jī)網(wǎng)絡(luò),如數(shù)據(jù)包通信和分布式系統(tǒng)。與SoC相比,NoC主要的優(yōu)勢(shì)是通信的并發(fā)性、可擴(kuò)展性和可重用性。
NoC設(shè)計(jì)的主要步驟包括系統(tǒng)架構(gòu)設(shè)計(jì)、流量建模、性能評(píng)估。其中,流量建模作為一個(gè)重要方面,規(guī)定了通信節(jié)點(diǎn)間的傳輸特征、網(wǎng)絡(luò)中每個(gè)通信事件,為設(shè)計(jì)人員提供定量、定性的分析。流量模型包括數(shù)據(jù)包空間分布、數(shù)據(jù)包注入率和包長(zhǎng)度[1-2]三方面,而空間分布是分析網(wǎng)絡(luò)流量狀況的核心,常用于分析、設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)和路由算法、測(cè)試NoC網(wǎng)絡(luò)結(jié)構(gòu)性能。
然而,現(xiàn)有流量模型并不能模擬實(shí)際NoC應(yīng)用流量的非均勻和局部化特性,也不易隨系統(tǒng)尺寸調(diào)整空間分布,網(wǎng)絡(luò)帶寬開(kāi)銷大。常見(jiàn)描述網(wǎng)絡(luò)流量空間分布的模型多采用隨機(jī)化的均勻分布模型,如Uniform Random和Nearest Neighbor模型,后者雖然有固定比例的流量流向半徑為r的鄰近節(jié)點(diǎn),但其余空間節(jié)點(diǎn)為Uniform Random流量;Bit Reversal、 Butterfly、Transpose等數(shù)字排序模型則指定源、目的節(jié)點(diǎn)對(duì)通信。而實(shí)際應(yīng)用中的流量行為,如:快速傅里葉變換(Fast Fourier Transform, FFT)、 Barnes、 Cholesky、 Radix等,空間分布非均勻且具有很強(qiáng)的流量局部化特性,鄰節(jié)點(diǎn)通信比遠(yuǎn)端通信更為頻繁[3],因此,研究模擬局部化特性的流量最貼近實(shí)際應(yīng)用,在結(jié)構(gòu)設(shè)計(jì)和任務(wù)映射階段,提高局部化通信可大大降低通信復(fù)雜度[4],是解決片上通信問(wèn)題的重點(diǎn)研究方向。
2007年以來(lái)陸續(xù)有研究學(xué)者將超大規(guī)模集成電路(Very Large Scale Integration,VLSI)領(lǐng)域的Rent規(guī)則引入NoC的描述通信局部化, Greenfield等將該規(guī)則應(yīng)用于網(wǎng)絡(luò)帶寬,提出了網(wǎng)絡(luò)帶寬版本的Rent規(guī)則,指出集成電路中一個(gè)模塊內(nèi)的IP數(shù)量與該模塊所需的外界通信帶寬呈指數(shù)關(guān)系。Heirman等[3]通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)流行的多核處理器(Chip Multicore Processor, CMP)標(biāo)準(zhǔn)應(yīng)用的流量模式服從Rent規(guī)則,但沒(méi)有人采用Rent規(guī)則設(shè)計(jì)流量生成方法,并作為NoC應(yīng)用流量的一般模擬方法。
本文通過(guò)Rent規(guī)則對(duì)NoC流量局部化特性建模,提出了有限Mesh結(jié)構(gòu)中的局部化特性流量生成算法。該算法通過(guò)建立Rent通信概率矩陣(Communication Probability Matrix, CPM),并由NoC各節(jié)點(diǎn)二分法依CPM概率選擇目的節(jié)點(diǎn)發(fā)包, 可生成不同局部化率、不同尺寸網(wǎng)絡(luò)的流量,測(cè)試NoC拓?fù)溲芯客負(fù)浣Y(jié)構(gòu)的靈活性和擴(kuò)展性;同時(shí),合成流量的平均帶寬占用率低,可作為NoC任務(wù)映射的設(shè)計(jì)標(biāo)準(zhǔn)。
式(2)為網(wǎng)絡(luò)中模塊間的通信局部化模型,然而其前提假設(shè)是模塊位于無(wú)限VLSI網(wǎng)格中,不能直接用于實(shí)際Mesh流量生成。本文研究對(duì)象是尺寸有限的2D mesh結(jié)構(gòu),首先基于式(2)給出有限Mesh結(jié)構(gòu)中任意兩節(jié)點(diǎn)的Rent通信概率分布模型(Communication Probability Distribution, CPD)。
1.2 有限Mesh結(jié)構(gòu)Rent通信概率分布模型
片上網(wǎng)絡(luò)仿真中,通信概率分布CPD(i, j)(m,n)指源節(jié)點(diǎn)S(i, j)與目的節(jié)點(diǎn)D(m,n)通信的概率。尺寸有限的2D Mesh結(jié)構(gòu)中CPD的變化是有限的,將式(2)在有限跳步空間內(nèi)進(jìn)行截?cái)?。不同?jié)點(diǎn)(x,y)的最遠(yuǎn)傳輸距離DMAX與節(jié)點(diǎn)間的位置相關(guān),由幾何分析,定理1指出了Mesh結(jié)構(gòu)中最大可能跳步距離,定理2指出了最多可達(dá)的節(jié)點(diǎn)數(shù)量,2D Mesh中跳步示意如圖1所示。
式(4)、(5)即為有限Mesh網(wǎng)絡(luò)中Rent通信概率分布模型,由直接推導(dǎo)自Rent定義的式(2)截?cái)嗖w一化而來(lái)??沈?yàn)證網(wǎng)絡(luò)流量對(duì)于一個(gè)簇(GK2)是遵循Rent規(guī)則的,例外為:當(dāng)G=K2時(shí),所有的通信均發(fā)生在簇的內(nèi)部,外部帶寬B=0。
2 基于通信概率矩陣的流量生成算法
系統(tǒng)中的通信可以視為一張圖G=G(P(i, j),Ω(C)),每個(gè)節(jié)點(diǎn)是圖的頂點(diǎn)(i, j)Ω(C),節(jié)點(diǎn)對(duì)間的通信概率P(i, j)是邊的權(quán)值。對(duì)于Mesh同構(gòu)NoC結(jié)構(gòu),網(wǎng)絡(luò)通信圖可通過(guò)CPM描述;各節(jié)點(diǎn)按CPM指定概率生成目的地址并勻速發(fā)包,即得所需的網(wǎng)絡(luò)流量。本算法的CPM是開(kāi)放的,可通過(guò)替換CPD模型生成相應(yīng)流量,本文僅考慮Rent規(guī)則流量。
Mesh NoC流量生成主要包含CPM計(jì)算和Mesh NoC流量生成兩部分,下面分別詳細(xì)介紹,流量生成流程如圖2所示。
最后,在NoC仿真平臺(tái)中,各節(jié)點(diǎn)以1 packet/cycle速率發(fā)送數(shù)據(jù)包至目的節(jié)點(diǎn),形成網(wǎng)絡(luò)流量。通過(guò)全網(wǎng)絡(luò)的流量統(tǒng)計(jì),可分析生成流量的跳步距離、數(shù)據(jù)包數(shù)量等信息。
3 實(shí)驗(yàn)驗(yàn)證與分析
3.1 實(shí)驗(yàn)環(huán)境與方法
流量生成實(shí)驗(yàn)環(huán)境包含兩部分,CPM生成程序(由C++代碼編程實(shí)現(xiàn))和Mesh NoC系統(tǒng)(由HNOCS仿真平臺(tái)搭建)。HNOCS是NoC仿真器由C++語(yǔ)言描述,可單獨(dú)配置鏈路帶寬、單向鏈路的虛通道數(shù)量,支持任意拓?fù)浣Y(jié)構(gòu),在flit和數(shù)據(jù)包的層面提供一系列豐富的仿真統(tǒng)計(jì)參數(shù)。系統(tǒng)環(huán)境為:Ubuntu10.04(安裝有g(shù)ccversion 4.1.2)。
此外,本文在HNOCS中搭建了流量CPM讀取和流量生成模塊。HNOCS平臺(tái)的仿真參數(shù)設(shè)置為:K×K BaseMesh結(jié)構(gòu),基于信用的流量反壓流控機(jī)制,數(shù)據(jù)包大小為8 flit,每個(gè)IP核產(chǎn)生1000~30000個(gè)數(shù)據(jù)包,每種配置場(chǎng)景下仿真運(yùn)行100μs,預(yù)熱穩(wěn)定運(yùn)行時(shí)間為50μs。
為了對(duì)比分析,采用了5種傳統(tǒng)合成流量模式:Random Uniform、Bit Complement、Reversal、Transpose、Butterfly,以及由文獻(xiàn)[12]提供的8種實(shí)際應(yīng)用流量:S(32288)編/解碼、H264720p/1080p編解碼、Robot、Fpp、FFT(1024)、Sparse(分別包含4×4、8×8、16×16尺寸Mesh NoC各節(jié)點(diǎn)的實(shí)際通信數(shù)據(jù))。
實(shí)驗(yàn)方法為:首先,由CPM生成程序得到多種尺寸、Rent系數(shù)的CPM數(shù)據(jù);其次,由HNOCS仿真平臺(tái)中Mesh網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)讀取CPM數(shù)據(jù),計(jì)算目的地址并按均勻速率發(fā)包;最后,通過(guò)統(tǒng)計(jì)各節(jié)點(diǎn)的發(fā)包跳步距離、數(shù)量,分析生成流量特性。
3.2 合成流量局部化特性驗(yàn)證與分析
本算法通過(guò)調(diào)整Rent系數(shù),可生成不同局部化程度、不同網(wǎng)絡(luò)尺寸的流量。本文將Rent合成流量與傳統(tǒng)合成流量(Uniform、 Transpose等)8種實(shí)際流量進(jìn)行局部化特性的對(duì)比分析。
首先生成Rent(0.7)的流量(文獻(xiàn)[9]指出實(shí)際應(yīng)用估計(jì)Rent系數(shù)為0.7),對(duì)比了三種網(wǎng)絡(luò)尺寸下,實(shí)際流量、合成流量跳步空間分布,如圖3、4所示。
從圖3、4可以看到不同尺寸下各跳步距離數(shù)據(jù)包數(shù)量的統(tǒng)計(jì),驗(yàn)證了Rent合成流量的局部化特性:短距離的數(shù)據(jù)包占多數(shù),遠(yuǎn)距離的數(shù)據(jù)包占少數(shù)。在不同尺寸下傳統(tǒng)合成流量的局部化特性較弱,而Rent流量均具有良好的局部化特性。對(duì)比實(shí)際應(yīng)用的流量空間跳步,傳統(tǒng)合成流量中遠(yuǎn)距離跳步的數(shù)據(jù)包較多,如Complement方法,與實(shí)際流量差距大,且網(wǎng)絡(luò)尺寸越大差距越明顯(由于Complement定義中選取的測(cè)試點(diǎn)為離散情況,故奇數(shù)跳步點(diǎn)沒(méi)有収包)。Rent流量的局部化特性更接近實(shí)際流量。
為了更好地分析流量的局部化特性,本文將網(wǎng)絡(luò)中的數(shù)據(jù)包按跳步距離分類。定義傳輸距離為1跳的包為鄰節(jié)點(diǎn)包(Neighbor),傳輸距離介于1和2+K/8之間的是局部包(Local)(K是Mesh的網(wǎng)絡(luò)尺寸),傳輸距離大于2+K/8的是全局包(Global)。在較大規(guī)模的16×16、32×32、64×64三種尺寸Mesh網(wǎng)絡(luò)中,9種Rent系數(shù)(0.1~0.9)下合成流量的局部化特性分析如圖5所示。
由圖5可見(jiàn),隨著Rent系數(shù)增大,局部包比例僅小幅增加,而全局包比例快速上升、鄰節(jié)點(diǎn)包比例迅速下降,表明局部化程度在下降。隨著網(wǎng)絡(luò)尺寸增大,局部包的比例上升,全局包比例下降,表明局部化程度在提高。這與帶寬版本Rent規(guī)則對(duì)Rent系數(shù)的含義[7]吻合。
將合成流量數(shù)據(jù)包按跳步距離分類,對(duì)比分析如圖6所示。可以看到Rent(0.7)流量中鄰節(jié)點(diǎn)和局部數(shù)據(jù)包占多數(shù),全局?jǐn)?shù)據(jù)包比例下降。其余合成流量局部化特性較弱,且網(wǎng)絡(luò)尺寸越大全局?jǐn)?shù)據(jù)包比例越大。如Complement模型的局部化特性較差,沒(méi)有鄰節(jié)點(diǎn)間的數(shù)據(jù)包,在1024節(jié)點(diǎn)規(guī)模時(shí)全局?jǐn)?shù)據(jù)包比例超過(guò)了80%。
流量的局部化分析表明,局部化特性越弱,全局?jǐn)?shù)據(jù)包比例越大,且隨網(wǎng)絡(luò)尺寸增大而增加。全局包是引起網(wǎng)路延遲的主要因素,NoC設(shè)計(jì)需處理好全局?jǐn)?shù)據(jù)包才適應(yīng)大規(guī)模的片上網(wǎng)絡(luò)通信。本文算法可作為模擬實(shí)際流量局部化特性的一種簡(jiǎn)單方法,同時(shí)生成的Rent流量也可作為任務(wù)映射的優(yōu)化目標(biāo),減少全局包所帶來(lái)的影響。
3.3 合成流量網(wǎng)絡(luò)帶寬開(kāi)銷分析
由表1數(shù)據(jù),可以看出Rent合成流量更接近實(shí)際應(yīng)用平均路由帶寬的均值。在Rent系數(shù)為0.7時(shí)最吻合(在4×4尺寸下,誤差僅為3.2%),Rent系數(shù)越大合成流量帶寬開(kāi)銷越小,反之則帶寬開(kāi)銷越大,這與文獻(xiàn)[9]中Rent系數(shù)分析結(jié)論一致。而Uniform與實(shí)際應(yīng)用誤差最高達(dá)到218%,其余合成流量誤差也都較大,且誤差隨網(wǎng)絡(luò)尺寸增加而增大。
通過(guò)圖7可以發(fā)現(xiàn)更大尺寸網(wǎng)絡(luò)中,Rent流量的帶寬需求曲線仍然接近實(shí)際流量曲線,不同Rent系數(shù)帶來(lái)一定波動(dòng),但范圍不大(在節(jié)點(diǎn)數(shù)量達(dá)到4096時(shí)平均路由帶寬開(kāi)銷不超過(guò)5.023packet/cycle)。而Uniform、Transpose等流量的帶寬需求與實(shí)際差距較大,平均路由帶寬的需求在以指數(shù)形式增長(zhǎng):節(jié)點(diǎn)數(shù)量每增加4倍,路由帶寬需求增加1倍。這將導(dǎo)致路由間的連線數(shù)量需要指數(shù)增長(zhǎng),這樣的增長(zhǎng)是不可接受的。
對(duì)于VLSI設(shè)計(jì),隨機(jī)擺放器件也會(huì)導(dǎo)致連線和金屬層需求的指數(shù)增長(zhǎng);但實(shí)際設(shè)計(jì)中,局部化通信強(qiáng)的器件會(huì)被鄰近放置,從而減少連線,提高頻率和性能。在NoC設(shè)計(jì)中對(duì)應(yīng)VLSI器件放置的工作是任務(wù)映射。Hu等[13]對(duì)一個(gè)較小的5×5陣列,采用通信感知的任務(wù)映射方式,相比隨機(jī)映射降低NoC功耗60%。對(duì)于較小尺寸的網(wǎng)絡(luò),隨機(jī)流量帶來(lái)的影響可以接受,但當(dāng)設(shè)計(jì)幾百到上千個(gè)模型的片上系統(tǒng)時(shí),隨機(jī)帶來(lái)以指數(shù)增長(zhǎng)的非局部化通信流量將不可接受。
綜上,Rent合成流量具有較低的網(wǎng)絡(luò)帶寬開(kāi)銷,帶寬開(kāi)銷與節(jié)點(diǎn)數(shù)量關(guān)系與實(shí)際流量吻合;本文算法可以模擬實(shí)際流量負(fù)載的網(wǎng)絡(luò)帶寬開(kāi)銷特性,與傳統(tǒng)的合成流量模式相比更加實(shí)際;可輔助設(shè)計(jì)高效的應(yīng)用和更好的任務(wù)映射技術(shù)。
3.4 NoC拓?fù)湫阅軠y(cè)試評(píng)估
合成流量可作為測(cè)試基準(zhǔn),測(cè)試不同拓?fù)浣Y(jié)構(gòu)通信性能。針對(duì)256節(jié)點(diǎn)的較大規(guī)模系統(tǒng),對(duì)比了Mesh、CMesh和CHMesh三種拓?fù)浣Y(jié)構(gòu)的性能,其中CMesh與CHMesh均為分簇互連的層次化Mesh結(jié)構(gòu):底層仍然為2D Mesh結(jié)構(gòu),可應(yīng)用本算法生成負(fù)載流量。平均延遲和吞吐對(duì)比分別如圖8、9所示。
從圖8、9中可看出,Rent流量下三種拓?fù)涞钠骄舆t和吞吐性能均較傳統(tǒng)合成流量更優(yōu)。Rent流量下飽和拐點(diǎn)更低,飽和后的延遲也遠(yuǎn)小于后兩種流量。此外,可以看出CMesh與CHMesh較Mesh拓?fù)涞难舆t性能好,CHMesh的吞吐性能最高。這是因?yàn)閷哟位腗esh互連結(jié)構(gòu)連通性更高,且CHMesh底層節(jié)點(diǎn)分簇的結(jié)構(gòu)可提高局部化通信性能,獲得了低延遲和高吞吐。
因此,本文算法生成的Rent流量可從通信局部化特性、帶寬需求方面詳細(xì)評(píng)估NoC拓?fù)?,而不需要求助于具體應(yīng)用驅(qū)動(dòng)的負(fù)載。
4 結(jié)語(yǔ)
本文采用Rent規(guī)則建立了有限Mesh結(jié)構(gòu)中NoC流量通信概率分布模型,提出了具有局部化特性NoC合成流量生成算法。算法首先計(jì)算通信概率矩陣,再由NoC各節(jié)點(diǎn)生成網(wǎng)絡(luò)流量,通過(guò)調(diào)整Rent系數(shù)靈活改變流量的空間局部化程度。生成的Rent合成流量局部化特性較傳統(tǒng)合成流量強(qiáng),平均路由帶寬需求較低,且與實(shí)際流量更加吻合。
本文算法可作為模擬實(shí)際流量負(fù)載的空間分布、帶寬開(kāi)銷特性的一種簡(jiǎn)單方法,評(píng)估NoC設(shè)計(jì);同時(shí)可被用于輔助設(shè)計(jì)高能效的應(yīng)用和更好的任務(wù)映射技術(shù),從而降低網(wǎng)絡(luò)帶寬開(kāi)銷,提高系統(tǒng)性能。但該方法對(duì)時(shí)間方面如突發(fā)業(yè)務(wù)和時(shí)變Rent系數(shù)的負(fù)載沒(méi)有考慮,增加以上兩方面內(nèi)容是未來(lái)的工作方向。
參考文獻(xiàn):
[1]TEDESCO L, MELLO A, GARIBOTTI D, et al. Traffic generation and performance evaluation for meshbased NoCs[C]// Proceedings of the 18th Symposium on Integrated Circuits and Systems Design. Piscataway, NJ: IEEE, 2005: 184-189.
[2]DUATO J, YALAMANCHILI S, NI L. Interconnection Networks[M]. San Francisco, CA: Morgan Kaufmann, 2003: 569-592.
[3]HEIRMAN W, DAMBRE J, STROOBANDT D, et al. Rents rule and parallel programs: characterizing network traffic behavior[C]// Proceedings of the 2008 International Workshop on System Level Interconnect Prediction. New York: ACM, 2008: 87-94.
[4]QIAN Z, BOGDAN P, TSUI C Y, et al. Performance evaluation of multicore systems: from traffic analysis to latency predictions (embedded tutorial)[C]// Proceedings of the 2013 IEEE/ACM International Conference on ComputerAided Design. Piscataway, NJ: IEEE, 2013: 82-84.
[5]RENT T M. Rents rule: a family memoir[J]. IEEE SolidState Circuits Magazine, 2009, 2(1): 14-20.
[6]DONATH W E. Wire length distribution for placements of computer logic[J]. IBM Journal of Research and Development, 1981, 25(2/3): 152-155.
[7]GREENFIELD D, BANERJEE A, LEE J G. Implications of Rents rule for NoC design and its faulttolerance[C]// Proceedings of the 1st International Symposium on NetworksonChip. Washington, DC: IEEE Computer Society, 2007: 283-294.
[8]BEZERRA G B P, FORREST S, FORREST M, et al. Modeling NoC traffic locality and energy consumption with Rents communication probability distribution[C]// Proceedings of the 12th ACM/IEEE International Workshop on System Level Interconnect Prediction. New York: ACM, 2010: 3-8.
[9]HEIRMAN W, DAMBRE J, STROOBANDT D, et al. Rents rule and parallel programs: characterizing network traffic behavior[C]// Proceedings of the 2008 International Workshop on System Level Interconnect Prediction. New York: ACM, 2008: 87-94.
[10]CHRISTIE P, STROOBANDT D. The interpretation and application of Rents rule[J]. IEEE Transactions on Very Large Scale Integration Systems, 2000, 8(6): 639-648.
[11]DAVIS J A, DE V K, MEINDL J D. A stochastic wirelength distribution for GigaScale Integration (GSI), Part I: derivation and validation[J]. IEEE Transactions on Electron Devices,1998, 45(3):580-589.
[12]LIU W C, XU J, WU X W, et al. A NoC traffic suite based on real applications[C]// Proceedings of the 2011 IEEE Computer Society Annual Symposium on VLSI. Washington, DC: IEEE Computer Society, 2011: 66-71.
[13]HU J C, MARCULESCU R. Energyaware mapping for tilebased NoC architectures under performance constraints[C]// Proceedings of the 2003 Asia and South Pacific Design Automation Conference. New York: ACM,2003: 233-239.