汪少銘,廖繼陽,賈小權(quán),董 瑞,劉 峰
(1. 中國人民解放軍92246部隊,上海 200940;2. 海軍駐哈爾濱703所代表室,哈爾濱 150078;3.中國人民解放軍91315部隊,遼寧116041;4.海軍蚌埠士官學(xué)校機(jī)電系艦船動力教研室,安徽蚌埠 233012)
一種共享動態(tài)緩沖的MPNoC路由器設(shè)計
汪少銘1,廖繼陽1,賈小權(quán)2,董 瑞3,劉 峰4
(1. 中國人民解放軍92246部隊,上海 200940;2. 海軍駐哈爾濱703所代表室,哈爾濱 150078;3.中國人民解放軍91315部隊,遼寧116041;4.海軍蚌埠士官學(xué)校機(jī)電系艦船動力教研室,安徽蚌埠 233012)
在片上多處理系統(tǒng)(Multiprocessor System-on-Chip,MPSoC)中,對路由器緩存區(qū)分配策略分析,實(shí)現(xiàn)緩沖區(qū)動態(tài)分配,能夠有效提高嵌入式多核處理器芯片多方面的性能。本文了設(shè)計一種共享動態(tài)Buffer的MPNoC路由器,該路由器可以通過有效分配各通道緩沖資源,實(shí)現(xiàn)資源共享。在16節(jié)點(diǎn)2D-mesh網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下對靜態(tài)路由器和本路由器進(jìn)行仿真分析,實(shí)驗(yàn)結(jié)果表明,共享動態(tài)Buffer的MPNoC路由器與靜態(tài)路由器相比,具有內(nèi)存開銷低、能量消耗低、平均信息延時小的特點(diǎn)。
片上多處理系統(tǒng) 路由器 動態(tài)分配 資源共享
隨著科技的迅猛發(fā)展,對嵌入式計算機(jī)提出了越來越高的性能需求。片上網(wǎng)絡(luò)(Network-on-Chip,NoC)技術(shù)[1]解決了集成在單個芯片上的存儲器、微處理器、輸入/輸出設(shè)備等硬件單元之間的數(shù)據(jù)通信問題。但當(dāng)前的片上網(wǎng)絡(luò)系統(tǒng)卻存在嚴(yán)重的資源受限問題,主要?dú)w結(jié)為片上路由器緩沖資源利用率低,網(wǎng)絡(luò)信息擁塞率高[2]。為了更好構(gòu)建資源節(jié)約型和高性能的片上系統(tǒng),就需要更加注重緩沖區(qū)的結(jié)構(gòu)設(shè)計。
為了使系統(tǒng)網(wǎng)絡(luò)獲得較高的吞吐率和容錯效果,從而高效地利用緩沖資源,在分析靜態(tài)多通道路由器結(jié)構(gòu)的基礎(chǔ)上,提出一種新的多輸出通道的動態(tài)緩沖結(jié)構(gòu)的路由器。該路由器能夠根據(jù)網(wǎng)絡(luò)的通信需求,對緩沖資源進(jìn)行動態(tài)調(diào)整,從而真正解決片上路由器資源利用率的問題。
片上路由器是NoC的最基本的組成部分,高集成和強(qiáng)運(yùn)算能力的MPSoC系統(tǒng)強(qiáng)調(diào)互連線延遲、帶寬、資源利用率和吞吐量等方面的問題。為了提高路由器緩沖利用效率和獲得高性能,目前大量研究關(guān)注虛通道(Virtual Channel,VC)技術(shù)[3]和蟲孔交換技術(shù)[4]。但高流量情況下的的VC分配和VC仲裁使網(wǎng)絡(luò)物理緩沖區(qū)分配變得復(fù)雜,并且大量的VC增加數(shù)據(jù)傳輸延遲。靜態(tài)對稱緩沖結(jié)構(gòu)資源利用率低。本文在分析靜態(tài)分配緩沖資源情況下,設(shè)計了一種動態(tài)充分利用緩沖資源的共享動態(tài)Buffer的MPNoC路由器。
1.1 傳統(tǒng)多通道路由器結(jié)構(gòu)
傳統(tǒng)路由器架構(gòu)大多數(shù)為固定和靜態(tài)的結(jié)構(gòu),缺乏靈活性.傳統(tǒng)靜態(tài)路由器結(jié)構(gòu)如圖1所示。鏈路控制單元負(fù)責(zé)路由器中傳輸數(shù)據(jù)流的調(diào)節(jié);通過路由器的每個輸入端口的FIFO關(guān)聯(lián)控制邏輯中的決策單元,在既定路由算法下確定數(shù)據(jù)包的轉(zhuǎn)發(fā)。通過路由器的每個輸出端口的仲裁器控制信號和發(fā)送數(shù)據(jù)包。在此結(jié)構(gòu)中每個端口固定了緩沖區(qū)容量,VC通道之間不能進(jìn)行緩沖區(qū)交叉使用。實(shí)際使用中網(wǎng)絡(luò)路由的緩沖區(qū)資源不能被交叉使用,嚴(yán)重降低了資源使用效率。因此設(shè)計一個共享動態(tài)Buffer的MPNoC路由器能夠解決上述方案存在的問題。
圖1 傳統(tǒng)多通道路由器結(jié)構(gòu)
1.2 多通道共享動態(tài)緩沖路由器結(jié)構(gòu)及工作原理
共享動態(tài)緩沖路由器結(jié)構(gòu)是通過集中管理緩沖區(qū)資源,根據(jù)通道的流量情況動態(tài)分配緩沖區(qū)資源。多通道共享動態(tài)緩沖路由器結(jié)構(gòu)圖如圖2所示。
圖2 多通道共享動態(tài)緩沖路由器結(jié)構(gòu)圖
在多通道共享動態(tài)緩沖路由器中引入基于鏈表[5]的方式對緩沖區(qū)進(jìn)行統(tǒng)一管理,虛擬通道VC通過數(shù)據(jù)報文長短分配緩沖區(qū)容量,通過計算每條報文的長度靈活實(shí)現(xiàn)緩沖區(qū)的分配與釋放。這種共享動態(tài)緩沖路由結(jié)構(gòu)能夠確保任何通信要求的輸入通道使用所有的緩沖資源。當(dāng)一條數(shù)據(jù)報文到達(dá)路由器輸入端口時,根據(jù)上一節(jié)點(diǎn)輸出端口確定當(dāng)前數(shù)據(jù)報文輸入端口,通過提前路由計算與報文解析,及早明確報文到達(dá)下一跳后的輸出端口,從整體上簡化了報文在路由器內(nèi)部的多路選擇仲裁過程。開關(guān)分配有效減少VC仲裁的復(fù)雜度。動態(tài)緩沖區(qū)鏈表結(jié)構(gòu)如圖3所示。
圖3 動態(tài)緩沖區(qū)分配鏈表結(jié)構(gòu)圖
上述原理可描述為:根多通道原理分配N-1個通道虛通道,這N-1個通道根據(jù)報文微片流入/流出狀況動態(tài)申請緩沖資源的使用。同時及時更新鏈表隊列保存有效微片數(shù),確定報文長度及所需緩沖區(qū)最大空間,路由器通過這種方法可有效提高NoC的服務(wù)質(zhì)量。
在VHDL語言的寄存器傳輸級(register transfer level,RTL)和S2C公司的dual virtex-5 330 module現(xiàn)場可編程門陣列(FPGA)實(shí)現(xiàn)片上網(wǎng)絡(luò)原型系統(tǒng)[6]。多通道共享動態(tài)緩沖路由器的硬件開銷是比較低的。
實(shí)驗(yàn)中對不同大小的動態(tài)緩沖區(qū),用S2C功耗分析工具測量分析了靜態(tài)/動態(tài)緩沖路由器的內(nèi)存開銷和功耗比較,實(shí)驗(yàn)中分析出內(nèi)存開銷和功耗保持著相同的應(yīng)對指標(biāo),具有相同的關(guān)聯(lián)特性,兩者的實(shí)際測試結(jié)果如圖4所示。其中橫坐標(biāo)表示通道寬度和緩沖區(qū)大小,縱坐標(biāo)表示內(nèi)存開銷及功耗。
圖4 靜態(tài)/動態(tài)緩沖路由器內(nèi)存開銷/功耗比較
實(shí)驗(yàn)結(jié)果顯示共享動態(tài)緩沖路由器開銷明顯低于靜態(tài)路由器開銷。共享動態(tài)緩沖路由器中高效的內(nèi)存使用取決于其內(nèi)存結(jié)構(gòu),它的內(nèi)存能根據(jù)流量的大小動態(tài)調(diào)整緩沖資源,實(shí)現(xiàn)有效分配。因此,當(dāng)緩沖區(qū)的大小增加時,靜態(tài)路由器的局限性,導(dǎo)致其內(nèi)存開銷和功耗明顯增大。
為了進(jìn)一步檢驗(yàn)共享動態(tài)緩沖路由器體系結(jié)構(gòu)的工作效率,在隨機(jī)均勻流通信模式下,將它與靜態(tài)路由器傳輸數(shù)據(jù)包服務(wù)質(zhì)量進(jìn)行仿真分析。實(shí)驗(yàn)設(shè)置如下所示:搭建16節(jié)點(diǎn)的2D-Mesh不同路由器拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò),8微片緩沖大小。配合使用蟲洞交換技術(shù)、XY路由算法進(jìn)行實(shí)驗(yàn)仿真。圖6給出了NoC中使用靜態(tài)路由器和共享動態(tài)緩沖路由器的數(shù)據(jù)包傳輸率曲線圖。
從圖5可以得出,靜態(tài)路由器NoC服務(wù)質(zhì)量明顯低于共享動態(tài)緩沖路由器,當(dāng)靜態(tài)路由器緩沖區(qū)滿時,數(shù)據(jù)包會阻塞。共享動態(tài)緩沖路由器由于使用了高度靈活的緩沖區(qū)鏈表管理方式,能夠最大限度地使用路由器中的所有緩沖資源,減小因阻塞引起的數(shù)據(jù)包傳遞延遲。因此在高通信負(fù)載的情況下,共享動態(tài)緩沖路由器具有更高的無阻塞傳輸率.
圖5 靜態(tài)/動態(tài)緩沖路由器數(shù)據(jù)包傳輸率比較
通過構(gòu)建兩種路由器模型的16個節(jié)點(diǎn)的NoC網(wǎng)絡(luò)進(jìn)行均勻流量模式和熱點(diǎn)流量模式下平均信息延遲的比較分析。圖6(a)和(b)分別給出了兩種流量模式下平均信息延遲的性能曲線。平均信息延遲是指信息從產(chǎn)生到最后一個微片到達(dá)目的節(jié)點(diǎn)本地IP核所用的平均時間。
實(shí)驗(yàn)參數(shù)設(shè)置:網(wǎng)絡(luò)參數(shù)均設(shè)置為16節(jié)點(diǎn)二維mesh網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),采用XY維路由策略,信息長度為8微片。路由器端口數(shù)為5,靜態(tài)路由器和動態(tài)緩沖路由器的虛通道數(shù)均設(shè)置為4。
圖6(a)和(b)中的橫坐標(biāo)表示每個節(jié)點(diǎn)每個周期的信息注入率,縱坐標(biāo)表示平均信息延時。結(jié)果表明在輕度負(fù)載到中度負(fù)載的情況下,靜態(tài)路由器和動態(tài)緩沖路由器的信息延遲差別不大。但在高流量負(fù)載情況時,動態(tài)緩沖路由器結(jié)構(gòu)的信息延時明顯低于靜態(tài)路由器。尤其在熱點(diǎn)流量信息注入情況下平均信息延遲性能更好。
圖6 兩種流量模式下不同路由器平均信息延遲曲線
為了解決傳統(tǒng)路由器緩沖資源相互獨(dú)立,每個通道資源利用不充分或出現(xiàn)擁塞的情況下,本文設(shè)計了一種共享動態(tài)緩沖路由器結(jié)構(gòu)。該路由器能根據(jù)每個通道運(yùn)行時的通信率動態(tài)分配緩沖區(qū),實(shí)現(xiàn)路由器中所有通道的緩存資源相互共享,降低信息傳輸擁塞狀況。
實(shí)驗(yàn)結(jié)果表明,共享動態(tài)緩沖路由器結(jié)構(gòu)對降低路由器內(nèi)存開銷,降低功率消耗和減少信息延遲等具有良好效果,有利于提高網(wǎng)絡(luò)各方面性能。
[1] 高明倫, 杜高明. NoC: 下一代集成電路主流設(shè)計技術(shù)[J]. 微電子學(xué), 2006, 36(4): 461-466.
[2] Dally W J, Towles B. Principles and practices of interconnection networks [M]. San Mateo, CA:Morgan Kaufmann, 2004.
[3] Duato J M, Yalamanchili S, Ni L. Interconnection Networks:An Engineering Approach[M].Morgan Kaufinann, 2002.
[4] 董少周. NoC路由算法及仿真模型的設(shè)計與研究[D].合肥:合肥工業(yè)大學(xué), 2009.
[5] 賴明澈, 王志英, 郭建軍等. 具有擁塞緩解策略的動態(tài)虛通道研究及其VLSI實(shí)現(xiàn)[J]. 計算機(jī)學(xué)報, 2008, 31(11):1~13.
[6] 朱紅雷. 基于動態(tài)緩沖管理的片上網(wǎng)絡(luò)體系結(jié)構(gòu)研究[D]. 長沙:國防科學(xué)技術(shù)大學(xué), 2010.
[7] Becker D U, et al. Adaptive Backpressure: Efficient buffer management for on-chip networks[C]//In Proceedings of the 30th IEEE International Conference on Computer Design, 2012.
[8] Hu P, Kleinrock L. An analytical model for wormhole routing with finite size input buffers[C]// 15th Intl. Teletraffic Congress, 1997.
Design of a Sharing Dynamic Buffer Router for Multiprocessor System-on-Chip
Wang Shaomin1, Liao Jiyang1, Jia Xiaoquan2, Dong Rui3, Liu Fen4
(1. Unit 92246 of PLA, Shanghai 92246, China; 2. Naval Representatives Office in 703 Research Institute, Harbin 150078, China; 3. Unit 91315 of PLA, Liaoning 116041, China; 4. Bengbu Naval Petty Officer Academy, Bengbu233012, AnHui,China)
In the multiprocessor system-on-chip, by analyzing of the router buffer allocation strategy and realizing the dynamically buffer allocation, the performances of embedded multi-core processor chip can be effectively improved. This paper designed a sharing dynamic buffer router for multiprocessor system-on-chip. The router can effectively distribute channel buffer resource and realize resources sharing. After the simulation and analysis on the static router and this designed router under the 16 node 2d-mesh network topology structure, the experimental results show that a sharing dynamic buffer router for multiprocessor system-on-chip have many advantages over static router such as low memory overhead, low energy consumption, low average information delay and so on.
multiprocessor system-on-chip; router; dynamic allocation; resources sharing
TN915.05
A
1003-4862(2016)12-0049-04
2016-08-01
汪少銘(1975.01-),男,機(jī)電業(yè)務(wù)長。研究方向:艦船動力裝置。