国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種帶優(yōu)化約束的分布式NoC設(shè)計與實現(xiàn)

2021-12-10 03:57:08王正茂宋宇鯤王澤中張多利
關(guān)鍵詞:源端路由鏈路

王正茂, 宋宇鯤, 侯 寧, 王澤中, 張多利

(1.合肥工業(yè)大學 微電子學院,安徽 合肥 230601; 2.河南城建學院 電氣與控制工程學院,河南 平頂山 467036)

隨著工藝進步,單個芯片內(nèi)已能集成數(shù)以百計的內(nèi)核,此時,傳統(tǒng)總線或分段總線結(jié)構(gòu)的擴展性差、并行通信能力弱的缺陷使得其無法滿足現(xiàn)代多核芯片對內(nèi)部通訊性能的要求[1]。誕生于20世紀末的片上網(wǎng)絡(luò)(network-on-chip,NoC)技術(shù)被業(yè)界認為是一種從體系結(jié)構(gòu)上解決上述問題的有效技術(shù)途徑[2]。目前多核芯片通常集成有多種功能定制化網(wǎng)絡(luò),即網(wǎng)絡(luò)功能正交化,將不同功能分置于專用定制網(wǎng)絡(luò)上,例如,Tilera公司的Tile系列多核處理器集成有靜態(tài)網(wǎng)絡(luò)(STN)、單元動態(tài)網(wǎng)絡(luò)(TDN)、用戶動態(tài)網(wǎng)絡(luò)(UDN)、存儲動態(tài)網(wǎng)絡(luò)(MDN)、IO動態(tài)網(wǎng)絡(luò)(IDN)等5種獨立功能網(wǎng)絡(luò)[3];TI公司的多核DSP TMS320C6678內(nèi)部任務(wù)控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)也是相互對立的[4];TRIPS處理器內(nèi)部設(shè)置了指令、數(shù)據(jù)和控制通道分離的設(shè)計結(jié)構(gòu)[5]。NoC作為片上通訊載體,其性能是決定整個多核系統(tǒng)運算性能的重要因素,因此有關(guān)NoC拓撲結(jié)構(gòu)、路由算法和交換機制等相關(guān)技術(shù)始終是研究的主要熱點。

1 相關(guān)研究

依據(jù)鏈路建立過程,NoC可分為集中控制和分布式控制兩大類[6]。

集中控制由一個中央節(jié)點負責定期收集網(wǎng)絡(luò)狀態(tài),再計算產(chǎn)生各條鏈路的全路徑路由配置信息,管理各個路由節(jié)點的路由方向;分布式控制是網(wǎng)絡(luò)中的各個節(jié)點根據(jù)目的節(jié)點的相對位置和自身周邊節(jié)點狀態(tài),在本地獨立地計算后繼有限范圍內(nèi)的節(jié)點位置。綜合考慮實現(xiàn)復雜性和網(wǎng)絡(luò)性能后,目前多數(shù)NoC采用分布式結(jié)構(gòu)[6]。

分布式控制網(wǎng)絡(luò)的鏈路分為有效鏈路和無效鏈路2種情況,前者指完成了數(shù)據(jù)傳輸?shù)逆溌?后者指鏈路建立失敗或鏈路成功而目的端無效的情況,稱此鏈路為無效鏈路。為保證數(shù)據(jù)傳輸時效性,發(fā)起端在檢測到無效鏈路后,應(yīng)等待若干時間后再次嘗試建立鏈路,直至數(shù)據(jù)傳輸成功[7]。

對鏈路擁堵造成NoC性能下降的問題,文獻[8]提出一種可以根據(jù)當前路由負載狀態(tài)進行算法切換的動態(tài)混合路由設(shè)計,該路由可根據(jù)負載狀態(tài),在確定路由和多負載均衡路由間自行切換,在一定程度上降低關(guān)鍵路由的繁忙率,緩解路由擁塞;文獻[9]針對NoC中存在多種與時間相關(guān)的流量負載情況,設(shè)計了一種針對特定拓撲結(jié)構(gòu)的全局鏈路管理機制,通過監(jiān)視網(wǎng)絡(luò)狀態(tài),動態(tài)調(diào)整每個鏈路的具體路由算法,來獲得高負載平衡和高吞吐量;文獻[10]提出了一種基于曼哈頓距離的多播自適應(yīng)路由方案,該方案通過引入的特定約束,避免了死鎖和活鎖的影響,實現(xiàn)更好的平均流量分配,提高了網(wǎng)絡(luò)性能;文獻[11]提出一種新型路由內(nèi)部優(yōu)先級仲裁方法,該方法有效提高了NoC飽和流量值;Spider-Donut網(wǎng)絡(luò)半徑小于2D網(wǎng)絡(luò),文獻[12]研究了一種用于Spider-Donut網(wǎng)絡(luò)的無死鎖路由算法,實現(xiàn)均衡的片上流量,進而提高整個網(wǎng)絡(luò)性能;文獻[13]在NoC路由器中使用基于遺傳算法的鏈路負載平衡技術(shù),實現(xiàn)快速流量均衡分配,避免負載不均衡帶來的鏈路擁堵狀況。

上述研究工作的重心集中于通過優(yōu)化路由算法平衡網(wǎng)絡(luò)負載,緩解NoC中擁堵問題,處理對象是有效鏈路,沒有考慮無效鏈路因素,隨著NoC規(guī)模不斷擴展,節(jié)點布局密度趨近1,高注入率下,無效鏈路對整個網(wǎng)絡(luò)性能的影響已無法被忽視。為此,本文在已有NoC相關(guān)研究的基礎(chǔ)上,從減少無效鏈路數(shù)量的角度出發(fā),提出了一種受約束分布式片上網(wǎng)絡(luò)機制(constrained distributed NoC mechanism,CDNM),設(shè)計出一種目的端狀態(tài)追蹤機制和鏈路維持協(xié)議,進一步降低NoC片上擁堵率,提升大通訊量NoC系統(tǒng)的整體性能。本文提出的受約束分布式NoC可以用于不同路由方式,具有良好的適用性。

2 改進分布式網(wǎng)絡(luò)設(shè)計實現(xiàn)

本文從面向計算密集型和數(shù)據(jù)密集型任務(wù)的多核系統(tǒng)內(nèi)部數(shù)據(jù)交互需求出發(fā),結(jié)合多核系統(tǒng)編程模型規(guī)范,通過將目的端狀態(tài)引入分布式網(wǎng)絡(luò),構(gòu)建了一種基于兩端狀態(tài)條件約束的分布式NoC,包括一種目的端狀態(tài)快速傳輸方案和基于這一方案的鏈路建立規(guī)則,以及一種鏈路維持協(xié)議。

2.1 改進網(wǎng)絡(luò)概述

本文設(shè)計的NoC采用三重網(wǎng)絡(luò)結(jié)構(gòu)組成,包括數(shù)據(jù)網(wǎng)絡(luò)、狀態(tài)網(wǎng)絡(luò)和配置網(wǎng)絡(luò)。狀態(tài)網(wǎng)絡(luò)將網(wǎng)絡(luò)中各功能節(jié)點狀態(tài)信息上傳至主控制器,各功能節(jié)點的配置和管理信息通過配置網(wǎng)下行到各功能節(jié)點,形成一個閉環(huán)的管理機制。數(shù)據(jù)網(wǎng)絡(luò)采用“包-電路交換”(packet-connected circuit,PCC)機制、Mesh拓撲結(jié)構(gòu)和回退轉(zhuǎn)向路由算法。

改進的分布式網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 改進的分布式網(wǎng)絡(luò)結(jié)構(gòu)

PCC通過包交換方式建立鏈路,再通過電路交換方式傳輸數(shù)據(jù),是一種適合大批量數(shù)據(jù)傳輸任務(wù)的NoC機制。

本文設(shè)計的數(shù)據(jù)網(wǎng)絡(luò)中數(shù)據(jù)傳輸是由源端主導,即源端負責鏈路的建立,配置目的端坐標,而目的端無需知道源端坐標。當源端單元數(shù)據(jù)就緒,通過發(fā)送控制單元獲得當前數(shù)據(jù)的目的端坐標和數(shù)量信息,并將數(shù)據(jù)打包后經(jīng)數(shù)據(jù)網(wǎng)絡(luò)傳遞至目的單元的接收控制器進行解包操作,最終解包后的數(shù)據(jù)寫入目的單元。

2.2 改進的分布式鏈路機制

本文設(shè)計的數(shù)據(jù)網(wǎng)絡(luò)工作流程如圖2所示,這里使用數(shù)據(jù)網(wǎng)Feedback操作在鏈路建立成功后獲取目的端狀態(tài),用狀態(tài)廣播的方法在未建立鏈路時獲取目的端從無效變?yōu)橛行У氖录?從而實現(xiàn)對目的端的狀態(tài)追蹤。

圖2 數(shù)據(jù)傳輸流程

源端在有效后建立鏈路,一旦鏈路建立成功,使用Feedback操作判斷目的端的狀態(tài)。若目的端也有效,則開始一次數(shù)據(jù)傳輸;否則撤銷鏈路,并且監(jiān)聽配置網(wǎng)的廣播信息,直到收到目的端變?yōu)橛行У男盘?才重新建立鏈路。

源端在一次傳輸完成后,再次使用Feedback操作,獲取目的端是否有效的狀態(tài)。若此時雙端都依然有效,則直接開始下一次的數(shù)據(jù)傳輸;否則撤銷鏈路,直到雙端都有效后才重新建立鏈路。

2.2.1 鏈路反饋機制

本文在傳統(tǒng)網(wǎng)絡(luò)的單向鏈路的基礎(chǔ)上增加了鏈路反饋能力,允許從目的端到源端的信息反饋。該機制可以使源端利用建立好的鏈路快速獲取目的端狀態(tài)。

2.2.2 狀態(tài)追蹤機制

本文使用源端控制為主的數(shù)據(jù)傳輸機制,該機制的工作效果受對目的端狀態(tài)監(jiān)測效率的影響,因此需要建立一套實時追蹤目的端狀態(tài)變化信號的策略。前述提到的狀態(tài)廣播機制和鏈路反饋機制用于解決這一問題,實現(xiàn)源端對目的端的狀態(tài)追蹤。

源端、目的端的狀態(tài)表在以下情況更新:

(1) 收到某個節(jié)點準備好的廣播,且廣播信息中的坐標與當前目的節(jié)點坐標相同,更新目的端狀態(tài)dst-ready=true。

(2) 在鏈路建立成功后或者發(fā)送完一個數(shù)據(jù)包后,收到目的端利用鏈路反饋機制通過數(shù)據(jù)網(wǎng)鏈路反饋的信號,根據(jù)此反饋信號更新目的端狀態(tài)dst-ready=true或者dst-ready=false。

(3) 在源端切換目的之后,由于之前未在狀態(tài)網(wǎng)監(jiān)聽該坐標,此時無法知道目的端狀態(tài),默認dst-ready=true;對應(yīng)圖2中開始后,如果源端有效直接建立鏈路,那么通過一次嘗試連接來確定目的節(jié)點狀態(tài)。

2.2.3 Keep-alive機制

包-電路交換策略雖然結(jié)合了包交換和電路交換的優(yōu)點,但過多的鏈路建立和撤銷影響通訊效率。為解決此問題,本文提出一種Keep-alive機制,即在一次包傳輸完成后,若條件滿足,則直接傳輸下一個包,省去了鏈路重建過程。在傳統(tǒng)架構(gòu)中,傳輸多個數(shù)據(jù)包過程如圖3所示。

圖3 NoC傳輸多個數(shù)據(jù)包示意圖

該過程包括源端發(fā)送頭包(H)請求建立鏈路,目的端應(yīng)答(A)、數(shù)據(jù)傳輸(D)、發(fā)送結(jié)束信號(E)、鏈路取消(C)。傳統(tǒng)結(jié)構(gòu)需要執(zhí)行2次完整的鏈路建立/數(shù)據(jù)傳輸/撤銷的過程才能完成2次獨立的數(shù)據(jù)傳輸。這勢必會造成一定的網(wǎng)絡(luò)性能損失。

本文設(shè)計的數(shù)據(jù)網(wǎng)為了提高效率,引入Keep-alive機制,允許一次建立鏈路發(fā)送多個數(shù)據(jù)包,其原理是在當前數(shù)據(jù)傳輸完成后,直接利用鏈路反饋機制獲取目的端是否準備的信號,再由源端結(jié)合本地輸出數(shù)據(jù)狀態(tài)和當前地址隊列輸出判斷是否滿足繼續(xù)傳輸?shù)臈l件;若滿足,則繼續(xù)傳輸,省去了撤銷鏈路再重新建立鏈路的過程。

具體的改進是將原本“包-電路連接”協(xié)議中的Cancel信號改為反饋(Feedback)信號,用于目的端向源端反饋是目的端當前狀態(tài)信息,如果目的端處于有效狀態(tài),那么源端直接發(fā)送,在此過程中既有鏈路不會被撤銷。Keep-alive協(xié)議的執(zhí)行過程包括以下步驟:

(1) 目的端收到當前數(shù)據(jù)包的最后一個數(shù)據(jù)時,通過數(shù)據(jù)網(wǎng)反饋通道通知源端、目的端當前是否處于有效狀態(tài)。

(2) 源端收到數(shù)據(jù)網(wǎng)反饋回來的目的端狀態(tài)后,同時檢測源端數(shù)據(jù)有效、目的端有效、目的端地址等于目標隊列輸出地址等3個條件;若3個條件成立,則開始新的一輪數(shù)據(jù)發(fā)送操作。

3 硬件設(shè)計

3.1 信號定義

為實現(xiàn)分布式鏈路控制機制和鏈路生命延長協(xié)議,本文在經(jīng)典PCC網(wǎng)絡(luò)基礎(chǔ)上進行硬件改進設(shè)計,使用發(fā)送控制器和接收控制器完成功能節(jié)點到數(shù)據(jù)網(wǎng)之間的數(shù)據(jù)格式轉(zhuǎn)換工作,因此數(shù)據(jù)網(wǎng)絡(luò)協(xié)議適用于發(fā)送控制器與路由節(jié)點之間、路由節(jié)點之間、路由節(jié)點與接收控制器之間。發(fā)送控制器和接收控制器,既可單獨使用,也可成對使用。所設(shè)計的片上數(shù)據(jù)網(wǎng)絡(luò)協(xié)議由Cmd信號、Data信號和Feedback信號共同實現(xiàn),其在數(shù)據(jù)網(wǎng)絡(luò)中的組織連接關(guān)系如圖4所示。

圖4 數(shù)據(jù)網(wǎng)組織連接關(guān)系

(1) Cmd信號。3位位寬,用于源端向目的端的指令發(fā)送,包括源端向路由節(jié)點發(fā)起的鏈路建立請求、數(shù)據(jù)有效信號和數(shù)據(jù)包發(fā)送完成信號等。

(2) Data信號。64位位寬,根據(jù)Cmd[2]=1時Data信號有效,Data數(shù)據(jù)有2個功能,在鏈路建立階段低16位承載目的節(jié)點坐標,此時Cmd[1:0]=1;在數(shù)據(jù)傳輸階段用于承載數(shù)據(jù),此時Cmd[1:0]=2或3。

(3) Feedback信號。3位位寬,用于目的端向源端的反饋,包括目的端節(jié)點向源端節(jié)點的狀態(tài)反饋、下游路由節(jié)點向上游路由節(jié)點的反饋、路由節(jié)點向源端發(fā)送控制器的反饋等。

3.2 硬件實現(xiàn)

由3.1節(jié)的介紹可知,本文設(shè)計的片上數(shù)據(jù)網(wǎng)硬件部分由發(fā)送控制器、接收控制器和路由器3個部分組成。

3.2.1 發(fā)送控制器

發(fā)送控制器根據(jù)數(shù)據(jù)網(wǎng)絡(luò)協(xié)議對功能節(jié)點輸出數(shù)據(jù)進行封包和發(fā)送操作,同時完成與路由器之間的握手操作,以及接收主控制器通過配置網(wǎng)下發(fā)的目標隊列和其他控制。作為數(shù)據(jù)傳輸?shù)陌l(fā)起方和傳輸控制方,發(fā)送控制器必須能夠應(yīng)對復雜的傳輸協(xié)議,本文設(shè)計的發(fā)送控制器的核心是一個狀態(tài)機,其狀態(tài)轉(zhuǎn)移圖如圖5所示,共設(shè)置了10個狀態(tài)。

圖5 發(fā)送控制器狀態(tài)轉(zhuǎn)移圖

發(fā)送控制器復位后處于IDLE狀態(tài),當目標隊列非空且源節(jié)點有數(shù)據(jù)需要發(fā)送,即valid信號為高時,進入TRY-TO-CONNECT狀態(tài),此過程中從目標隊列FIFO中取出一個目標的信息,包括目標坐標、包大小和包數(shù)量。在TRY-TO-CONNECT狀態(tài)等待接收反饋信號,收到的反饋有3種可能:

(1) 鏈路建立失敗,進入CONNECT-FAILED狀態(tài)。

(2) 目標節(jié)點無效,進入WAIT-CONNECT狀態(tài)。

(3) 目標節(jié)點有效,進入SEND-BEGIN狀態(tài)。

SEDN-BEGIN狀態(tài)用于計數(shù)包個數(shù),該狀態(tài)直接進入SENDING狀態(tài)。SENDING狀態(tài)用于發(fā)送數(shù)據(jù),直到當前數(shù)據(jù)包發(fā)送完成進入SEND-END狀態(tài)。在SEND-END狀態(tài),若當前節(jié)點的包數(shù)量達到,則進入NEXT-DST狀態(tài);若源端無效,則進入WAIT-VALID狀態(tài);否則進入WAIT-SEND狀態(tài);在WAIT-SEND狀態(tài)等待接收來自目標節(jié)點的反饋,若目標節(jié)點未準備好接收下一個數(shù)據(jù)包,則進入WAIT-CONNECT狀態(tài);否則進入TRY-TO-CONNECT狀態(tài)。在WAIT-VALID狀態(tài)等待源端有數(shù)據(jù)發(fā)送,進入TRY-TO-CONNECT狀態(tài)。在WAIT-CONNECT狀態(tài)等待收到目的節(jié)點準備好的廣播,進入TRY-TO-CONNECT狀態(tài)。在NEXT-DST狀態(tài)直接進入IDLE狀態(tài)。在CONNECT-FAILED狀態(tài)等待一定周期數(shù),進入TRY-TO-CONNECT狀態(tài)。

3.2.2 路由節(jié)點

本文設(shè)計的數(shù)據(jù)網(wǎng)沿用了“包-電路連接”協(xié)議,每個路由節(jié)點有5個輸入端和5個輸出端,每個方向的輸入/輸出端口連接二維網(wǎng)格中一個方向的相鄰路由器的輸出/輸入端口,每個輸入端有1個輸入控制器用于控制路由方向,其結(jié)構(gòu)如圖6所示。

圖6 路由節(jié)點結(jié)構(gòu)

每個方向的Input-controller在需要請求輸出端口時向Arbiter發(fā)送請求信號,經(jīng)過Arbiter裁決后將相應(yīng)的輸出端口分配給該輸入控制器。若一個輸入控制器請求的端口被別的輸入控制器搶先占用,則無法申請到該輸出端口,裁決器會反饋相應(yīng)的失敗信號。

Input-controller負責地址的解碼和路由方向選擇,以實現(xiàn)回退轉(zhuǎn)向路由的功能,其狀態(tài)轉(zhuǎn)移圖如圖7所示,該模塊的狀態(tài)機共有8種狀態(tài)。

圖7 路由節(jié)點狀態(tài)轉(zhuǎn)移圖

路由器復位后進入IDLE狀態(tài),在任何一個狀態(tài)如果收到源端的鏈路撤銷請求,即發(fā)現(xiàn)源端口斷開,都進入IDLE狀態(tài)。在IDLE狀態(tài)收到鏈路建立請求進入START-CONNECTING狀態(tài)。在START-CONNECTING狀態(tài),若目標地址為本地地址,則進入CONNECT-LOCAL狀態(tài);若目標地址與本地地址在同一行,則進入CONNECT-2nd狀態(tài);否則進入CONNECT-1st狀態(tài)。在CONNECT-1st狀態(tài)請求左或右端口,若一定周期后未請求到端口,或者收到鏈路失敗的反饋,則進入SWITCH狀態(tài);若收到來自目的端的取消鏈路反饋,則進入CONNECT-CANCELED狀態(tài)。在SWITCH狀態(tài)判斷若目標地址與本地地址在同一列,則進入FAILED狀態(tài);否則進入CONNECT-2nd狀態(tài)。在CONNECT-2nd狀態(tài)請求上或下端口,若一定周期后未請求到端口,或者收到鏈路失敗的反饋,則進入FAILED狀態(tài);若收到來自目的端的取消鏈路反饋,則進入CONNECT-CANCELED狀態(tài)。在FAILED狀態(tài)向上級路由節(jié)點反饋鏈路失敗信息,進入IDLE狀態(tài)。在CONNECT-CANCELED狀態(tài)向上級路由節(jié)點反饋鏈路取消的信息,進入IDLE狀態(tài)。在CONNECT-LOCAL狀態(tài)請求本地端口,若未請求到端口,即裁決器沒有響應(yīng),則進入FAILED狀態(tài);若收到來自目的端的未準備反饋,則進入CONNECT-CANCELED狀態(tài)。

3.2.3 接收控制器

本文設(shè)計的數(shù)據(jù)網(wǎng)的接收控制器負責將網(wǎng)絡(luò)上的數(shù)據(jù)解包成功能節(jié)點可識別的格式并傳輸至功能節(jié)點,同時將功能節(jié)點的當前狀態(tài)送入數(shù)據(jù)網(wǎng)絡(luò)的反饋通道。接收控制器內(nèi)狀態(tài)轉(zhuǎn)移如圖8所示,共有6個狀態(tài)。

圖8 接收控制器狀態(tài)轉(zhuǎn)移圖

接收控制復位后進入IDLE狀態(tài),在任何一個狀態(tài)收到源端的鏈路撤銷請求都進入IDLEING狀態(tài);在IDLE狀態(tài)收到鏈路建立請求進入CONNECTING狀態(tài)。在CONNECTING狀態(tài)判斷功能節(jié)點是否準備好接收數(shù)據(jù),若準備好,則進入SUCCESS狀態(tài);否則進入CANCELED狀態(tài)。在CANCELED狀態(tài)向路由節(jié)點發(fā)送鏈路取消的信息,直接進入IDLE狀態(tài)。在SUCCESS狀態(tài)向路由節(jié)點發(fā)送鏈路成功的信息,直接進入RECEVING狀態(tài)。在RECEVING狀態(tài)接收數(shù)據(jù)并發(fā)送給功能節(jié)點,直到收到包結(jié)束的信號,進入REPORT狀態(tài)。在REPORT狀態(tài)判斷功能節(jié)點是否準備好接收數(shù)據(jù)。若準備好,則直接進入SUCCESS狀態(tài);若沒有準備好,則進入CANCELED狀態(tài)。

4 實驗分析

本文在Xilinx xcuv440-flga2892 FPGA上搭建8×8的網(wǎng)絡(luò)用于測試,資源消耗見表1所列。

表1 資源消耗

為了測試該網(wǎng)絡(luò)的性能,本文使用傳輸效率、平均延遲和鏈路效率作為性能指標。其中傳輸效率指數(shù)據(jù)傳輸時間與鏈路占用時間的比值,鏈路占用時間包括鏈路建立時間、數(shù)據(jù)傳輸時間和鏈路撤銷時間。傳輸效率的計算公式為:

傳輸效率=

(1)

在理想狀態(tài)下傳輸效率趨向于1,在負載增大時由于網(wǎng)絡(luò)節(jié)點出現(xiàn)擁堵,回退轉(zhuǎn)向路由建立鏈路時間增加會造成傳輸效率下降,傳輸效率越高說明網(wǎng)絡(luò)能夠承受越大的負載,網(wǎng)絡(luò)吞吐量越大。

平均延遲指從數(shù)據(jù)準備好發(fā)送到開始傳輸?shù)钠骄鶗r間,平均延遲的計算公式為:

(2)

總延遲為源端和目的端同時準備好到鏈路建立成功之間的時間,平均延遲越低網(wǎng)絡(luò)的實時性越高。

鏈路效率指有效鏈路數(shù)量與總鏈路數(shù)量的比值,為方便統(tǒng)計,本文定義鏈路效率為:

(3)

一般情況下數(shù)據(jù)包數(shù)量即為有效鏈路數(shù)量,理想狀態(tài)下網(wǎng)絡(luò)不發(fā)生擁堵,鏈路建立次數(shù)等于總鏈路數(shù)量,在網(wǎng)絡(luò)負載很高的情況下由于發(fā)生擁堵導致鏈路失敗重連,鏈路成功率下降。鏈路成功率下降的趨勢反映了網(wǎng)絡(luò)負載能力,下降得越慢代表網(wǎng)絡(luò)負載能力越高。

針對目標系統(tǒng)的傳輸需求,本實驗將原先網(wǎng)絡(luò)與優(yōu)化后的網(wǎng)絡(luò)進行對比測試,分別測試在不同通訊負載下的各個性能指標。

實驗在8×8的NoC上進行,分別測試負載為1~64條鏈路下的性能。原先網(wǎng)絡(luò)和優(yōu)化后的網(wǎng)絡(luò)采用相同的隨機負載,模擬資源節(jié)點接收緩沖區(qū)大小為1 024,數(shù)據(jù)包長度為512,資源節(jié)點運算性能為接口帶寬的1/2,鏈路失敗后重連的等待周期數(shù)為256,每批量運算數(shù)據(jù)量為4 096。由于負載的位置對網(wǎng)絡(luò)性能有影響,使用隨機負載的統(tǒng)計結(jié)果存在一定的波動,不影響整體性能的分析。

原先網(wǎng)絡(luò)和優(yōu)化后網(wǎng)絡(luò)在不同負載下的傳輸效率如圖9所示。

圖9 不同負載下的傳輸效率比較

當負載較小時,網(wǎng)絡(luò)不發(fā)生擁堵,傳輸效率較為平穩(wěn),優(yōu)化后的網(wǎng)絡(luò)傳輸效率略高。當負載較小時,狀態(tài)廣播機制可以有效避免目的端未準備時無效的鏈路建立,傳輸效率提升明顯,而Keep-alive通過減小鏈路建立次數(shù)也有一定的提升。當負載增加到13/64后,網(wǎng)絡(luò)發(fā)生擁堵,傳輸效率開始降低,在高負載下,由于鏈路建立成功率降低,Keep-alive協(xié)議能夠盡可能高效地使用鏈路,傳輸效率明顯提高,隨著負載增大優(yōu)化后的網(wǎng)絡(luò)優(yōu)勢越來越明顯,當負載達到100%時,優(yōu)化后的網(wǎng)絡(luò)傳輸效率依然有67%,而優(yōu)化前的網(wǎng)絡(luò)在滿負載時傳輸效率只剩下58%。優(yōu)化后相比優(yōu)化前傳輸效率最高提升15%。

在不同負載下平均延遲的比較如圖10所示。

圖10 不同負載下的平均延遲比較

當負載較低時,網(wǎng)絡(luò)未發(fā)生擁堵,延遲較為穩(wěn)定。在低負載時,狀態(tài)廣播機制可以在目的端準備好后,通過廣播的方式通知源端,從而避免了輪詢機制的高延遲。而沒有狀態(tài)廣播機制的網(wǎng)絡(luò)需要通過輪詢的方式,延遲有較大不確定性,平均延遲較高。當網(wǎng)絡(luò)發(fā)生擁堵,平均延遲都顯著提高,而Keep-alive能夠在條件允許時重復使用之前建立的鏈路,從而在再次傳輸時有著極低的延遲,顯著降低了平均延遲。優(yōu)化后的網(wǎng)絡(luò)滿負載下延遲僅為原先的54%。

不同負載下的鏈路效率結(jié)果如圖11所示。

圖11 不同負載下的鏈路效率比較

Keep-alive機制通過復用鏈路,在網(wǎng)絡(luò)負載較低時鏈路效率有著極高的提升,甚至可以超過100%的鏈路效率。狀態(tài)廣播機制在網(wǎng)絡(luò)發(fā)生擁堵時減少目的端未準備時無效的鏈路嘗試,避免加劇網(wǎng)絡(luò)擁堵,從而提升一部分鏈路效率。綜合2種方法優(yōu)化后的網(wǎng)絡(luò)在各種負載下都有較為明顯的鏈路效率的提升。

在滿負載下測試不同數(shù)據(jù)包長度下的網(wǎng)絡(luò)效率,結(jié)果如圖12所示。在數(shù)據(jù)包長度極小時傳輸效率都趨向于0,在數(shù)據(jù)包長度較小時傳輸效率主要受鏈路建立時間影響,Keep-alive協(xié)議通過減少鏈路建立次數(shù)而獲得一定的優(yōu)勢;在數(shù)據(jù)包長度極大的時候傳輸效率主要受鏈路成功率的影響,狀態(tài)廣播機制通過減小無效嘗試次數(shù)減輕網(wǎng)絡(luò)擁堵,鏈路成功率較高。優(yōu)化后的網(wǎng)絡(luò)在不同數(shù)據(jù)包長度下的傳輸效率都有不同程度的提升。

5 結(jié) 論

本文在傳統(tǒng)包-電路交換技術(shù)框架的網(wǎng)絡(luò)下,增加了Keep-alive協(xié)議和狀態(tài)廣播機制,利用網(wǎng)絡(luò)中現(xiàn)有的配置網(wǎng)和狀態(tài)網(wǎng)提高了網(wǎng)絡(luò)傳輸性能。Keep-alive協(xié)議通過省去向同一個目的節(jié)點發(fā)包的鏈路建立過程,減小了后續(xù)數(shù)據(jù)包的傳輸延遲,也避免了建立鏈路過程中對網(wǎng)絡(luò)的占用,減緩網(wǎng)絡(luò)擁堵情況。狀態(tài)廣播機制解決傳統(tǒng)網(wǎng)絡(luò)中失敗后輪詢的弊端,減小網(wǎng)絡(luò)中非有效數(shù)據(jù)傳輸行為的占用率,從而極大地提高了網(wǎng)絡(luò)性能。

實驗表明,新的機制有完整的功能,應(yīng)對復雜的網(wǎng)絡(luò)狀況有足夠的魯棒性,不會產(chǎn)生死鎖,其性能相比傳統(tǒng)方案有最多13%的提升。

猜你喜歡
源端路由鏈路
家紡“全鏈路”升級
天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
移動通信(2021年5期)2021-10-25 11:41:48
融合源端句法和語義角色信息的AMR解析
基于仿真分析的傳輸線電路特性研究
探究路由與環(huán)路的問題
飛機燃油系統(tǒng)對多路輸入信號源選擇的方法
科技視界(2016年22期)2016-10-18 15:53:02
基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
PRIME和G3-PLC路由機制對比
WSN中基于等高度路由的源位置隱私保護
計算機工程(2014年6期)2014-02-28 01:25:54
eNSP在路由交換課程教學改革中的應(yīng)用
河南科技(2014年5期)2014-02-27 14:08:56
嫩江县| 玛沁县| 鞍山市| 邵阳县| 阳原县| 梁平县| 新营市| 乾安县| 昭平县| 阿拉善盟| 会东县| 唐山市| 缙云县| 宜都市| 蒲江县| 巴中市| 永川市| 汕尾市| 禹州市| 阜阳市| 平和县| 句容市| 萍乡市| 东宁县| 濉溪县| 任丘市| 麻栗坡县| 丰都县| 建宁县| 兴义市| 常州市| 华池县| 十堰市| 清河县| 砀山县| 城口县| 布尔津县| 永嘉县| 乌审旗| 淄博市| 中方县|