甘興龍 許峰 周劍輝
摘要:為適應(yīng)當(dāng)前信息技術(shù)系統(tǒng)復(fù)雜度越來越高、數(shù)據(jù)處理量越來越大等需求,基于NoC(Network-on-Chip,片上網(wǎng)絡(luò))架構(gòu)設(shè)計(jì)實(shí)現(xiàn)分布式存儲(chǔ)多核系統(tǒng)被不斷普及運(yùn)用。與傳統(tǒng)的基于總線的互連架構(gòu)相比,該系統(tǒng)可以用較小的硬件資源消耗,實(shí)現(xiàn)更高的單位時(shí)間數(shù)據(jù)處理量。同時(shí)該系統(tǒng)可根據(jù)不同的應(yīng)用靈活設(shè)定數(shù)據(jù)通信的優(yōu)先級(jí),提升了系統(tǒng)整體的數(shù)據(jù)吞吐量。通過將該系統(tǒng)運(yùn)用于H.264視頻解碼的實(shí)驗(yàn),可以驗(yàn)證得出應(yīng)用NoC架構(gòu)的分布式多核存儲(chǔ)系統(tǒng)可以實(shí)現(xiàn)性能的極大提升。
關(guān)鍵詞:片上網(wǎng)絡(luò)(NoC);分布式存儲(chǔ);多核系統(tǒng)
當(dāng)前新技術(shù)、新應(yīng)用層出不窮的背后,體現(xiàn)著對(duì)高速率、大容量、高穩(wěn)定性數(shù)據(jù)通信的要求。傳統(tǒng)的單核系統(tǒng)已不能滿足數(shù)據(jù)通信和處理要求,多核系統(tǒng)應(yīng)運(yùn)而生。多核處理器已經(jīng)成為處理器的主流,并發(fā)展成為各種通信與媒體應(yīng)用的主流處理平臺(tái)。傳統(tǒng)的基于總線的多核互連結(jié)構(gòu),隨著微處理器核的數(shù)量的增加,在內(nèi)存存取、大規(guī)模數(shù)據(jù)通信方面的固有缺陷暴露無遺。作為多核系統(tǒng)和嵌入式應(yīng)用中異構(gòu)系統(tǒng)片上通信的首選方案,一種新的體系架構(gòu)片上網(wǎng)絡(luò)應(yīng)運(yùn)而生。作為全新的片上通信方法,NoC有著顯著優(yōu)于傳統(tǒng)總線式系統(tǒng)的性?;诨ヂ?lián)網(wǎng)的NoC的研究和應(yīng)用成為集成電路設(shè)計(jì)新的熱點(diǎn),半導(dǎo)體、集成電路廠商加大這方面的投入力度,各科研院校也成為NoC研究領(lǐng)域的生力軍。同集中式系統(tǒng)相比,分布式系統(tǒng)潛在的優(yōu)勢(shì)是可以將工作負(fù)載分散到多核系統(tǒng)中,具有資源共享、并發(fā)性操作、子系統(tǒng)可異構(gòu)、可擴(kuò)展性和可分散控制等優(yōu)點(diǎn)。多核間的通信是分布式系統(tǒng)中的核心技術(shù)之一,分布式系統(tǒng)間通信的效率是影響分布式多核系統(tǒng)性能的重要指標(biāo),而其中最為重要的就是數(shù)據(jù)在多核系統(tǒng)中的傳遞。當(dāng)前大數(shù)據(jù)應(yīng)用的特點(diǎn)決定了數(shù)據(jù)的傳遞和處理成為整個(gè)分布式系統(tǒng)的瓶頸。本文設(shè)計(jì)基于NoC架構(gòu)的分布式存儲(chǔ)多核系統(tǒng),在充分利用NoC架構(gòu)優(yōu)點(diǎn)的同時(shí),解決分布式系統(tǒng)在數(shù)據(jù)存儲(chǔ)和處理中存在的問題,提出了針對(duì)分布式多核系統(tǒng)新的解決方案。
一、基于NoC架構(gòu)的分布式存儲(chǔ)系統(tǒng)架構(gòu)
互連網(wǎng)絡(luò)可以是靜態(tài)的或是動(dòng)態(tài)的,靜態(tài)連接的特點(diǎn)是其連接關(guān)系是固定不變的,因此主要的缺點(diǎn)是系統(tǒng)擴(kuò)展性不佳,不適合當(dāng)前分布式系統(tǒng)的要求。而動(dòng)態(tài)網(wǎng)絡(luò)連接是當(dāng)需要的時(shí)候才建立的,動(dòng)態(tài)的網(wǎng)絡(luò)互連又可以分為基于總線的和基于交換的,本設(shè)計(jì)基于NoC架構(gòu),因此是基于交換的動(dòng)態(tài)連接。
關(guān)于分布式多核系統(tǒng),片上網(wǎng)絡(luò)定位為用于各個(gè)終端間傳輸數(shù)據(jù)的、可擴(kuò)展的系統(tǒng)。NoC的核心思想是將網(wǎng)絡(luò)技術(shù)應(yīng)用于分布式多核系統(tǒng)中,NoC最為廣泛的應(yīng)用主要集中在微處理器系統(tǒng)和通信轉(zhuǎn)換系統(tǒng)方面息。隨著納米半導(dǎo)體器件特征尺寸的不斷縮小,引起人們對(duì)于傳統(tǒng)的基于總線的片上互連架構(gòu)的可靠性、信號(hào)完整性和QoS的極大關(guān)注。
片上網(wǎng)絡(luò)將現(xiàn)代高速網(wǎng)絡(luò)單元與基于包的路由協(xié)議結(jié)合,形成新的架構(gòu)。基于Noc架構(gòu)的設(shè)計(jì)融合了分布式系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)的概念,互連架構(gòu)使得通信模塊間并行通信成為可能,由此帶來數(shù)據(jù)通信帶寬高、擴(kuò)展性好、吞吐量大等優(yōu)點(diǎn),在一定程度上改善深/超深亞微米條件下信號(hào)傳輸線延遲等問題。
典型的分布式系統(tǒng)采用集中式存儲(chǔ)的結(jié)構(gòu),數(shù)據(jù)在分布式系統(tǒng)采用傳統(tǒng)的動(dòng)態(tài)網(wǎng)絡(luò)的方式進(jìn)行,實(shí)現(xiàn)系統(tǒng)內(nèi)的數(shù)據(jù)傳遞和處理平衡。其缺點(diǎn)是因?yàn)椴捎眉惺降拇鎯?chǔ)架構(gòu),對(duì)存儲(chǔ)單元的讀寫操作不能并行處理,因此成為制約分布式系統(tǒng)整體性能的瓶頸。
針對(duì)集中式存儲(chǔ)的缺陷,本設(shè)計(jì)提出基于NoC架構(gòu)的分布式存儲(chǔ)系統(tǒng),分布式存儲(chǔ)系統(tǒng)與集中式存儲(chǔ)系統(tǒng)的最大區(qū)別在于將存儲(chǔ)單元均衡地分配給各個(gè)子系統(tǒng),因此可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的并行操作,提升系統(tǒng)數(shù)據(jù)吞吐量,實(shí)現(xiàn)分布式系統(tǒng)性能的最優(yōu)化如何實(shí)現(xiàn)圖2所示的分布式存儲(chǔ)系統(tǒng),需要解決以下四個(gè)關(guān)鍵問題:一是分布式存儲(chǔ)單元的有效管理;二是實(shí)現(xiàn)多核分布式系統(tǒng)數(shù)據(jù)傳輸吞吐量的平衡;三是更好地支持當(dāng)前主流多核系統(tǒng);四是支持不同類型數(shù)據(jù)在片上網(wǎng)絡(luò)中的傳輸。
二、基于NoC架構(gòu)的分布式存儲(chǔ)系統(tǒng)設(shè)計(jì)
針對(duì)以上四個(gè)問題,設(shè)計(jì)了面向多核系統(tǒng)的分布式、自適應(yīng)片上網(wǎng)絡(luò)方案。在X-YRouting路由中,是按照維度依次進(jìn)行路徑的選擇。網(wǎng)絡(luò)中的路徑被分為不同的維度(即現(xiàn)實(shí)中的方向),當(dāng)數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸時(shí),先按照某一個(gè)維度(X)進(jìn)行傳輸,在這個(gè)維度上計(jì)算出數(shù)據(jù)包當(dāng)前所在的節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間的距離,然后在這個(gè)維度上偏移適當(dāng)距離達(dá)到在此維度上與目標(biāo)節(jié)點(diǎn)一致,接著再按照另一個(gè)維度傳輸,同樣達(dá)到在此維度上與目標(biāo)節(jié)點(diǎn)保持一致,以此類推直到達(dá)到與目的地址在所有維度上完全相。確定性路由算法比較簡單,在網(wǎng)絡(luò)擁塞相對(duì)比較小的時(shí)候延遲不是很大,但是當(dāng)網(wǎng)絡(luò)擁塞比較嚴(yán)重的時(shí)候,確定性路由在網(wǎng)絡(luò)中不會(huì)自動(dòng)選擇擁塞小的路徑去路由,這樣會(huì)使網(wǎng)絡(luò)更加擁塞甚至堵塞。而自適應(yīng)路由算法是即使已經(jīng)指定了源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),還是可以根據(jù)當(dāng)前網(wǎng)絡(luò)的狀況決定傳輸?shù)穆窂?。就是在自適應(yīng)路由當(dāng)中,路徑的選擇由源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)以及當(dāng)前的網(wǎng)絡(luò)狀況共同決定。
1)為提高多核系統(tǒng)數(shù)據(jù)傳輸吞度量平衡的問題,設(shè)計(jì)提出了自適應(yīng)路由的解決方案。X-Y路由結(jié)構(gòu)相比,設(shè)計(jì)中添加了DMM(DataManagementModule,內(nèi)存管理模塊)單元,自適應(yīng)路由機(jī)制在路由選擇的時(shí)候采集當(dāng)前片網(wǎng)網(wǎng)絡(luò)的狀態(tài)信息和本節(jié)點(diǎn)的負(fù)載信息,并基于此,選擇最佳的傳輸路徑,因此能解決系統(tǒng)整體不平衡的缺陷。即使兩個(gè)數(shù)據(jù)擁有相同的源地址和目的地址,但是它們傳輸?shù)穆窂揭部赡芡耆煌?。自適應(yīng)路由可以根據(jù)網(wǎng)絡(luò)狀態(tài)隨時(shí)調(diào)整數(shù)據(jù)包的傳輸路徑,避免了網(wǎng)絡(luò)擁塞,得到更高的網(wǎng)絡(luò)帶寬。
2)本設(shè)計(jì)采用了分布式的內(nèi)存管理架構(gòu),通過設(shè)計(jì)DMM管理,實(shí)現(xiàn)分布式存儲(chǔ)單元的分配與管理,相對(duì)集中式內(nèi)存架構(gòu),整個(gè)內(nèi)存被分為各個(gè)相對(duì)獨(dú)立的部分而分屬于不同的終端,實(shí)現(xiàn)數(shù)據(jù)傳遞、處理的并行性,提高了內(nèi)存管理整體的吞吐率。
3)各終端的內(nèi)存又可進(jìn)一步細(xì)化為專屬內(nèi)存(Private)和共有(Shared)部分,整個(gè)系統(tǒng)內(nèi)存可根據(jù)實(shí)際的需要實(shí)現(xiàn)靈活的劃分、設(shè)置,使得數(shù)據(jù)傳輸、處理不再成為整個(gè)系統(tǒng)處理過程中的瓶頸。
4)對(duì)應(yīng)不同應(yīng)用的數(shù)據(jù)有不同的處理要求,不同類型的數(shù)據(jù)必然帶來處理上不同的優(yōu)先級(jí)。因此考慮在應(yīng)用中將數(shù)據(jù)設(shè)置為RealTime和BestEffbrt兩種,分別適應(yīng)對(duì)數(shù)據(jù)實(shí)時(shí)性要求較高和實(shí)時(shí)性要求不高的應(yīng)用場(chǎng)合,這也是本設(shè)計(jì)中的重點(diǎn)。RealTime類型在數(shù)據(jù)傳輸中優(yōu)先級(jí)高,并且傳輸過程中不能間斷,而BestEffort類型數(shù)據(jù)則可以利用RealTime傳輸?shù)臅r(shí)間間隙實(shí)現(xiàn)數(shù)據(jù)傳輸。相同的RealTime和Besteffort類型數(shù)據(jù)具有相同的優(yōu)先級(jí),在數(shù)據(jù)傳輸過程中,內(nèi)部采用輪詢機(jī)制確認(rèn)同等優(yōu)先級(jí)數(shù)據(jù)的傳輸順序。在本設(shè)計(jì)中的片上網(wǎng)絡(luò)的接口部分,支持當(dāng)前業(yè)界廣泛使用的AMBA協(xié)議,實(shí)現(xiàn)對(duì)該類接口的無縫連接,在保證系統(tǒng)整體性能提升的同時(shí),提高了實(shí)現(xiàn)該系統(tǒng)實(shí)際應(yīng)用的可能性。
三、基于NoC架構(gòu)的分布式存儲(chǔ)系統(tǒng)實(shí)現(xiàn)與功能驗(yàn)證
系統(tǒng)實(shí)現(xiàn)與功能驗(yàn)證通過將本設(shè)計(jì)應(yīng)用于實(shí)際中,并與未采用本設(shè)計(jì)的系統(tǒng)進(jìn)行比較,驗(yàn)證性能是否得到優(yōu)化。系統(tǒng)的實(shí)現(xiàn)基于FPGA平臺(tái),這樣可以充分利用可編程邏輯器件的擴(kuò)展性優(yōu)點(diǎn),而性能的驗(yàn)證基于H.264解碼器。典型的H.264可以分為爛解碼、反量化、反變換等子任務(wù),子任務(wù)的形式符合分布式系統(tǒng)的定義,因此基于H.264功能單元?jiǎng)澐肿酉到y(tǒng),并將原有的H.264解碼器與本設(shè)計(jì)相融合—即基于NoC架構(gòu)的分布式內(nèi)存管理多核系統(tǒng),實(shí)現(xiàn)子任務(wù)單元內(nèi)和之間的數(shù)據(jù)處理平衡和最優(yōu)化。整個(gè)系統(tǒng)由4個(gè)子系統(tǒng)構(gòu)成,4個(gè)子系統(tǒng)分別完成H.264解碼功能,實(shí)現(xiàn)任務(wù)的并行處理。每個(gè)子系統(tǒng)中又包含三個(gè)處理單元,分別實(shí)現(xiàn)H.264解碼器中的子任務(wù)。內(nèi)置的內(nèi)存管理單元實(shí)現(xiàn)數(shù)據(jù)在子任務(wù)間的有效傳遞和處理。與集中式存儲(chǔ)多核系統(tǒng)相比,分布式存儲(chǔ)多核系統(tǒng)隨著處理單元的增加性能將得到極大提升。
小結(jié)
本設(shè)計(jì)基于NoC架構(gòu),針對(duì)傳統(tǒng)片上網(wǎng)絡(luò)架構(gòu)存在的內(nèi)存管理不夠高效、靈活性不高等缺陷,提出分布式內(nèi)存管理架構(gòu),具有原創(chuàng)性。而面對(duì)傳統(tǒng)確定性路由算法帶來的片上網(wǎng)絡(luò)架構(gòu)數(shù)據(jù)處理平均吞吐量較低等問題,本設(shè)計(jì)提出的自適應(yīng)路由機(jī)制具有很強(qiáng)的針對(duì)性。自適應(yīng)路由機(jī)制在本設(shè)計(jì)中有兩方面的考慮:首先,在端口路由選擇時(shí)考慮網(wǎng)絡(luò)狀態(tài)的信息和本端口的負(fù)載信息,數(shù)據(jù)傳輸路徑因此將根據(jù)實(shí)際情況發(fā)生相應(yīng)變化,而非傳統(tǒng)的確定性路由算法的路徑一旦確認(rèn)則不會(huì)改變,因而能做出最佳的選擇,其最終目標(biāo)是數(shù)據(jù)傳輸和處理在系統(tǒng)整體層面上變得更為平衡。其次,網(wǎng)絡(luò)中數(shù)據(jù)的傳遞可根據(jù)不同的實(shí)時(shí)性要求設(shè)置優(yōu)先級(jí),保證實(shí)時(shí)性要求比較高的數(shù)據(jù)傳遞處于最高的優(yōu)先級(jí),因此在對(duì)實(shí)時(shí)性要求比較高的場(chǎng)合,具有特殊的優(yōu)勢(shì)。同時(shí),本設(shè)計(jì)基于設(shè)計(jì)應(yīng)用(H264解碼)對(duì)系統(tǒng)進(jìn)行性能驗(yàn)證,實(shí)際驗(yàn)證的結(jié)果顯示該系統(tǒng)能極大地提升分布式系統(tǒng)性能。
參考文獻(xiàn):
[1]Benini,MicheliGD.NetworkonChqj:ANewSoCParadigm[J].IEEECon^uter,2018(7):70-71.
[2]DalfyWJ,TowelsB.RoutePackets,Notwires:On-Ch^)InterconnectionNetworks[J].InProc,oftheDesignAutomationConference,2019(2):648-649.
[3]AxelJantsch,HannuTenhunen.NetworksonCh^)[M].SwedenKluwerAcademicPublishers,2017:853-855.
[4] Dally W J,Towels B.Princ^le and Practices of Interconnection Networks [M]. San Mateo:Morgan KaufinanPublishes,2004:500-504.