基于芯片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法
【專利摘要】本發(fā)明公開了一種基于芯片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法,包括下述步驟:S1、利用網(wǎng)絡(luò)編碼優(yōu)化設(shè)計(jì)片上網(wǎng)絡(luò),根據(jù)多核芯片復(fù)雜組播行為的網(wǎng)絡(luò)性能要求,以支持片上網(wǎng)絡(luò)基本組件的方式,計(jì)算出各核心的物理位置,以最小的硬件和能力消耗滿足多核芯片間的通信性能要求;S2、在現(xiàn)有芯片的互連體系結(jié)構(gòu)中,將復(fù)雜網(wǎng)絡(luò)通信拓?fù)浣Y(jié)構(gòu)進(jìn)行分解。本發(fā)明利用信息流的方法對多組播拓?fù)溥M(jìn)行分解,解決目標(biāo)函數(shù)的稀疏優(yōu)化問題,實(shí)現(xiàn)多組播網(wǎng)絡(luò)在片上網(wǎng)絡(luò)現(xiàn)有的拓?fù)浣Y(jié)構(gòu)總的性能優(yōu)化,為片上網(wǎng)絡(luò)的設(shè)計(jì)提供新的方法和思路,對于提高片上網(wǎng)絡(luò)和眾核芯片的性能、降低功耗具有重要的理論和實(shí)踐意義。
【專利說明】
基于芯片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及網(wǎng)絡(luò)路由器的研究領(lǐng)域,特別涉及一種基于芯片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì) 流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法。
【背景技術(shù)】
[0002] 隨著半導(dǎo)體工藝的持續(xù)發(fā)展,單一芯片容納晶體管的數(shù)量不斷增加,集成電路邁 入了多核(multiple-core)或者眾核(many-core)時(shí)代。核心依靠片上網(wǎng)絡(luò)(Network-on-Chip or NoC)連接在一起,通過并行運(yùn)算來提高芯片的整體性能。目前,眾核芯片已經(jīng)實(shí)現(xiàn) 了大量的商業(yè)應(yīng)用。例如:Intel 48核的云計(jì)算機(jī)單芯片云計(jì)算機(jī)"single-chip cloud computer"和Ti I era 72核的TILE_Gx72單芯片。這些芯片廣泛地應(yīng)用于超級計(jì)算、云計(jì)算、 大數(shù)據(jù)等系統(tǒng)中。
[0003] 眾核芯片的規(guī)模和并行度不斷增大,核心之間的可靠互連和通信變得越來越困 難,總線和點(diǎn)對點(diǎn)的互連方式逐漸不能滿足片上互連的性能和可擴(kuò)展的需要,人們提出了 基于包交換的片上網(wǎng)絡(luò)方式。眾核芯片的應(yīng)用不斷增加,芯片中核心之間的并行協(xié)作日益 緊密,相互之間傳輸?shù)臄?shù)據(jù)量不斷加大,需要支持更為復(fù)雜的網(wǎng)絡(luò)行為。此外,復(fù)雜多組播 (multi-session multicast)通信在眾核芯片中應(yīng)用也非常頻繁,例如:Cache-致性和傳 輸共享數(shù)據(jù)等。這些因素增加了片上網(wǎng)絡(luò)的通信量,造成了網(wǎng)絡(luò)擁塞,降低了片上網(wǎng)絡(luò)的性 能,增加了整個芯片的功耗。人們急需新的片上網(wǎng)絡(luò)設(shè)計(jì)以提高性能和能耗效率。
[0004] 片上網(wǎng)絡(luò)概念的提出是在2000年左右,借鑒宏觀計(jì)算機(jī)網(wǎng)絡(luò)包交換的數(shù)據(jù)傳輸形 式和共享物理通道的結(jié)構(gòu)方式,支持以"微片(flit)"為單位的傳輸模式。1999年,美國麻省 理工大學(xué)的Raw微處理器將靜態(tài)和動態(tài)兩套通信網(wǎng)絡(luò)相結(jié)合,共同實(shí)現(xiàn)多個處理器核心的 協(xié)同和通信;Guerrier和Greiner于2000年提出了基于胖樹(fat-tree)結(jié)構(gòu)和包交換SPIN 片上網(wǎng)絡(luò)結(jié)構(gòu)。2001年,Dally和Towles分析了片上系統(tǒng)硬件資源的特點(diǎn),提出了一個通用 NoC模型,從而證明了片上網(wǎng)絡(luò)在解決SoC互連的可行性;同年,Benini和Micheli提出NoC的 層次化構(gòu)造模型。隨后,研究者們在片上網(wǎng)絡(luò)領(lǐng)域展開了廣泛研究,提出了一系列的片上網(wǎng) 絡(luò)結(jié)構(gòu),較有影響的有:英國曼徹斯特大學(xué)的CHAIN和SpiNNaker,意大利Bologna大學(xué)和美 國斯坦福大學(xué)的XPIPES,飛利浦公司的AETHEREAL,瑞典皇家理工學(xué)院的NOSTRUM,法國UPMC 大學(xué)的SPIN,以及丹麥理工大學(xué)的MANGO等。
[0005] 隨著多核處理器和共享數(shù)據(jù)應(yīng)用的發(fā)展,更為復(fù)雜的網(wǎng)絡(luò)行為,例如組播 (multicast),成為片上網(wǎng)絡(luò)設(shè)計(jì)的重要考慮因素。片上網(wǎng)絡(luò)的數(shù)據(jù)傳輸主要有單播 (unicast)傳輸和組播傳輸。組播可以用多個單播操作來實(shí)現(xiàn),但是效率十分低。研究者們 在組播片上網(wǎng)絡(luò)方面做了大量研究,提出了多種支持組播的NoC架構(gòu)和組播優(yōu)化算法。 Merolla等人提出了一種支持組播的樹形路由器,可以通過在子樹(subtree)中循環(huán)廣播的 方式實(shí)現(xiàn)組播。Stefan等人提出了一種分時(shí)復(fù)用的片上網(wǎng)絡(luò)架構(gòu),支持QoS、組播和高效的 連接建立機(jī)制。Abad等人提出了一種支持組播的新路由機(jī)制,利用自適應(yīng)樹的組播方法保 證組播的正確傳輸而無需路由的限制,因此提高了 CMP組播的性能。Samman等人提出了一種 無需虛擬通道就可以實(shí)現(xiàn)無死鎖的組播,NoC的路由器支持以下功能:如果某些數(shù)據(jù)包被阻 塞了,其它數(shù)據(jù)包的微片可以插入到它們之前,從而避免死鎖。尤志強(qiáng)等人提出了基于BFT 型的片上網(wǎng)絡(luò)提出了一種組播路由協(xié)議和節(jié)點(diǎn)編碼設(shè)計(jì)方案,用來完成對相同核的組播測 試,降低了測試應(yīng)用時(shí)間。
[0006] 網(wǎng)絡(luò)編碼的概念第一次是由Ahlswede等人于2000年提出來的。它是一種網(wǎng)絡(luò)數(shù)據(jù) 傳輸方式,擴(kuò)展了傳統(tǒng)路由的概念和功能。在傳統(tǒng)的基于路由的網(wǎng)絡(luò)中,網(wǎng)絡(luò)節(jié)點(diǎn)(路由器、 交換機(jī)等)只執(zhí)行數(shù)據(jù)的轉(zhuǎn)發(fā)和復(fù)制兩項(xiàng)操作;而在使用了網(wǎng)絡(luò)編碼之后,網(wǎng)絡(luò)節(jié)點(diǎn)能夠?qū)?接收到的數(shù)據(jù)進(jìn)行任意的編碼操作(如線性變換等),再將編碼結(jié)果復(fù)制或轉(zhuǎn)發(fā)。與傳統(tǒng)網(wǎng) 絡(luò)相比,網(wǎng)絡(luò)編碼的優(yōu)勢主要體現(xiàn)在組播應(yīng)用中,可以提升吞吐率,實(shí)現(xiàn)有向網(wǎng)絡(luò) (directed networks)的組播容量(multicast capacity)。網(wǎng)絡(luò)編碼一經(jīng)提出便引起了國 際學(xué)術(shù)界的廣泛關(guān)注,其理論和應(yīng)用已成為網(wǎng)絡(luò)和通信領(lǐng)域研究的新熱點(diǎn)。
[0007] 網(wǎng)絡(luò)編碼的引入給網(wǎng)絡(luò)帶來一定的額外消耗,如額外的編碼操作、復(fù)雜的路由器、 較大的緩存。在網(wǎng)絡(luò)編碼中,需要在滿足吞吐率的前提下,盡量使用簡單的運(yùn)算,較小的有 限域,并且減少編碼節(jié)點(diǎn)的數(shù)量。對于給定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),尋找最小的有限域來達(dá)到網(wǎng)絡(luò) 容量是有 NP 難度的。C.Fragouli and E · Sol janin 在《Information flow decomposition for network coding》中證明有限域的大小與目標(biāo)節(jié)點(diǎn)的數(shù)目密切相關(guān),并且給出了一個 最小有限域的上界。相類似的,尋找最少的編碼節(jié)點(diǎn)數(shù)也是有NP難度的。M.Langberg, A.Sprintson,and J.Bruck在《The encoding complexity of network coding》中首先將 一般的網(wǎng)絡(luò)轉(zhuǎn)換為所謂的簡單網(wǎng)絡(luò)。使用簡單網(wǎng)絡(luò)的方法,在無環(huán)和有環(huán)的網(wǎng)絡(luò)下分別得 出了編碼節(jié)點(diǎn)數(shù)的上、下界。C. Fragou I i and E. So I jan in利用貪婪算法,提出了一個新的 網(wǎng)絡(luò)信息流模型來研究編碼節(jié)點(diǎn)和編碼邊數(shù)目的優(yōu)化。編碼節(jié)點(diǎn)、編碼邊優(yōu)化還可以應(yīng)用 遺傳算法(genetic algorithm) Uim, C.W. Ahn, M.M6dard, and M.Effros 在《On minimizing network coding resources:An evolutionary approach》中首次考慮米用遺 傳算法優(yōu)化編碼邊數(shù)。對于染色體的編碼,首先將網(wǎng)絡(luò)G轉(zhuǎn)換為對應(yīng)的線圖G'。對于每一種 編碼方案,將對應(yīng)的線圖G'所有邊上編碼系數(shù)組成的比特向量作為染色體編碼。用編碼邊 的數(shù)量作為染色體的適應(yīng)值。初步的仿真結(jié)果表明,應(yīng)用遺傳算法的結(jié)果優(yōu)于貪婪算法。
[0008] Texas A&M University的研究團(tuán)隊(duì)2006年第一次提出將網(wǎng)絡(luò)編碼應(yīng)用于集成電 路互連領(lǐng)域。Jayakumar、Khatri和Gulati等人在ASIC總線中應(yīng)用網(wǎng)絡(luò)編碼技術(shù),降低能耗 7 %~8.5 %,減少互連總線長度和面積6 %~10 %。隨后,他們將網(wǎng)絡(luò)編碼的應(yīng)用拓展到 FPGA互連領(lǐng)域,取得了不錯的效果。該研究團(tuán)隊(duì)還設(shè)計(jì)了一種支持網(wǎng)絡(luò)編碼的雙向總線,網(wǎng) 絡(luò)編碼技術(shù)可以利用一條雙向總線實(shí)現(xiàn)兩條單向總線的帶寬,節(jié)約49%的總線資源和11% 的總線能耗。
[0009] 2011年,Indrusiak第一次將網(wǎng)絡(luò)編碼的概念運(yùn)用于片上網(wǎng)絡(luò)中,探討其在NoC組 播通訊中的潛在優(yōu)勢。文章從數(shù)據(jù)包傳輸?shù)奶鴶?shù)(hops)的角度,比較network coding與XY routing傳輸所需要hop的總數(shù),初步論證了將network coding應(yīng)用到NoC中的優(yōu)勢。分析表 明,網(wǎng)絡(luò)編碼可以減少10%~22%的傳輸跳數(shù)。Thuan等人從硬件實(shí)現(xiàn)方面,將網(wǎng)絡(luò)編碼應(yīng) 用于CMP中,設(shè)計(jì)了支持網(wǎng)絡(luò)編碼的路由器,證明在一個9核的CMP中,網(wǎng)絡(luò)編碼可以大大降 低網(wǎng)絡(luò)延時(shí),并且提高網(wǎng)絡(luò)的吞吐量1.48倍。Shalaby等人主要考慮蝶形網(wǎng)絡(luò)在2D-mesh下 的優(yōu)化問題,提出了 5個選擇中間源節(jié)點(diǎn)is和中間目的地節(jié)點(diǎn)id的算法,證明網(wǎng)絡(luò)編碼可以 降低傳輸跳數(shù)12%~35% Jonbun等人將網(wǎng)絡(luò)編碼的優(yōu)化問題從蝶形網(wǎng)絡(luò)擴(kuò)展到一般的組 播拓?fù)浣Y(jié)構(gòu),從理論上證明了網(wǎng)絡(luò)編碼可以降低片上網(wǎng)絡(luò)的包傳輸距離。A. Shalaby, V.Goulart,and M.-S.Ragab在《Study of application of network coding on NoCs for multicast communications》中,證明使用網(wǎng)絡(luò)編碼還可以在組播應(yīng)用中有效地降低傳輸 延遲。Hu等人也提出用網(wǎng)絡(luò)編碼技術(shù)的片上網(wǎng)絡(luò)架構(gòu),取得了初步效果,但電路設(shè)計(jì)和實(shí)驗(yàn) 結(jié)果描述并不清晰。
[0010] 從以上的文獻(xiàn)分析可以看出,將網(wǎng)絡(luò)編碼技術(shù)應(yīng)用于片上網(wǎng)絡(luò)方面的研究工作剛 剛起步,相關(guān)的研究成果還不全面。這些初步的探索證明了片上網(wǎng)絡(luò)可以有效利用網(wǎng)絡(luò)編 碼技術(shù)提高網(wǎng)絡(luò)吞吐量、減小傳輸延遲、節(jié)約傳輸能耗。但是,大部分技術(shù)都局限于蝶形網(wǎng) 絡(luò)的構(gòu)造,而蝶形網(wǎng)絡(luò)只是網(wǎng)絡(luò)編碼應(yīng)用的一個特例。雖然有些技術(shù)將蝶形網(wǎng)絡(luò)擴(kuò)展到一 般的組播拓?fù)浣Y(jié)構(gòu)并給出了理論性能,然而文中并沒有提到具體的網(wǎng)路編碼構(gòu)造以實(shí)現(xiàn)這 些理論性能。但依然局限于組播內(nèi)(Intra-session)編碼。通過組播間(Inter-session)編 碼,我們應(yīng)該可以實(shí)現(xiàn)更大的性能增益。此外,這些文獻(xiàn)大多基于網(wǎng)絡(luò)編碼的粗略理論評 估,缺乏實(shí)際電路環(huán)境下精確的延時(shí)和功耗實(shí)驗(yàn)數(shù)據(jù),優(yōu)化算法也是基于現(xiàn)有網(wǎng)絡(luò)編碼理 論,沒有針對片上網(wǎng)絡(luò)的結(jié)構(gòu)和性能特點(diǎn)進(jìn)行有針對性的改進(jìn),難以實(shí)現(xiàn)對網(wǎng)絡(luò)編碼對于 片上網(wǎng)絡(luò)的促進(jìn)作用進(jìn)行全面、綜合的研究和評價(jià)。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于芯片設(shè)計(jì)流程 和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法。
[0012]為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
[0013] 本發(fā)明提供了一種基于芯片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法, 包括下述步驟:
[0014] S1、利用網(wǎng)絡(luò)編碼優(yōu)化設(shè)計(jì)片上網(wǎng)絡(luò),根據(jù)多核芯片復(fù)雜組播行為的網(wǎng)絡(luò)性能要 求,以支持片上網(wǎng)絡(luò)基本組件的方式,計(jì)算出各核心的物理位置,確定各核心之間的互連拓 撲,確定網(wǎng)絡(luò)編碼路由器的個數(shù)和插入位置,定義數(shù)據(jù)鏈路的帶寬參數(shù),以最小的硬件和能 力消耗滿足多核芯片間的通信性能要求;
[0015] S2、在現(xiàn)有芯片的互連體系結(jié)構(gòu)中,將復(fù)雜網(wǎng)絡(luò)通信拓?fù)浣Y(jié)構(gòu)進(jìn)行分解,確定哪些 節(jié)點(diǎn)可以利用數(shù)據(jù)編碼提升性能,確定中間源節(jié)點(diǎn)和中間目的地節(jié)點(diǎn)的位置,生成新的通 信拓?fù)浣Y(jié)構(gòu)。
[0016] 作為優(yōu)選的技術(shù)方案,步驟Sl具體為:
[0017] 假設(shè)每增加一個節(jié)點(diǎn)需要增加花費(fèi)α,對于給定的兩個節(jié)點(diǎn)i和j,假設(shè)建立一條單 位容量的信道花費(fèi)為其中Cllj是節(jié)點(diǎn)i和j的距離,需要設(shè)計(jì)一個滿足組播業(yè)務(wù)需求的, 花費(fèi)最小的拓?fù)浣Y(jié)構(gòu)G(V,E),其中V是節(jié)點(diǎn)集,E是信道集,用F表示所有的中間節(jié)點(diǎn),也就 是說f = F U Γ),該優(yōu)化問題可以被歸納為:
[0018] 給定條件:
[0019] ?-組或者多組源節(jié)點(diǎn)以及目標(biāo)節(jié)點(diǎn)的位置;
[0020] ?組播業(yè)務(wù)需求;
[0021] ·α和邱勺取值;
[0022] 優(yōu)化目相
[0023] 設(shè)計(jì)參數(shù):
[0024] ?中間節(jié)點(diǎn)的數(shù)目以及位置;
[0025] ?所有節(jié)點(diǎn)直接的信道連接;
[0026] 滿足條件:
[0027] ?至少存在一種網(wǎng)絡(luò)編碼的方案來實(shí)現(xiàn)組播業(yè)務(wù)的需求。
[0028] 作為優(yōu)選的技術(shù)方案,在所述滿足條件中,還包括下述條件:
[0029] ?傳輸延時(shí)不超過設(shè)計(jì)最大限;
[0030] ?傳輸跳躍數(shù)不超過設(shè)計(jì)最大限。
[0031] 作為優(yōu)選的技術(shù)方案,步驟S2具體為:
[0032] 對于給定的源節(jié)點(diǎn)、目的地節(jié)點(diǎn)以及信息傳輸要求,優(yōu)化算法需要在片上網(wǎng)絡(luò)中 選擇合適的中間節(jié)點(diǎn)來實(shí)現(xiàn)傳輸要求,基于信息流的方法,編碼子圖的選擇可以被定義為 一個優(yōu)化問題,片上網(wǎng)絡(luò)中的無向信道可以被看作是兩條平行的,指向相反方向有向信道, 頭節(jié)點(diǎn)和尾節(jié)點(diǎn)被用來標(biāo)志有向信道,不同于傳統(tǒng)的路由網(wǎng)絡(luò),網(wǎng)絡(luò)編碼需要區(qū)分信息流 和物理流,假設(shè)需要在同一個片上網(wǎng)絡(luò)中實(shí)現(xiàn)M個組播,用SjPD m分別表示第m個組播的源節(jié) 點(diǎn)和目的地節(jié)點(diǎn)集,第m個組播需要傳送&個數(shù)據(jù)包,算法可以用<來表示在信道(i,j)上 傳輸給第m個組播中目的地節(jié)點(diǎn)d的信息流,并且用/:;表示信道(i,j)上的物理流,傳統(tǒng)意 義上的流守恒定律被修改為:
[0033]
[0034]
[0035] 除了流守恒,每一個信道上的物理流還不應(yīng)該超過信道容量,也就是說
[0036]
(3)
[0037] 編碼子圖的選擇就是在滿足(1),(2)(3)的條件下優(yōu)化目標(biāo)函數(shù),如果要實(shí)現(xiàn)最小 跳躍數(shù).H ?教可以禎宙々成
[0038] ⑷
[0039] ,公式(4)是一個稀疏優(yōu)化問題。
[0040] 作為優(yōu)選的技術(shù)方案,在選定編碼子圖以后,還需要進(jìn)行網(wǎng)絡(luò)編碼的構(gòu)造,具體 是:先將一個選定的子網(wǎng)絡(luò)轉(zhuǎn)化為線圖,通過圖形簡化的方式來決定編碼的節(jié)點(diǎn);然后再設(shè) 計(jì)每一個節(jié)點(diǎn)上的編碼行為。
[0041] 本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
[0042] 1、本發(fā)明從優(yōu)化理論等多方面對網(wǎng)絡(luò)編碼在片上網(wǎng)絡(luò)中的應(yīng)用開展綜合研究,實(shí) 現(xiàn)對硬件、功耗、性能的精確評估和建模。本發(fā)明將為片上網(wǎng)絡(luò)的設(shè)計(jì)提供新的方法和思 路,也為網(wǎng)絡(luò)編碼拓展嶄新的應(yīng)用領(lǐng)域,對于進(jìn)一步提高片上網(wǎng)絡(luò)和眾核芯片的性能、降低 功耗具有理論和實(shí)踐的創(chuàng)新性。本發(fā)明的特色與創(chuàng)新之處表現(xiàn)在,提出了適應(yīng)片上網(wǎng)絡(luò)特 性的網(wǎng)絡(luò)編碼優(yōu)化算法。
[0043] 2、網(wǎng)絡(luò)編碼和片上網(wǎng)絡(luò)相結(jié)合產(chǎn)生了一些新的科學(xué)問題,現(xiàn)有的網(wǎng)絡(luò)編碼理論無 法在片上網(wǎng)絡(luò)的設(shè)計(jì)和應(yīng)用開發(fā)中直接使用。本發(fā)明針對片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的特性,有針 對性地提出化繁為簡(將復(fù)雜拓?fù)浞纸獬扇舾珊唵巫泳W(wǎng)),再由簡入繁(將多個簡單子網(wǎng)合 并成一個完整的拓?fù)洌┑难芯糠椒?,利用信息流的方法對多組播拓?fù)溥M(jìn)行分解,解決目標(biāo)函 數(shù)的稀疏優(yōu)化問題,將任意結(jié)構(gòu)的網(wǎng)絡(luò)組播映射到片上網(wǎng)絡(luò)所采用的拓?fù)浣Y(jié)構(gòu)中,并且盡 量減少優(yōu)化算法的復(fù)雜度。這些優(yōu)化算法既可以支持片上網(wǎng)絡(luò)的設(shè)計(jì),又可以支持現(xiàn)有芯 片的應(yīng)用設(shè)計(jì)優(yōu)化。
[0044] 3、在具體的實(shí)現(xiàn)技術(shù)手段方面,本發(fā)明集聚了網(wǎng)絡(luò)編碼、片上網(wǎng)絡(luò)、片上多處理器 和低功耗方面的最新研究成果,融合信號理論、集成電路和計(jì)算機(jī)等相關(guān)學(xué)科知識,理論與 實(shí)踐相結(jié)合,物理建模和仿真實(shí)驗(yàn)相結(jié)合,提出一套較為全面的支持網(wǎng)絡(luò)編碼的片上網(wǎng)絡(luò) 基本組成電路部件,并在此基礎(chǔ)上提出利用網(wǎng)絡(luò)編碼技術(shù)提高片上網(wǎng)絡(luò)性能、降低功耗的 優(yōu)化方法。
[0045] 4、評估片上網(wǎng)絡(luò)電路設(shè)計(jì)是否優(yōu)化的實(shí)驗(yàn)手段,則涉及到集成電路設(shè)計(jì)和仿真軟 件設(shè)計(jì),如圖3所示。NoC電路設(shè)計(jì)與建模采用IC設(shè)計(jì)EDA軟件工具和FPGA相結(jié)合的方法,具 體如圖3左側(cè)所示。本發(fā)明利用FPGA加快行為仿真的效率,檢驗(yàn)功能的正確性,并利用EDA工 具仿真測試出新的片上網(wǎng)絡(luò)各部件的延時(shí)和功耗,并進(jìn)行精確的延時(shí)和功耗建模。在仿真 軟件環(huán)境下進(jìn)行測試評估,如圖3右側(cè)所示。延時(shí)和功耗模型輸入到片上網(wǎng)絡(luò)仿真軟件工具 中(根據(jù)之前的經(jīng)驗(yàn),二次開發(fā)NS2網(wǎng)絡(luò)仿真工具來設(shè)計(jì)仿真環(huán)境),結(jié)合本發(fā)明提出的網(wǎng)絡(luò) 編碼優(yōu)化方法,運(yùn)用大量實(shí)際案例,成功驗(yàn)證網(wǎng)絡(luò)編碼對片上網(wǎng)絡(luò)的提升效果。
【附圖說明】
[0046] 圖1(a)-圖1(b)分別為蝶形網(wǎng)絡(luò)編碼結(jié)構(gòu)圖和片上網(wǎng)絡(luò)中網(wǎng)絡(luò)編碼處理圖;
[0047] 圖2是以微片為單位的網(wǎng)絡(luò)編碼帶來的對齊問題的示意圖;
[0048]圖3(a)-圖3(c)分別是蝶形網(wǎng)絡(luò)圖、蝶形網(wǎng)絡(luò)線圖和簡化線圖;
[0049]圖4是本發(fā)明的流程圖。
【具體實(shí)施方式】
[0050]下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限 于此。
[0051 ] 實(shí)施例
[0052]網(wǎng)絡(luò)編碼的提出是在傳統(tǒng)的宏觀網(wǎng)絡(luò)環(huán)境中的(如無線傳感網(wǎng)絡(luò)、計(jì)算機(jī)網(wǎng)絡(luò) 等),這些網(wǎng)絡(luò)的路由器具有較強(qiáng)的處理和存儲功能,在支持路由功能的同時(shí),可以足以應(yīng) 付網(wǎng)絡(luò)編碼的額外工作。并且,相對網(wǎng)絡(luò)信道傳輸?shù)难訒r(shí)和功耗來說,網(wǎng)絡(luò)編碼所消耗的額 外延時(shí)和功耗很小或者可以忽略不計(jì)。但是,片上網(wǎng)絡(luò)是一種對于速度和硬件資源要求極 其嚴(yán)格的微型網(wǎng)絡(luò),其處理和緩存能力都很弱,不可能消耗過多額外的硬件和能耗資源來 支持網(wǎng)絡(luò)編碼。
[0053]圖1(a)是一個典型的蝶形網(wǎng)絡(luò)編碼結(jié)構(gòu):sl、s2為兩個組播源節(jié)點(diǎn);dl、d2為兩個 組播的目的地節(jié)點(diǎn);is為中間源節(jié)點(diǎn),其既是一個路由器,又是一個編碼器,將兩路輸入的 原始數(shù)據(jù)包按照flit的順序進(jìn)行編碼,然后轉(zhuǎn)發(fā);id為中間目的地節(jié)點(diǎn),將其接收到的編碼 后的數(shù)據(jù)包分別轉(zhuǎn)發(fā)給組播的目的地方向。中間源節(jié)點(diǎn)is需要接收來自sl、s2的數(shù)據(jù)包A、 B,作簡單的異或處理,然后傳輸給中間目的地節(jié)點(diǎn)id。中間目的地節(jié)點(diǎn)id將數(shù)據(jù)包分發(fā)給 dl、(12。(11、d2接到數(shù)據(jù)包A ? B后與數(shù)據(jù)包A或者B進(jìn)行異或運(yùn)算,得到B或者A。
[0054]在宏觀網(wǎng)絡(luò)中(例如無線網(wǎng)絡(luò))中,網(wǎng)絡(luò)傳輸所需要的時(shí)間和能耗遠(yuǎn)遠(yuǎn)大于節(jié)點(diǎn)數(shù) 據(jù)處理的時(shí)間,is和id-般為處理器節(jié)點(diǎn),具有較強(qiáng)的處理能力和較大的緩存。數(shù)據(jù)包A、B 完全到達(dá)is后才進(jìn)行異或處理。
[0055] 然而,如圖1(b)所示的片上網(wǎng)絡(luò)中,網(wǎng)絡(luò)傳輸要求的速度極快,網(wǎng)絡(luò)編碼的處理和 分發(fā)不可能經(jīng)過處理器節(jié)點(diǎn)(如nis、nid),否則將嚴(yán)重影響了片上網(wǎng)絡(luò)的速度。這些操作必 須由片上網(wǎng)絡(luò)路由器(router)來完成(is、id)。但是,網(wǎng)絡(luò)編碼的恢復(fù)操作(如Β = ΑθΑθΒ) 可以在目的地節(jié)點(diǎn)(如dl、d2)中完成。
[0056] 眾所周知,片上網(wǎng)絡(luò)的路由器只支持速度極快的電路級交換和路由操作,并且緩 存很小,以微片(flit)作為傳輸?shù)膯卧?,無法容納一個完整的數(shù)據(jù)包(package)。因此,新的 片上網(wǎng)絡(luò)的網(wǎng)絡(luò)編碼操作也必須以flit為單位,而不能以package為單位。由于片上網(wǎng)絡(luò)存 在阻塞,微片的傳輸可能出現(xiàn)斷續(xù),給路由器的網(wǎng)絡(luò)編碼帶來了巨大的困難,如圖2所示。 [0057]圖2中灰色填充的方塊(以c開頭)代表異或編碼后的flit。情況1是最理想的狀況, 即數(shù)據(jù)包A、B長度相等,并且同時(shí)到達(dá)某一中間源節(jié)點(diǎn)。該中間源節(jié)點(diǎn)將同時(shí)到達(dá)的微片進(jìn) 行異或處理,形成新的微片(c〇-c6)并且發(fā)送。情況2表示數(shù)據(jù)包A、B相差兩個時(shí)鐘周期到 達(dá)。a0、al和b5、b6無法進(jìn)行網(wǎng)絡(luò)編碼處理。情況3表示受到網(wǎng)絡(luò)擁塞的影響,數(shù)據(jù)包A、B的微 片斷斷續(xù)續(xù)到達(dá)中間源節(jié)點(diǎn),網(wǎng)絡(luò)編碼的情況變得十分復(fù)雜,使得后續(xù)數(shù)據(jù)的恢復(fù)受到極 大的影響。
[0058]此外,如圖1(b)所示,芯片一旦完成后,其組播節(jié)點(diǎn)位置、網(wǎng)絡(luò)特性、鏈路帶寬等都 已無法改變。而現(xiàn)有的網(wǎng)絡(luò)編碼的優(yōu)化技術(shù)允許網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)根據(jù)優(yōu)化的要求進(jìn)行改 變。這就產(chǎn)生了網(wǎng)絡(luò)編碼優(yōu)化技術(shù)的新問題。
[0059] 如圖4所示,兩個關(guān)鍵核心的技術(shù)路線如下:
[0060] 1)利用網(wǎng)絡(luò)編碼優(yōu)化設(shè)計(jì)片上網(wǎng)絡(luò)
[0061] 在芯片設(shè)計(jì)初期,根據(jù)以芯片和組播業(yè)務(wù)的功能需求,運(yùn)用網(wǎng)絡(luò)編碼技術(shù),設(shè)計(jì)性 能和功耗最優(yōu)的片上網(wǎng)絡(luò)。對源節(jié)點(diǎn)和目的地節(jié)點(diǎn)進(jìn)行簡單的點(diǎn)對點(diǎn)連接需要建立過長的 鏈路,并且導(dǎo)致大量重疊的路徑。適當(dāng)?shù)靥砑又虚g節(jié)點(diǎn),并合理地運(yùn)用網(wǎng)絡(luò)編碼可以有效地 利用帶寬、降低功耗、提高性能。假設(shè)每增加一個節(jié)點(diǎn)需要增加花費(fèi)α。對于給定的兩個節(jié)點(diǎn) i和j,假設(shè)建立一條單位容量的信道花費(fèi)為其中Cl lj是節(jié)點(diǎn)i和j的距離。我們需要設(shè)計(jì) 一個滿足組播業(yè)務(wù)需求的,花費(fèi)最小的拓?fù)浣Y(jié)構(gòu)G(V,E),其中V是節(jié)點(diǎn)集,E是信道集。我們 用F表示所有的中間節(jié)點(diǎn),也就是說f = FM S U Γ)。這個優(yōu)化問題可以被歸納為:
[0062] 給定條件:
[0063] ?-組或者多組源節(jié)點(diǎn)以及目標(biāo)節(jié)點(diǎn)的位置 [0064] ?組播業(yè)務(wù)需求
[0065] ·α和邱勺取值
[0066]
[0067] 設(shè)計(jì)參數(shù):
[0068] ?中間節(jié)點(diǎn)的數(shù)目以及位置 [0069] ?所有節(jié)點(diǎn)直接的信道連接 [0070]滿足條件:
[0071] ?至少存在一種網(wǎng)絡(luò)編碼的方案來實(shí)現(xiàn)組播業(yè)務(wù)的需求
[0072] ·(可選)傳輸延時(shí)不超過設(shè)計(jì)最大限;
[0073] ·(可選)傳輸跳躍數(shù)不超過設(shè)計(jì)最大限。
[0074] 在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際需求對以上的優(yōu)化問題進(jìn)行調(diào)整,比如給傳輸延時(shí) 和跳躍數(shù)分配相對應(yīng)的花費(fèi),并將它們歸納于優(yōu)化目標(biāo)中;或者將中間節(jié)點(diǎn)區(qū)分為可編碼 節(jié)點(diǎn)和普通路由節(jié)點(diǎn),并相應(yīng)地調(diào)整他們的花費(fèi)。
[0075]直接解決以上的優(yōu)化問題是非常困難的。本發(fā)明致力于尋找一些次優(yōu),但是高效 的解決方案。其中一個可行的方向是先建立一個滿足條件的拓?fù)浣Y(jié)構(gòu),再對其中的中間節(jié) 點(diǎn)位置進(jìn)行調(diào)整,對不必要的信道進(jìn)行刪減及合并。在不違背設(shè)計(jì)要求的情況下減少花費(fèi)。
[0076] 2)利用網(wǎng)絡(luò)編碼優(yōu)化現(xiàn)有片上網(wǎng)絡(luò)的應(yīng)用程序
[0077] 對于給定的芯片中,網(wǎng)絡(luò)編碼亦可在現(xiàn)有片上網(wǎng)絡(luò)基礎(chǔ)上對其應(yīng)用程序進(jìn)行優(yōu) 化。本發(fā)明采用的技術(shù)路線主要包含兩方面:編碼子圖的選擇(subgraph selection,即組 播拓?fù)浣Y(jié)構(gòu)在片上網(wǎng)絡(luò)中進(jìn)行映射)和網(wǎng)絡(luò)編碼的構(gòu)造(network code construction,即 在給定的拓?fù)浣Y(jié)構(gòu)上選擇適當(dāng)?shù)木幋a節(jié)點(diǎn),數(shù)據(jù)包以及網(wǎng)絡(luò)編碼系數(shù))。一般來說,這兩個 問題可以分開解決。
[0078] 首先,對于給定的源節(jié)點(diǎn)、目的地節(jié)點(diǎn)以及信息傳輸要求,優(yōu)化算法需要在片上網(wǎng) 絡(luò)中選擇合適的中間節(jié)點(diǎn)來實(shí)現(xiàn)傳輸要求。這些被選擇的中間節(jié)點(diǎn)和它們之間的傳輸方向 決定了編碼子圖。根據(jù)不同的優(yōu)化目標(biāo),我們可以選擇不同的編碼子圖。目前,對于片上網(wǎng) 絡(luò)來說,最直接也是最常用的優(yōu)化目標(biāo)就是達(dá)到最小的跳躍數(shù)?;谛畔⒘鞯姆椒?,編碼子 圖的選擇可以被定義為一個優(yōu)化問題。片上網(wǎng)絡(luò)中的無向信道可以被看作是兩條平行的, 指向相反方向有向信道。頭節(jié)點(diǎn)和尾節(jié)點(diǎn)被用來標(biāo)志有向信道,比如信道(i,j)就是從節(jié)點(diǎn) i指向節(jié)點(diǎn)j。不同于傳統(tǒng)的路由網(wǎng)絡(luò),網(wǎng)絡(luò)編碼需要區(qū)分信息流和物理流。假設(shè)需要在同一 個片上網(wǎng)絡(luò)中實(shí)現(xiàn)M個組播,用SjPD m分別表示第m個組播的源節(jié)點(diǎn)和目的地節(jié)點(diǎn)集。第m個
組播需要傳送^個數(shù)據(jù)包。算法可以用來表示在信道(i,j)上傳輸給第m個組播中目的 地節(jié)點(diǎn)d的信息流,并且用 表示信道(i,j)上的物理流。傳統(tǒng)意義上的流守恒定律被修改 為:
[007<
[008(
[0081]除了流守恒,每一個信道上的物理流還不應(yīng)該超過信道容量,也就是說
[0082]
(3)
[0083] 編碼子圖的選擇就是在滿足(1),(2)(3)的條件下優(yōu)化目標(biāo)函數(shù)。如果要實(shí)現(xiàn)最小 跳躍數(shù),目標(biāo)函數(shù)可以被定義成
[0084] (4)
[0085] 。公式(4)是一個稀疏優(yōu)化問題。稀疏優(yōu)化是著名 的NP難度問題。
[0086] 公式(1)(2)定義的流守恒定律并不適用組播間編碼。組播間編碼子網(wǎng)絡(luò)的選擇是 一個非常困難的問題。本發(fā)明最傾向的解決方案就是合并組播。當(dāng)兩個組播的目的地節(jié)點(diǎn) 集有很大的重疊,或者當(dāng)目的地節(jié)點(diǎn)非??拷臅r(shí)候,可以將它們合并。合并組播的目的地 節(jié)點(diǎn)集由原來兩個目的地集的并集構(gòu)成。在合并后的多組播傳輸中,可以利用前面提到的 優(yōu)化方法。
[0087] 在選定編碼子圖以后,還需要進(jìn)行網(wǎng)絡(luò)編碼的構(gòu)造。目前最簡單的分布式網(wǎng)絡(luò)編 碼就是隨機(jī)線性網(wǎng)絡(luò)編碼。然而隨機(jī)線性網(wǎng)絡(luò)編碼需要用到比較大的有限域。當(dāng)有限域增 大,計(jì)算的復(fù)雜度也會快速增加。這將增加對路由器的計(jì)算要求,并且增加網(wǎng)絡(luò)延時(shí)。另一 方面,隨機(jī)線性網(wǎng)絡(luò)編碼需要每一個節(jié)點(diǎn)都進(jìn)行編碼,這也是需要避免的。因此,需要設(shè)計(jì) 一個簡單高效的新型編碼方式。課題組初步方案是先將一個選定的子網(wǎng)絡(luò)轉(zhuǎn)化為線圖。通 過圖形簡化的方式來決定編碼的節(jié)點(diǎn)。然后再設(shè)計(jì)每一個節(jié)點(diǎn)上的編碼行為。比如在蝶形 網(wǎng)絡(luò)中,它的線圖由兩個源節(jié)點(diǎn),兩個目的地節(jié)點(diǎn),還有七個信道節(jié)點(diǎn)組成,如圖3(b)所示。 這七個信道節(jié)點(diǎn)分別對應(yīng)圖3(a)中的7條信道。在線圖中,可以證明當(dāng)一個信道節(jié)點(diǎn)對應(yīng)的 信道容量大于它所有父節(jié)點(diǎn)對應(yīng)的信道容量之和時(shí),這個信道是不需要編碼的。假設(shè)圖3 (a)中每個信道都是單位容量,那么圖3(b)中的線圖可以被簡化為圖3(c)。從圖3(c)中我們 可以看出,唯一個需要進(jìn)行編碼行為的就是信道e 5.也就是說,在原圖3(a),唯一需要編碼 的節(jié)點(diǎn)就是信道既的尾節(jié)點(diǎn)(節(jié)點(diǎn)1)。
[0088] 雖然對于蝶形網(wǎng)絡(luò),簡化線圖得到了最優(yōu)的編碼節(jié)點(diǎn)數(shù)。但是對于一般的網(wǎng)絡(luò)來 說,通過簡化線圖,只可以得到一個編碼節(jié)點(diǎn)數(shù)的上限,并不一點(diǎn)是最小值。
[0089] 處于成本考慮,可以只給指定的路由器增加編碼功能。對于這種情況,編碼子圖的 選擇和編碼構(gòu)造都需要進(jìn)行相對應(yīng)的調(diào)整。比如說,公式(1)(2)定義的流守恒只適用于可 編碼的節(jié)點(diǎn)的輸出信道。對于其他信道,必須使用傳統(tǒng)的流守恒定律,也就是說物理流守 恒。
[0090] 上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的 限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化, 均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 基于忍片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方法,其特征在于,包括下 述步驟: 51、 利用網(wǎng)絡(luò)編碼優(yōu)化設(shè)計(jì)片上網(wǎng)絡(luò),根據(jù)多核忍片復(fù)雜組播行為的網(wǎng)絡(luò)性能要求,W 支持片上網(wǎng)絡(luò)基本組件的方式,計(jì)算出各核屯、的物理位置,確定各核屯、之間的互連拓?fù)?,確 定網(wǎng)絡(luò)編碼路由器的個數(shù)和插入位置,定義數(shù)據(jù)鏈路的帶寬參數(shù),W最小的硬件和能力消 耗滿足多核忍片間的通信性能要求; 52、 在現(xiàn)有忍片的互連體系結(jié)構(gòu)中,將復(fù)雜網(wǎng)絡(luò)通信拓?fù)浣Y(jié)構(gòu)進(jìn)行分解,確定哪些節(jié)點(diǎn) 可W利用數(shù)據(jù)編碼提升性能,確定中間源節(jié)點(diǎn)和中間目的地節(jié)點(diǎn)的位置,生成新的通信拓 撲結(jié)構(gòu)。2. 根據(jù)權(quán)利要求1所述的基于忍片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方 法,其特征在于,步驟S1具體為: 假設(shè)每增加一個節(jié)點(diǎn)需要增加花費(fèi)〇,對于給定的兩個節(jié)點(diǎn)i和j,假設(shè)建立一條單位容 量的信道花費(fèi)為0如,其中di堤節(jié)點(diǎn)巧日j的距離,需要設(shè)計(jì)一個滿足組播業(yè)務(wù)需求的,花費(fèi) 最小的拓?fù)浣Y(jié)構(gòu)G(V,E),其中V是節(jié)點(diǎn)集,E是信道集,用f表示所有的中間節(jié)點(diǎn),也就是說 F = F \ 口 U Γ),該優(yōu)化問題可W被歸納為: 給定條件: ?一組或者多組源節(jié)點(diǎn)W及目標(biāo)節(jié)點(diǎn)的位置; ?組播業(yè)務(wù)需求; 參α和β的取值; 優(yōu)化目標(biāo)設(shè)計(jì)參數(shù): ?中間節(jié)點(diǎn)的數(shù)目W及位置; ?所有節(jié)點(diǎn)直接的信道連接; 滿足條件: ?至少存在一種網(wǎng)絡(luò)編碼的方案來實(shí)現(xiàn)組播業(yè)務(wù)的需求。3. 根據(jù)權(quán)利要求2所述的基于忍片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方 法,其特征在于,在所述滿足條件中,還包括下述條件: ?傳輸延時(shí)不超過設(shè)計(jì)最大限; ?傳輸跳躍數(shù)不超過設(shè)計(jì)最大限。4. 根據(jù)權(quán)利要求2所述的基于忍片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方 法,其特征在于,步驟S2具體為: 對于給定的源節(jié)點(diǎn)、目的地節(jié)點(diǎn)W及信息傳輸要求,優(yōu)化算法需要在片上網(wǎng)絡(luò)中選擇 合適的中間節(jié)點(diǎn)來實(shí)現(xiàn)傳輸要求,基于信息流的方法,編碼子圖的選擇可W被定義為一個 優(yōu)化問題,片上網(wǎng)絡(luò)中的無向信道可W被看作是兩條平行的,指向相反方向有向信道,頭節(jié) 點(diǎn)和尾節(jié)點(diǎn)被用來標(biāo)志有向信道,不同于傳統(tǒng)的路由網(wǎng)絡(luò),網(wǎng)絡(luò)編碼需要區(qū)分信息流和物 理流,假設(shè)需要在同一個片上網(wǎng)絡(luò)中實(shí)現(xiàn)Μ個組播,用Sm和Dm分別表示第m個組播的源節(jié)點(diǎn)和 目的地節(jié)點(diǎn)集,第m個組播需要傳送xm個數(shù)據(jù)包,算法可W用挺:f來表示在信道(i,j)上傳輸 給第m個組播中目的地節(jié)點(diǎn)d的信息流,并且用i::;表示信道(i,j)上的物理流,傳統(tǒng)意義上 的流守恒定律被修改為:除了流守恒,每一個信道上的物理流還不應(yīng)該超過信道容量,也就是說誠 編碼子圖的選擇就是在滿足(1),(2)(3)的條件下優(yōu)化目標(biāo)函數(shù),如果要實(shí)現(xiàn)最小跳躍 數(shù),目標(biāo)函數(shù)可W被定義成(:4) 其中,公式(4)是一個稀疏優(yōu)化問題。5.根據(jù)權(quán)利要求4所述的基于忍片設(shè)計(jì)流程和應(yīng)用設(shè)計(jì)流程的片上網(wǎng)絡(luò)編碼優(yōu)化方 法,其特征在于,在選定編碼子圖W后,還需要進(jìn)行網(wǎng)絡(luò)編碼的構(gòu)造,具體是:先將一個選定 的子網(wǎng)絡(luò)轉(zhuǎn)化為線圖,通過圖形簡化的方式來決定編碼的節(jié)點(diǎn);然后再設(shè)計(jì)每一個節(jié)點(diǎn)上 的編碼行為。
【文檔編號】H04L12/761GK105844014SQ201610169308
【公開日】2016年8月10日
【申請日】2016年3月22日
【發(fā)明人】劉怡俊, 謝建群
【申請人】廣東工業(yè)大學(xué)