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

        ?

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

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

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

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

        隨著工藝進(jìn)步,單個芯片內(nèi)已能集成數(shù)以百計的內(nèi)核,此時,傳統(tǒng)總線或分段總線結(jié)構(gòu)的擴(kuò)展性差、并行通信能力弱的缺陷使得其無法滿足現(xiàn)代多核芯片對內(nèi)部通訊性能的要求[1]。誕生于20世紀(jì)末的片上網(wǎng)絡(luò)(network-on-chip,NoC)技術(shù)被業(yè)界認(rèn)為是一種從體系結(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種獨(dú)立功能網(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)運(yùn)算性能的重要因素,因此有關(guān)NoC拓?fù)浣Y(jié)構(gòu)、路由算法和交換機(jī)制等相關(guān)技術(shù)始終是研究的主要熱點(diǎn)。

        1 相關(guān)研究

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

        集中控制由一個中央節(jié)點(diǎn)負(fù)責(zé)定期收集網(wǎng)絡(luò)狀態(tài),再計算產(chǎn)生各條鏈路的全路徑路由配置信息,管理各個路由節(jié)點(diǎn)的路由方向;分布式控制是網(wǎng)絡(luò)中的各個節(jié)點(diǎn)根據(jù)目的節(jié)點(diǎn)的相對位置和自身周邊節(jié)點(diǎn)狀態(tài),在本地獨(dú)立地計算后繼有限范圍內(nèi)的節(jié)點(diǎn)位置。綜合考慮實(shí)現(xiàn)復(fù)雜性和網(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性能下降的問題,文獻(xiàn)[8]提出一種可以根據(jù)當(dāng)前路由負(fù)載狀態(tài)進(jìn)行算法切換的動態(tài)混合路由設(shè)計,該路由可根據(jù)負(fù)載狀態(tài),在確定路由和多負(fù)載均衡路由間自行切換,在一定程度上降低關(guān)鍵路由的繁忙率,緩解路由擁塞;文獻(xiàn)[9]針對NoC中存在多種與時間相關(guān)的流量負(fù)載情況,設(shè)計了一種針對特定拓?fù)浣Y(jié)構(gòu)的全局鏈路管理機(jī)制,通過監(jiān)視網(wǎng)絡(luò)狀態(tài),動態(tài)調(diào)整每個鏈路的具體路由算法,來獲得高負(fù)載平衡和高吞吐量;文獻(xiàn)[10]提出了一種基于曼哈頓距離的多播自適應(yīng)路由方案,該方案通過引入的特定約束,避免了死鎖和活鎖的影響,實(shí)現(xiàn)更好的平均流量分配,提高了網(wǎng)絡(luò)性能;文獻(xiàn)[11]提出一種新型路由內(nèi)部優(yōu)先級仲裁方法,該方法有效提高了NoC飽和流量值;Spider-Donut網(wǎng)絡(luò)半徑小于2D網(wǎng)絡(luò),文獻(xiàn)[12]研究了一種用于Spider-Donut網(wǎng)絡(luò)的無死鎖路由算法,實(shí)現(xiàn)均衡的片上流量,進(jìn)而提高整個網(wǎng)絡(luò)性能;文獻(xiàn)[13]在NoC路由器中使用基于遺傳算法的鏈路負(fù)載平衡技術(shù),實(shí)現(xiàn)快速流量均衡分配,避免負(fù)載不均衡帶來的鏈路擁堵狀況。

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

        2 改進(jìn)分布式網(wǎng)絡(luò)設(shè)計實(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 改進(jìn)網(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é)點(diǎn)狀態(tài)信息上傳至主控制器,各功能節(jié)點(diǎn)的配置和管理信息通過配置網(wǎng)下行到各功能節(jié)點(diǎn),形成一個閉環(huán)的管理機(jī)制。數(shù)據(jù)網(wǎng)絡(luò)采用“包-電路交換”(packet-connected circuit,PCC)機(jī)制、Mesh拓?fù)浣Y(jié)構(gòu)和回退轉(zhuǎn)向路由算法。

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

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

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

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

        2.2 改進(jìn)的分布式鏈路機(jī)制

        本文設(shè)計的數(shù)據(jù)網(wǎng)絡(luò)工作流程如圖2所示,這里使用數(shù)據(jù)網(wǎng)Feedback操作在鏈路建立成功后獲取目的端狀態(tài),用狀態(tài)廣播的方法在未建立鏈路時獲取目的端從無效變?yōu)橛行У氖录?從而實(shí)現(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 鏈路反饋機(jī)制

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

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

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

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

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

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

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

        2.2.3 Keep-alive機(jī)制

        包-電路交換策略雖然結(jié)合了包交換和電路交換的優(yōu)點(diǎn),但過多的鏈路建立和撤銷影響通訊效率。為解決此問題,本文提出一種Keep-alive機(jī)制,即在一次包傳輸完成后,若條件滿足,則直接傳輸下一個包,省去了鏈路重建過程。在傳統(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次獨(dú)立的數(shù)據(jù)傳輸。這勢必會造成一定的網(wǎng)絡(luò)性能損失。

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

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

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

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

        3 硬件設(shè)計

        3.1 信號定義

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

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

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

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

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

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

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

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

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

        (2) 目標(biāo)節(jié)點(diǎn)無效,進(jìn)入WAIT-CONNECT狀態(tài)。

        (3) 目標(biāo)節(jié)點(diǎn)有效,進(jìn)入SEND-BEGIN狀態(tài)。

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

        3.2.2 路由節(jié)點(diǎn)

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

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

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

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

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

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

        3.2.3 接收控制器

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

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

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

        4 實(shí)驗(yàn)分析

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

        表1 資源消耗

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

        傳輸效率=

        (1)

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

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

        (2)

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

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

        (3)

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

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

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

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

        圖9 不同負(fù)載下的傳輸效率比較

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

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

        圖10 不同負(fù)載下的平均延遲比較

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

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

        圖11 不同負(fù)載下的鏈路效率比較

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

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

        5 結(jié) 論

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

        實(shí)驗(yàn)表明,新的機(jī)制有完整的功能,應(yīng)對復(fù)雜的網(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)路的問題
        飛機(jī)燃油系統(tǒng)對多路輸入信號源選擇的方法
        科技視界(2016年22期)2016-10-18 15:53:02
        基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
        PRIME和G3-PLC路由機(jī)制對比
        WSN中基于等高度路由的源位置隱私保護(hù)
        eNSP在路由交換課程教學(xué)改革中的應(yīng)用
        河南科技(2014年5期)2014-02-27 14:08:56
        久久亚洲精品一区二区| 超级少妇一区二区三区| 日本一区二区高清在线观看| 激情在线一区二区三区视频| 国产后入清纯学生妹| 国产免费无码一区二区三区| 久久精品无码一区二区2020| 综合人妻久久一区二区精品| 国产精品一区二区av麻豆日韩| 97人妻精品一区二区三区| 久久中文字幕av一区二区不卡| 中国老太老肥熟女视频| 美丽小蜜桃1一3在线观看| 国产精品无码久久综合| 一二三四在线视频社区3| 在线观看av片永久免费| 日本亚洲成人中文字幕| 日本免费观看视频一区二区| 久久久av波多野一区二区| 性夜夜春夜夜爽aa片a| 视频网站在线观看不卡| 一二三区亚洲av偷拍| 精品国产拍国产天天人| 日韩在线不卡免费视频| 日本一区二区三区在线视频观看| 亚洲一区二区三区内裤视| 麻豆精品久久久久久久99蜜桃| 无码人妻一区二区三区免费手机| 亚洲精品中文字幕乱码三区99| 成人日韩熟女高清视频一区| 丰满少妇大力进入av亚洲| 国产精品麻豆A啊在线观看| 国内精品久久人妻性色av| 人妻诱惑中文字幕在线视频| 欧洲一卡2卡三卡4卡免费网站| 69天堂国产在线精品观看| 中文字幕色资源在线视频| 亚洲精品色婷婷在线影院| 精品国产看高清国产毛片| 国产视频嗯啊啊啊| 一区二区三区蜜桃av|