• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Rapid IO高性能通信中間件設(shè)計(jì)

      2014-12-10 05:37:48
      電子技術(shù)應(yīng)用 2014年12期
      關(guān)鍵詞:句柄中間件隊(duì)列

      潘 靈

      (中國電子科技集團(tuán)公司第十研究所,四川 成都 610036)

      0 引言

      近年來,RapidIO總線作為嵌入式領(lǐng)域的總線互聯(lián)標(biāo)準(zhǔn),以其高性能、低延遲、低引腳數(shù)和低功耗等特點(diǎn)得到了廣泛關(guān)注,基于RapidIO總線互聯(lián)的嵌入式系統(tǒng)硬件技術(shù)日益成熟[1-3]。在系統(tǒng)應(yīng)用方面,目前有兩種數(shù)據(jù)傳輸方式:(1)直接使用 RapidIO邏輯層功能;(2)將 RapidIO邏輯層功能與通用協(xié)議適配。前者由于缺乏節(jié)點(diǎn)間端到端互聯(lián)功能,很難應(yīng)對多任務(wù)并發(fā)的系統(tǒng)應(yīng)用;對于第二種方式,Linux平臺上采用了設(shè)備抽象的方式,將消息與門鈴功能接入TCP/IP協(xié)議[4-5],vxWorks平臺通過內(nèi)存映射機(jī)制提供了對TIPC協(xié)議的支持[6-7]。采用第二種方式雖然能夠支持復(fù)雜的應(yīng)用,但冗余的協(xié)議處理使其很難應(yīng)付對帶寬、時(shí)延都要求特別高的場合。本文針對RapidIO邏輯層消息機(jī)制的傳輸特點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了采用HOST節(jié)點(diǎn)集中控制的RapidIO通信中間件,解決了PE節(jié)點(diǎn)間高效的端對端數(shù)據(jù)傳輸問題。

      1 Rapid IO通信中間件

      RapidIO通信中間件采用了分層的設(shè)計(jì)思想,RIO消息驅(qū)動(dòng)層負(fù)責(zé)對RapidIO總線接口進(jìn)行管理,包括收發(fā)郵箱的初始化、硬件收發(fā)隊(duì)列的管理、中斷的響應(yīng)等操作。邏輯鏈路層實(shí)現(xiàn)對節(jié)點(diǎn)之間點(diǎn)對點(diǎn)鏈路的維護(hù),將郵箱功能映射為數(shù)據(jù)包發(fā)送與數(shù)據(jù)包接收隊(duì)列。虛通道層將邏輯鏈路層單個(gè)收發(fā)隊(duì)列復(fù)用為多個(gè)虛通道,提供給邏輯事務(wù)層使用??刂拼硎褂每刂铺撏ǖ肋M(jìn)行HOST節(jié)點(diǎn)與PE節(jié)點(diǎn)之間控制信息的交互,應(yīng)用程序使用應(yīng)用虛通道傳輸數(shù)據(jù)。RapidIO通信中間件采用工作進(jìn)程進(jìn)行各類任務(wù)的處理,邏輯鏈路層與虛通道層各部署了一個(gè)工作隊(duì)列,圖1給出了RapidIO通信中間件層次模型。

      1.1 虛通道狀態(tài)

      RapidIO通信中間件為每個(gè)虛通道維護(hù)了一個(gè)虛通道狀態(tài),在虛通道對象創(chuàng)建時(shí)處于UC狀態(tài),并主動(dòng)向?qū)Χ税l(fā)送請求包;然后根據(jù)收到請求包、應(yīng)答包的先后順序,分別經(jīng)過URP、UBB向正常狀態(tài) NM躍遷,虛通道上的超時(shí)定時(shí)器避免握手時(shí)發(fā)生死鎖。處于NM狀態(tài)的虛通道可正常收發(fā)數(shù)據(jù),當(dāng)發(fā)送處于擁塞狀態(tài)時(shí),會切換到擁塞狀態(tài)CGST,待擁塞恢復(fù)后方能繼續(xù)發(fā)送數(shù)據(jù)。掛起狀態(tài)HG使得HOST節(jié)點(diǎn)能夠根據(jù)當(dāng)前系統(tǒng)需求,暫停、恢復(fù)PE節(jié)點(diǎn)上的虛通道數(shù)據(jù)傳輸功能,刪除態(tài)DEL使得虛通道對象能夠在資源釋放完畢后正常銷毀。圖2給出了虛通道狀態(tài)的變遷。

      圖1 RapidIO通信中間件層次模型

      圖2 虛通道狀態(tài)變遷圖

      1.2 虛通道的建立

      RapidIO通信中間件中應(yīng)用虛通道的建立采用了對等握手的機(jī)制。PE節(jié)點(diǎn)中虛通道控制代理負(fù)責(zé)接收HOST指令,發(fā)起對等握手過程,并將結(jié)果反饋給HOST節(jié)點(diǎn)??刂铺撏ǖ赖慕⒉捎肏OST節(jié)點(diǎn)主動(dòng)發(fā)起、PE節(jié)點(diǎn)被動(dòng)建立的方式。圖3給出了控制虛通道與應(yīng)用虛通道的建立過程。

      圖3 控制虛通道與應(yīng)用虛通道的建立過程

      1.3 虛通道句柄映射

      RapidIO通信中間件采用通信句柄對虛通道進(jìn)行標(biāo)識,應(yīng)用程序通過預(yù)分配的虛通道名稱獲取通信句柄進(jìn)行數(shù)據(jù)傳輸。獲取通信句柄時(shí),若對應(yīng)的虛通道已經(jīng)建立,則將分配的句柄結(jié)構(gòu)與虛通道對象進(jìn)行雙向關(guān)聯(lián);若虛通道未建立,則將虛通道名稱保存在分配的句柄結(jié)構(gòu)中,待對應(yīng)的虛通道建立后,掃描通道句柄映射表,實(shí)現(xiàn)通信句柄的延遲綁定。圖4給出了通道句柄與通道對象映射關(guān)系。

      圖4 通信句柄與通道對象的映射

      1.4 數(shù)據(jù)包傳輸

      RapidIO通信中間件采用了M_BLK與CLUSTER兩類緩存對象進(jìn)行內(nèi)部數(shù)據(jù)包的傳遞,CLUSTER作為存放數(shù)據(jù)包內(nèi)容的載體,M_BLK負(fù)責(zé)對CLUSTER中的包頭信息進(jìn)行描述,并通過單向指針與CLUSTER一對一關(guān)聯(lián)。每個(gè)M_BLK有相互索引的雙向指針,可方便地掛接到邏輯鏈路層與虛通道層的傳輸隊(duì)列上。為提高搜索效率,緩存池中的M_BLK采用固定64 B長度,而CLUSTER則在長度 2N(5≤N≤12)中取值,每種 CLUSTER所占比例可根據(jù)系統(tǒng)應(yīng)用進(jìn)行配置。數(shù)據(jù)包在各層之間傳遞時(shí),只需修改M_BLK中的雙向指針,避免了數(shù)據(jù)的拷貝。同時(shí),RapidIO通信中間件啟用了硬件消息隊(duì)列模式,CPU提交數(shù)據(jù)包到隊(duì)列后,不必等待消息發(fā)送完畢,從而達(dá)到CPU與硬件接口并行工作的目的。

      1.5 流控機(jī)制

      RapidIO通信中間件基于消息目的端流控,采用ACK包交互實(shí)現(xiàn)了源端流控功能。ACK包向?qū)Χ送▓?bào)本地端接收隊(duì)列的信息,包括接收隊(duì)列總共已接收包個(gè)數(shù)(TotalRcvPacks)、還可以接收包個(gè)數(shù)(AllowRcvPacks)。定義發(fā)送端允許發(fā)送包個(gè)數(shù)AllowSendPacks,發(fā)送端總共已發(fā)送包個(gè)數(shù)TotalSendPacks,則有AllowSendPacks=Allow-RcvPacks-(TotalSendPacks-TotalRcvPacks)。 當(dāng)AllowSend-Packs=0時(shí)發(fā)送端將進(jìn)入擁塞狀態(tài)直至收到對端ACK包使AllowSendPacks>0。接收端在接收隊(duì)列中包個(gè)數(shù)為隊(duì)列長度的1/2時(shí),將向發(fā)送端發(fā)送ACK包,圖5給出了AllowSendPacks在傳輸過程中的變化過程。

      2 RapidIO通信中間件性能評估

      圖5 發(fā)送窗口變化過程

      基于RapidIO通信中間件的設(shè)計(jì)思想,實(shí)現(xiàn)了RapidIO通信中間件的vxWorks版本,支持vxWorks5.5.1。測試環(huán)境為3個(gè)MPC8548E節(jié)點(diǎn)通過2個(gè)TSI578交換節(jié)點(diǎn)互聯(lián)的系統(tǒng),RapidIO物理層工作在1X模式,頻率為1.25 GHz,其中一個(gè)MPC8548E作為HOST節(jié)點(diǎn),其余兩個(gè)MPC8548E作為PE節(jié)點(diǎn)。HOST節(jié)點(diǎn)配置兩個(gè)PE節(jié)點(diǎn)之間的物理路徑[8]與應(yīng)用虛通道,兩個(gè)PE節(jié)點(diǎn)在虛通道上傳輸數(shù)據(jù)進(jìn)行性能測試。

      測試數(shù)據(jù)長度在2n基礎(chǔ)上減去了8 B的數(shù)據(jù)幀頭,使消息能夠以最高效的方式傳輸。在帶寬指標(biāo)測試中,RapidIO物理層1.25 GHz的工作頻率8 B/10 B轉(zhuǎn)換后,提供給RapidIO邏輯層的極限帶寬為125 MB/s,RapidIO消息層損失了大約10%的傳輸帶寬,經(jīng)過RapidIO通信中間件的虛通道層后,測試的極限帶寬達(dá)102 MB/s。在時(shí)延指標(biāo)測試中,不超過64 B的短數(shù)據(jù)傳輸時(shí)延都在25μs以下。圖 6與圖 7分別給出了傳輸不同長度數(shù)據(jù)時(shí)的帶寬與時(shí)延。

      圖6 傳輸帶寬測試結(jié)果

      3 結(jié)束語

      圖7 傳輸時(shí)延測試結(jié)果

      RapidIO總線技術(shù)作為新一代芯片級互聯(lián)總線的代表,在嵌入式領(lǐng)域具有廣泛的應(yīng)用前景,然而,缺少基于邏輯層業(yè)務(wù)的端對端通信功能大大限制了該總線在復(fù)雜系統(tǒng)中的應(yīng)用。設(shè)計(jì)的RapidIO通信中間件在消息機(jī)制上提供了虛通道數(shù)據(jù)傳輸功能。高帶寬、低時(shí)延以及易于實(shí)現(xiàn)功能遷移與重構(gòu)的特性使其具備很強(qiáng)的工程應(yīng)用價(jià)值??梢钥闯觯诒疚牟捎玫牧骺貦C(jī)制中,接收端回復(fù)ACK包的策略沒有考慮傳輸特征因子的影響,造成ACK包的占比偏高,需要在后期工作中進(jìn)一步優(yōu)化。

      [1]RapidIO Trade Association.RapidIO,PCI express and gigabit ethernet comparison,Rev 03[Z].2005.

      [2]RapidIO Trade Association.RapidIOTM interconnect specification part 6:1x/4x LP-serial physical layer specification,Rev.1.3[Z].2005.

      [3]RapidIO Trade Association.RapidIO interconnect specification,Rev.1.3[EB/OL].(2008-05-08).www.rapidio.org.

      [4]PORTERM.RapidIO for Linux[EB/OL].(2008-05-06).htttp://www.kernel.org/doc/ols/2005/ols2005v22pages243256.pdf.

      [5]COMER D E,STEVENS D L.用TCP/IP進(jìn)行網(wǎng)絡(luò)互連第二卷:設(shè)計(jì),實(shí)現(xiàn)與內(nèi)核(第三版)[M].張娟,王海,黃述真,譯.北京:電子工業(yè)出版社,2001.

      [6]Multicore Association.TIPC:transparent inter process communication protocol[Z].2006.

      [7]Wind River Systems,Inc.Wind river TIPC programmer′s guide,1.7.6[Z].2009.

      [8]潘靈,桑楠.一種 RapidIO網(wǎng)絡(luò)路徑分配策略[J].計(jì)算機(jī)應(yīng)用,2008,28(Z2):294-295.

      猜你喜歡
      句柄中間件隊(duì)列
      隊(duì)列里的小秘密
      基于多隊(duì)列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      在隊(duì)列里
      RFID中間件技術(shù)及其應(yīng)用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設(shè)計(jì)與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      高校圖書館持久標(biāo)識符應(yīng)用研究
      豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
      編譯程序語法分析句柄問題分析與探討
      MFC應(yīng)用程序多線程混合顯示界面方法研究
      中間件在高速公路領(lǐng)域的應(yīng)用
      钟祥市| 郓城县| 洮南市| 兴安盟| 民权县| 镇远县| 纳雍县| 金沙县| 高青县| 军事| 浙江省| 南开区| 合江县| 陈巴尔虎旗| 额尔古纳市| 汕头市| 温州市| 华坪县| 台江县| 营山县| 武安市| 新泰市| 和田县| 客服| 荣成市| 温宿县| 萍乡市| 凤凰县| 舞阳县| 邵阳县| 德化县| 六盘水市| 乌拉特后旗| 武夷山市| 东丽区| 西华县| 菏泽市| 和平县| 遂溪县| 保靖县| 梁山县|