亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向非全互連3D NoC 的自適應(yīng)單播路由算法

        2018-07-25 07:41:50孫美東劉勤讓劉冬培燕昺昊
        計(jì)算機(jī)應(yīng)用 2018年5期
        關(guān)鍵詞:記錄表路由器數(shù)據(jù)包

        孫美東,劉勤讓,劉冬培,燕昺昊

        (國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,鄭州450002)

        (*通信作者電子郵箱137070845@qq.com)

        0 引言

        在3D集成系統(tǒng)中,使用垂直互連技術(shù)將多層晶片堆疊在一起[1]。因?yàn)楣柰?Through Silicon Via,TSV)技術(shù)能提供最大的垂直互連密度和最小的層間距離,所以它是目前使用最普及的垂直互連技術(shù)[2]。雖然在集成系統(tǒng)中使用三維片上網(wǎng)絡(luò)(three-Dimensional Network-on-Chip,3D NoC)架構(gòu)可以提高網(wǎng)絡(luò)性能,但TSV的使用仍面臨3個(gè)問題:1)TSV的制造工藝還不夠成熟,使得3D集成電路成品率較低[3];2)在3D集成電路封裝以及焊接TSV過程中,TSV可能出現(xiàn)短路導(dǎo)致故障[4];3)相對(duì)于普通的2D水平鏈路,TSV有較大的面積消耗[5]。所以在保證正常通信的前提下,應(yīng)使TSV的數(shù)量盡可能減少,這使得非全互連3D NoC架構(gòu)得到廣泛研究。

        對(duì)于3D NoC,路由算法是十分關(guān)鍵的問題之一,前人在這一問題上已經(jīng)作出相關(guān)的研究。如文獻(xiàn)[6]提出LAFT(Look Ahead Fault Tolerant)算法,此算法分為三個(gè)階段:第一階段,讀取微片(flit),計(jì)算下一節(jié)點(diǎn)的地址;第二階段,得到由故障模塊發(fā)送的下一節(jié)點(diǎn)的故障信息并且獲取其他三個(gè)方向的最短路徑;第三階段,做出路由方向的決定,其中最短路徑的方向具有最高優(yōu)先級(jí)。由于LAFT規(guī)定路徑選擇性為第二優(yōu)先級(jí),所以如果選取路徑選擇性多的方向,但此方向上的下一節(jié)點(diǎn)出現(xiàn)多處故障,此時(shí)會(huì)導(dǎo)致路徑堵塞,使傳輸不能選擇最短路徑。針對(duì)上述現(xiàn)象,文獻(xiàn)[7]提出HLAFT(Hybrid Look Ahead Fault Tolerant)算法,對(duì)于每一個(gè)到來的flit,該算法判斷計(jì)算的方向是否導(dǎo)致路徑堵塞。如果因?yàn)槁窂蕉氯x擇非最短路徑,則會(huì)根據(jù)當(dāng)前節(jié)點(diǎn)和鄰居節(jié)點(diǎn)的狀態(tài)重新計(jì)算輸出端口。HLAFT算法可以避免路徑堵塞,然而只適用于全互連的3D NoC。DyXYZ(Dynamic XYZ)路由算法在X、Y、Z方向分別使用4、4、2個(gè)虛通道,將網(wǎng)絡(luò)分成2個(gè)主網(wǎng)絡(luò),每個(gè)主網(wǎng)絡(luò)又包含4個(gè)次網(wǎng)絡(luò)[8]。因?yàn)槊總€(gè)次網(wǎng)絡(luò)采用不同的虛通道,所以此算法不會(huì)死鎖。當(dāng)選擇輸出通道時(shí),DyXYZ算法考慮輸出方向上的緩存信息,進(jìn)一步提高網(wǎng)絡(luò)性能,但此算法同樣也只適用于全互連的3D NoC架構(gòu)且算法共采用10個(gè)虛通道,增加了網(wǎng)絡(luò)的硬件開銷。

        文獻(xiàn)[9]和文獻(xiàn)[3]分別提出適用于非全互連不規(guī)則3D NoC架構(gòu)的Elevator-First路由算法和路由器結(jié)構(gòu),該算法采用2個(gè)虛通道避免死鎖。由于虛通道的使用過于耗費(fèi)資源,文獻(xiàn)[10]對(duì)Elevator-First算法進(jìn)行改進(jìn),當(dāng)選擇“電梯”節(jié)點(diǎn)時(shí),增加限制規(guī)則,使得不用虛通道就可以避免死鎖?;赥SV上/下表的容錯(cuò)路由算法通過在每個(gè)路由器中添加TSV上/下表尋找最優(yōu)的TSV進(jìn)行層間傳輸;此外,為了高效地更新路由表,每個(gè)路由器會(huì)額外存儲(chǔ)一張連接表[11],但由于該算法中的TSV上/下表需要存儲(chǔ)每層所有TSV的地址,且還要額外存儲(chǔ)一張連接表,使得表開銷過大,并且當(dāng)擴(kuò)大網(wǎng)絡(luò)規(guī)模時(shí),表的開銷呈劇烈的增長(zhǎng)。針對(duì)TSV上/下表開銷過大的問題,低開銷容錯(cuò)路由算法提出新的表策略,但此算法并未考慮垂直方向的擁塞信息[12]。因此,本文針對(duì)文獻(xiàn)[11]表開銷過大以及文獻(xiàn)[12]出現(xiàn)的垂直擁塞問題,提出新的表結(jié)構(gòu)和路由算法,該算法不僅能避讓故障和擁塞節(jié)點(diǎn),而且可以進(jìn)行死鎖恢復(fù)和免活鎖,保證了有效的數(shù)據(jù)傳輸。

        1 非全互連3D拓?fù)浣Y(jié)構(gòu)

        非全互連3D拓?fù)浣Y(jié)構(gòu)層內(nèi)采用2D mesh結(jié)構(gòu),且每層的規(guī)模相同,其與3D mesh結(jié)構(gòu)不同的是TSV的分布是部分且隨機(jī)的。該結(jié)構(gòu)中具有兩類路由器:三維路由器和平面路由器。含有TSV的路由器被稱為三維路由器,具有7個(gè)端口,分別為本地、東、西、南、北、上、下方向的端口。其余的路由器稱為平面路由器,具有五個(gè)端口,分別為本地、東、西、南、北方向的端口。上述的拓?fù)浣Y(jié)構(gòu)模型如圖1所示,每個(gè)路由器的位置由三維笛卡爾坐標(biāo)表示。

        圖1 非全互連3D拓?fù)淠P虵ig.1 Vertically partially connected 3D topology model

        2 記錄表的設(shè)計(jì)

        在非全互連的3D NoC中,上/下層傳輸?shù)臄?shù)據(jù)包要選取最合適的垂直連接,所以記錄垂直連接的位置信息顯得尤為重要。本文與文獻(xiàn)[11]和文獻(xiàn)[12]中設(shè)計(jì)的表結(jié)構(gòu)不同,此表將TSV上/下表整合到一個(gè)表中,不僅記錄與當(dāng)前路由器4個(gè)方向距離最近的TSV位置信息,也記錄相鄰節(jié)點(diǎn)的緩存占用和故障信息。在傳輸數(shù)據(jù)包時(shí)可以選擇無故障且緩存占用少的端口,減少擁塞的情況和傳輸時(shí)間,提高網(wǎng)絡(luò)性能。圖1中(1,1,1)節(jié)點(diǎn)的記錄表如表1所示。如果當(dāng)前路由器連接的鏈路或路由器故障,在表中用信號(hào)0表示;如果可用,用信號(hào)1表示。本文設(shè)置路由器輸入端口的緩存深度為8 flits。

        表1 節(jié)點(diǎn)(1,1,1)存儲(chǔ)的記錄表Tab.1 Record table stored by node(1,1,1)

        2.1 記錄表的建立

        記錄表是由路由器發(fā)送廣播數(shù)據(jù)包建立的,其中每個(gè)廣播包會(huì)存儲(chǔ)自身在網(wǎng)絡(luò)中傳輸?shù)奶鴶?shù)。表建立的過程分為兩步:第一步是層間廣播,由偶數(shù)層三維路由器向上/下層廣播帶有自身輸入緩存占用信息的數(shù)據(jù)包,奇數(shù)層三維路由器收到數(shù)據(jù)包后會(huì)記錄緩存信息同時(shí)向偶數(shù)層返回自身的輸入緩存占用信息,此時(shí)三維路由器都具有鄰近層的輸入緩存占用信息。第二步是層內(nèi)廣播,三維路由器將緩存信息加入到數(shù)據(jù)包中向?qū)觾?nèi)4個(gè)方向發(fā)送廣播包,接收到的路由器會(huì)向其返回輸入緩存信息。如果接收到的路由器記錄表中沒有TSV地址,則將包中的TSV地址和相應(yīng)的緩存信息加入到記錄表中;如果已有TSV地址,選擇跳數(shù)比表中記錄更小的廣播包進(jìn)行更新TSV地址和相應(yīng)的緩存。為了減少數(shù)據(jù)包的重傳,當(dāng)收到兩個(gè)相同的數(shù)據(jù)包會(huì)選擇一個(gè)丟掉。

        1) even layer 3D routers broadcast packets;

        2) if(routers←packets) /*收到廣播包*/

        3) record and return buffer;

        4) plane routers broadcast packets;

        5) if(routers←packets)

        6) record and return buffer;

        7) if(record table is blank‖TSV address is smaller)

        /*記錄表的TSV地址為空或數(shù)據(jù)包中攜帶的TSV地址較小*/

        8) update table;

        9) end if

        10) hop+1,broadcast packets;

        /*廣播包的跳數(shù)加1,繼續(xù)向?qū)觾?nèi)其他方向廣播*/

        11) end if

        12) end if

        2.2 記錄表的更新

        通常,三維片上網(wǎng)絡(luò)系統(tǒng)中出現(xiàn)的故障分為短暫性故障和永久性故障[13],當(dāng)發(fā)生故障時(shí),永久性故障相比短暫性故障會(huì)更大程度地影響系統(tǒng)性能,所以本文考慮的故障是永久性故障。在三維片上網(wǎng)絡(luò)系統(tǒng)中出現(xiàn)的故障模型主要有以下兩種:

        1)路由器故障。三維路由器故障,如圖1中的(3,3,1)路由器故障;平面路由器故障,如圖1中的(2,1,1)路由器故障。

        2)鏈路故障。層內(nèi)鏈路故障,如圖1中的(1,1,1)路由器西方向故障;層間鏈路故障,如圖1中的(3,2,1)路由器下垂直連接故障。

        當(dāng)鏈路或路由器故障時(shí),由檢測(cè)到故障的路由器發(fā)送與建立記錄表時(shí)相同的廣播包進(jìn)行記錄表的更新。為達(dá)到增量更新減少更新開銷,此過程只修改需要更新的表項(xiàng)。表更新過程與建立過程相似,這里不再贅述。

        3 自適應(yīng)單播路由算法

        3D NoC中的路由算法是將數(shù)據(jù)包按照一定的路徑從源節(jié)點(diǎn)準(zhǔn)確無誤地傳輸?shù)侥康墓?jié)點(diǎn),本文提出的層內(nèi)和層間路由算法中主要符號(hào)和含義如表2所示。

        表2 路由算法中主要符號(hào)及含義Tab.2 Main symbols and meanings in routing algorithm

        3.1 層內(nèi)路由算法

        基于記錄表中的信息,本文提出一種新的層內(nèi)路由算法。首先根據(jù)當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)的地址確定最優(yōu)方向,然后判斷當(dāng)前節(jié)點(diǎn)的故障信息,如最優(yōu)方向故障則選取非最優(yōu)方向,如果兩個(gè)非最優(yōu)方向的故障信息相同則進(jìn)一步考慮端口的緩存信息,使得數(shù)據(jù)包可以選擇無故障輸出端口且避免擁塞。由于發(fā)生故障的連接會(huì)比發(fā)生擁塞的連接更易影響網(wǎng)絡(luò)的性能,所以本文將判斷故障信息的優(yōu)先級(jí)設(shè)為最高,擁塞的優(yōu)先級(jí)次之。

        1) if(ΔX=0&& ΔY=0)

        2) local port←packet;

        3) else if(ΔX=0)

        4) N or S is available,N or S← packet;otherwise,check W and E;check W and E adjacent routers; /*N或S可用,選擇相應(yīng)端口;否則,檢查W和E方向的故障,同時(shí)檢查W和E可用方向鄰近路由器的故障信息*/

        5) if(one of W and E is faulty) /*兩個(gè)方向其一故障*/

        6) W or E←packet; /*選取無故障端口*/

        7) else if(W and E are faulty)

        8) N or S←packet; /*選擇目標(biāo)方向相反的端口*/

        9) else(W and E aren’t faulty)

        10) adjacent routers are available in target direction,less buffer W or E ← packet;otherwise,less faulty port← packet;/*兩個(gè)鄰近路由器在所需方向上可用,選擇W或E緩存占用少的端口;兩個(gè)鄰近路由器在所需方向上故障不同,選擇故障少的方向*/

        11) else if(ΔY=0)

        12) 處理方式同上;

        13)else(ΔX≠0 && ΔY≠0)

        14) check 2 target direction and adiacent routers; /*檢查與目標(biāo)方向距離最近兩個(gè)方向的故障信息,同時(shí)檢查這兩個(gè)方向鄰近路由器的故障信息*/

        15)if(one of them is faulty)

        16) no faulty port←packet;

        17)else if(they are faulty)

        18) opposite port←packet;

        19)else(they aren’t faulty)

        20) adjacent routers are available, less buffer port← packet;otherwise, less faulty port← packet;

        3.2 層間路由算法

        當(dāng)目的節(jié)點(diǎn)與源節(jié)點(diǎn)不在同層時(shí),要先將數(shù)據(jù)包傳輸?shù)侥康墓?jié)點(diǎn)層,然后再傳輸?shù)侥康墓?jié)點(diǎn)。在層間傳輸時(shí),選擇最優(yōu)的垂直連接是關(guān)鍵,所以在尋找最優(yōu)垂直連接時(shí),層間路由算法將擁塞和故障信息同時(shí)考慮。本文將目的節(jié)點(diǎn)映射到源節(jié)點(diǎn)所在層的節(jié)點(diǎn)稱為映射節(jié)點(diǎn)。如果映射節(jié)點(diǎn)自身含有需要的TSV,那么選擇此TSV進(jìn)行傳輸;否則,根據(jù)映射節(jié)點(diǎn)的記錄表,計(jì)算源節(jié)點(diǎn)與各個(gè)TSV的信息進(jìn)而選擇出最優(yōu)的TSV,將數(shù)據(jù)包傳輸?shù)洁徑鼘樱缓蟾鶕?jù)目的節(jié)點(diǎn)地址繼續(xù)在層內(nèi)傳輸。如果此層仍不是目的層,則采用同樣的方法繼續(xù)傳輸。源節(jié)點(diǎn)與各個(gè)TSV的信息計(jì)算方法為:

        其中:dis表示源節(jié)點(diǎn)與映射節(jié)點(diǎn)記錄表中各個(gè)TSV的距離,選擇最小距離的TSV可以減少傳輸延時(shí);interbuff表示TSV連接的鄰近層路由器上/下輸入端口的緩存占用信息,選擇緩存占用最少的端口可以緩解網(wǎng)絡(luò)的擁塞;Info值越小表示選擇的TSV地址越優(yōu),可以作為最優(yōu)的傳輸路徑進(jìn)行傳輸。

        1) if(Zd>Zc)

        2) Xm=Xd;Ym=Yd;Zm=Zc;

        3) if(M has TSV) /*映射節(jié)點(diǎn)含有需要的TSV*/

        4) temporary address← TSV,inner-layer routing;/*選擇此TSV,采用層內(nèi)路由進(jìn)行傳輸*/

        5) else

        6) calculate TSV,temporary address← TSV,inner-layer

        routing;

        7) else if(Zd<Zc)

        8) 處理方式同上;

        9) else

        10) intra-layer routing;

        由上所述,本文提出的自適應(yīng)單播路由算法在當(dāng)前節(jié)點(diǎn)選擇最佳的輸出端口后,在接下來的路由器中循環(huán)執(zhí)行判斷邏輯,所以該算法的時(shí)間復(fù)雜度為O(N),N為網(wǎng)絡(luò)中每一維的節(jié)點(diǎn)數(shù)目。

        3.3 死鎖恢復(fù)與免活鎖

        在三維片上網(wǎng)絡(luò)架構(gòu)中采用自適應(yīng)路由算法很可能會(huì)引起死鎖。如圖1 所示,當(dāng)節(jié)點(diǎn)(1,0,1)向節(jié)點(diǎn)(1,0,0)發(fā)送數(shù)據(jù)包,同時(shí)節(jié)點(diǎn)(2,0,0)向節(jié)點(diǎn)(2,0,1)發(fā)送數(shù)據(jù)包,兩條傳輸路徑相互占用資源,形成死鎖。本文采用RAB(Random-Access-Buffer)[7]進(jìn)行死鎖恢復(fù)。在沒有死鎖的情況下采用FIFO緩存管理機(jī)制,一旦檢測(cè)到死鎖,RAB會(huì)放棄緩存中正在執(zhí)行的請(qǐng)求,尋找允許的請(qǐng)求進(jìn)行緩存釋放,進(jìn)而打破死鎖恢復(fù)網(wǎng)絡(luò)狀態(tài)。

        因?yàn)楸疚目紤]網(wǎng)絡(luò)中的擁塞和故障信息,使得數(shù)據(jù)包在傳輸時(shí),由于多次避免擁塞和故障的節(jié)點(diǎn)導(dǎo)致活鎖現(xiàn)象發(fā)生。所以本文采用跳數(shù)限制避免活鎖,具體方法是如果數(shù)據(jù)包記錄的跳數(shù)超過設(shè)定的閾值,本文算法對(duì)路徑的選擇將只進(jìn)行故障的判斷,從而避免了活鎖。

        4 實(shí)驗(yàn)仿真

        4.1 數(shù)據(jù)包設(shè)計(jì)

        根據(jù)記錄表中的內(nèi)容和路由算法的特性,本文設(shè)計(jì)出對(duì)應(yīng)的數(shù)據(jù)包結(jié)構(gòu),如圖2所示。其中數(shù)據(jù)包分為兩類:1)單播包,用來進(jìn)行數(shù)據(jù)傳輸;2)廣播包,用來建立和更新記錄表。本文采用蟲孔路由器,數(shù)據(jù)傳輸?shù)淖钚挝皇俏⑵?,微片大小?2 b。路由器根據(jù)前2 b進(jìn)行頭微片、體微片和尾微片的類型區(qū)分,其中頭微片帶有跳數(shù)和目的地址等信息,體微片和尾微片攜帶傳輸?shù)臄?shù)據(jù)。當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),及時(shí)更新記錄表可以減少傳輸延時(shí)和功耗開銷,所以用于更新記錄表的廣播包具有比單播包更高的優(yōu)先級(jí),因此用第3 b代表包的優(yōu)先級(jí)(Pri):1代表高優(yōu)先級(jí);0代表低優(yōu)先級(jí)。Temp字段為1代表數(shù)據(jù)包包含臨時(shí)目的地址,Temp為0代表數(shù)據(jù)包包含真實(shí)目的地址。Hop字段記錄數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)奶鴶?shù),大小為7 b。Xd、Yd、Zd分別代表目的地址的X、Y、Z軸坐標(biāo),因?yàn)樵O(shè)定拓?fù)浣Y(jié)構(gòu)為32×32×32,所以每一維的坐標(biāo)需要用5 b表示。其中Hop和坐標(biāo)地址所需的位數(shù)根據(jù)拓?fù)浣Y(jié)構(gòu)大小而相應(yīng)地改變。Ext字段可供以后進(jìn)行擴(kuò)展來使用。

        圖2 數(shù)據(jù)包結(jié)構(gòu)Fig.2 Packet structure

        4.2 性能仿真分析

        本文采用臺(tái)灣大學(xué)開發(fā)的Access Noxim開源仿真器進(jìn)行網(wǎng)絡(luò)性能仿真,它將 Noxim和 HopSpot結(jié)合,使得 Access Noxim支持網(wǎng)絡(luò)模型、功率模型和熱模型的3D NoC仿真。

        為了說明算法的性能,實(shí)驗(yàn)將算法應(yīng)用到不同規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu),并且采用了兩種流量模型進(jìn)行目的地址的選擇。由于文獻(xiàn)[9]和文獻(xiàn)[11]使用兩個(gè)虛通道避免死鎖,為了實(shí)驗(yàn)的公平起見,本實(shí)驗(yàn)使用RAB死鎖恢復(fù)機(jī)制代替虛通道。

        表3 實(shí)驗(yàn)參數(shù)設(shè)置Tab.3 Setting of experimental parameters

        4.2.1 網(wǎng)絡(luò)平均延時(shí)

        在不同的數(shù)據(jù)包注入率下,4種算法在不同網(wǎng)絡(luò)規(guī)模下的平均延時(shí)如圖3和圖4所示。單個(gè)數(shù)據(jù)包的延時(shí)是指數(shù)據(jù)包的頭微片進(jìn)入網(wǎng)絡(luò)到目的節(jié)點(diǎn)接收尾微片的這段時(shí)間。平均延時(shí)是指多個(gè)數(shù)據(jù)包延時(shí)的平均值。數(shù)據(jù)包注入率是指每個(gè)IP核在每個(gè)時(shí)鐘周期下向網(wǎng)絡(luò)中注入數(shù)據(jù)包的速度。

        在Random流量模型下,由于本文考慮到各輸入端口的緩存占用信息,在傳輸數(shù)據(jù)包時(shí)會(huì)判斷選擇最優(yōu)路徑,所以在注入率較低時(shí),平均延時(shí)高于文獻(xiàn)[9]和文獻(xiàn)[11]的算法。但在兩種網(wǎng)絡(luò)規(guī)模下,當(dāng)注入率分別大于0.028和0.02時(shí),由于文獻(xiàn)[9]和文獻(xiàn)[11]算法只考慮水平和垂直連接的故障,導(dǎo)致?lián)砣那闆r發(fā)生,所以平均延時(shí)高于本文算法。文獻(xiàn)[12]和本文的平均延時(shí)情況很接近,原因是它也同樣考慮了層內(nèi)緩存占用信息。

        圖3 4×4×4網(wǎng)絡(luò)規(guī)模下的平均延時(shí)Fig.3 Average delay under 4×4×4 network size

        圖4 6×6×6網(wǎng)絡(luò)規(guī)模下的平均延時(shí)Fig.4 Average delay under 6×6×6 network size

        在Shuffle流量模型下,文獻(xiàn)[9]和文獻(xiàn)[11]算法在 4×4×4網(wǎng)絡(luò)規(guī)模并且注入率大于0.015時(shí),平均延時(shí)均高于本文算法。文獻(xiàn)[12]算法在注入率小于0.016時(shí)依舊與本文有著接近的平均延時(shí),但在注入率大于0.016后,平均延時(shí)高于本文。這是因?yàn)镾huffle流量模型以層間傳輸數(shù)據(jù)包為主,本文額外考慮了垂直方向的緩存占用信息,當(dāng)注入過多的數(shù)據(jù)包時(shí),可以減少層間傳輸?shù)膿砣闆r,使得平均延時(shí)低于文獻(xiàn)[12]算法。6×6×6網(wǎng)絡(luò)規(guī)模下的情況與上述類似,但因?yàn)榫W(wǎng)絡(luò)規(guī)模的增加,所有算法的平均延時(shí)都有所增加。

        4.2.2 網(wǎng)絡(luò)吞吐率

        吞吐率是指網(wǎng)絡(luò)接收或發(fā)送消息的速率,實(shí)驗(yàn)以flit為網(wǎng)絡(luò)中基本傳輸單位,所以吞吐率的大小可以用每個(gè)節(jié)點(diǎn)在每個(gè)時(shí)鐘周期下傳輸?shù)膄lit數(shù)量來衡量。吞吐率的理論計(jì)算公式如下:

        其中:Throughput指網(wǎng)絡(luò)吞吐率,吞吐率越高表明網(wǎng)絡(luò)可以處理的數(shù)據(jù)包越多;Nrouter指網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量,與網(wǎng)絡(luò)規(guī)模有關(guān);T指實(shí)驗(yàn)的仿真時(shí)間;PN指在T時(shí)間內(nèi)成功到達(dá)目的節(jié)點(diǎn)的數(shù)據(jù)包總數(shù);Lengthi指第i個(gè)數(shù)據(jù)包的大小(包含flit的數(shù)量)。

        圖5和圖6為在兩種網(wǎng)絡(luò)規(guī)模下4種算法的吞吐率比較。

        圖5 4×4×4網(wǎng)絡(luò)規(guī)模下的吞吐率Fig.5 Throughput under 4×4×4 network size

        可以看出隨著注入率的增加,本文算法比文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]算法都有優(yōu)勢(shì),在Random流量模型下本文算法的優(yōu)勢(shì)并不明顯,但在Shuffle流量模型下本文的吞吐率較其他三個(gè)算法有明顯的優(yōu)勢(shì)。其原因是各節(jié)點(diǎn)的緩存使用率隨著數(shù)據(jù)包注入率的增加而逐漸提高,對(duì)于以層間數(shù)據(jù)包傳輸為主的Shuffle流量模型,本文算法不會(huì)因?yàn)楸茏尮收隙鴮?dǎo)致某一層或某一節(jié)點(diǎn)發(fā)生擁塞。

        另外由于文獻(xiàn)[9]算法選擇的TSV地址直接從寄存器中讀取,當(dāng)存儲(chǔ)的TSV發(fā)生故障,即便有可用的TSV也無法進(jìn)行層間傳輸,導(dǎo)致網(wǎng)絡(luò)提前趨于飽和,在兩種流量模型下的吞吐率均低于其他三個(gè)算法。

        4.2.3 可靠性

        數(shù)據(jù)包的丟棄是因?yàn)閭鬏斅窂街械腡SV故障或網(wǎng)絡(luò)中的資源不足,因此可以用丟包率衡量算法的可靠性。本文計(jì)算了兩種網(wǎng)絡(luò)規(guī)模下算法的丟包率,結(jié)果如圖7所示。

        圖6 6×6×6網(wǎng)絡(luò)規(guī)模下的吞吐率Fig.6 Throughput under 6×6×6 network size

        圖7 兩種網(wǎng)絡(luò)規(guī)模下的丟包率Fig.7 Rate of losing packet under two network sizes

        文獻(xiàn)[12]和文獻(xiàn)[11]算法由于沒考慮垂直方向的緩存,當(dāng)層間傳輸發(fā)生擁塞時(shí),便會(huì)丟棄數(shù)據(jù)包。文獻(xiàn)[9]算法在傳輸數(shù)據(jù)包時(shí)靜態(tài)地選擇TSV,所以當(dāng)TSV發(fā)生故障,文獻(xiàn)[9]算法不得不丟棄數(shù)據(jù)包,而且隨著故障率的增加,數(shù)據(jù)包的丟棄變得越來越頻繁。本文算法通過綜合考慮記錄表中的信息,躲避了故障的連接并緩解了擁塞的情況,在故障率為5%時(shí),兩種網(wǎng)絡(luò)模型下的丟包率分別為2.4%和2.8%;在故障率為50%時(shí),丟包率分別為25.5%和29.5%。

        4.3 記錄表的開銷分析

        根據(jù)本文記錄表的結(jié)構(gòu),保存記錄表所需寄存器大小的計(jì)算公式如下:

        其中:Regbit表示寄存器的大小;fault表示鏈路或路由器是否故障,需要1 b;intrabuff表示層內(nèi)鄰節(jié)點(diǎn)緩存占用信息;interbuff已在式(1)中介紹;本文設(shè)置緩存深度為8 flit,所以intrabuff和interbuff均需要3 b;pc表示節(jié)點(diǎn)的坐標(biāo)信息;hop表示當(dāng)前節(jié)點(diǎn)到TSV的跳數(shù),其中根據(jù)網(wǎng)絡(luò)規(guī)模的不同,pc和hop需要的位數(shù)也不同。

        表4給出了具體網(wǎng)絡(luò)規(guī)模下保存記錄表所需的硬件開銷。在層內(nèi)網(wǎng)絡(luò)規(guī)模為N×N時(shí),文獻(xiàn)[11]的硬件開銷為2N2;文獻(xiàn)[12]的硬件開銷為24 lb N+8;本文的硬件開銷為24 lb N+48。由上述可知,隨著網(wǎng)絡(luò)規(guī)模的增加,文獻(xiàn)[11]的表開銷呈劇烈的增長(zhǎng),而文獻(xiàn)[12]和本文的表開銷增長(zhǎng)緩慢。

        表4 記錄表的硬件開銷Tab.4 Hardware overhead of record table

        5 結(jié)語

        本文主要針對(duì)非全互連3D NoC的拓?fù)浣Y(jié)構(gòu)提出基于記錄表的自適應(yīng)單播路由算法。該表不僅記錄了TSV的位置信息也記錄了緩存占用和故障信息,而且在較大的網(wǎng)絡(luò)規(guī)模下比文獻(xiàn)[11]算法的表開銷要小得多;仿真實(shí)驗(yàn)結(jié)果表明,本文算法的可靠性優(yōu)于其他三個(gè)算法,并且在平均延時(shí)和吞吐率性能指標(biāo)上均有一定的優(yōu)勢(shì)。尤其在Shuffle流量模型下,當(dāng)注入率高于0.02時(shí),本文算法的網(wǎng)絡(luò)還沒有達(dá)到飽和,而其他兩個(gè)算法的網(wǎng)絡(luò)趨于飽和狀態(tài)。當(dāng)層內(nèi)網(wǎng)絡(luò)規(guī)模小于8×8時(shí),本文算法的表開銷過大,這是本文算法的不足。為了進(jìn)一步提高非全互連3D NoC的網(wǎng)絡(luò)性能,表結(jié)構(gòu)的優(yōu)化以及非全互連3D NoC的多播路由算法都是以后需要解決的問題。

        猜你喜歡
        記錄表路由器數(shù)據(jù)包
        買千兆路由器看接口參數(shù)
        2022.04.21~2022.05.20國(guó)外運(yùn)載火箭發(fā)射記錄表
        太空探索(2022年6期)2022-06-23 06:25:26
        2022.1.21~2022.2.20國(guó)外運(yùn)載火箭發(fā)射記錄表
        太空探索(2022年3期)2022-03-28 08:21:52
        2021.01.21~2021.02.20 國(guó)外運(yùn)載火箭發(fā)射記錄表
        太空探索(2021年3期)2021-03-19 09:14:00
        2020.7.21~2020.8.20國(guó)外運(yùn)載火箭發(fā)射記錄表
        太空探索(2020年9期)2020-09-16 10:56:16
        SmartSniff
        你所不知道的WIFI路由器使用方法?
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
        無線路由器輻射可忽略
        日产精品99久久久久久| 午夜视频福利一区二区三区| 亚洲综合小综合中文字幕| 亚洲天堂中文字幕君一二三四| 日本一区二区不卡二区| 最近中文字幕国语免费| 亚洲精品无码不卡av| 精品国产AⅤ一区二区三区V免费| 亚洲码专区亚洲码专区| 深夜放纵内射少妇| 欧美gv在线观看| 国产真实露脸4p视频| 国产在线视频网站不卡| 美利坚日韩av手机在线| 极品av麻豆国产在线观看| 99热最新在线观看| 少妇又紧又色又爽又刺| 制服丝袜一区二区三区 | 开心久久综合婷婷九月| 疯狂三人交性欧美| 人与嘼交av免费| 九九精品国产99精品| 精品国产一区二区三区香| 国产亚洲精品精品精品| 欧洲色综合| av在线手机中文字幕| 日本强伦姧人妻一区二区| a人片在线观看苍苍影院| 久久久久亚洲AV片无码乐播| 一本大道久久a久久综合精品| 亚洲第一最快av网站| 午夜探花在线观看| 亚洲av中文字字幕乱码| 亚洲 欧美 偷自乱 图片| 人妻少妇精品中文字幕av蜜桃| 久久精品成人91一区二区| 国产激情一区二区三区成人 | 日本口爆吞精在线视频| 亚洲天码一区二区三区| 午夜理论片yy6080私人影院 | 亚洲日日噜噜噜夜夜爽爽|