《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > RapidIO高性能通信中間件設(shè)計(jì)
RapidIO高性能通信中間件設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第12期
潘 靈
(中國電子科技集團(tuán)公司第十研究所,四川 成都610036)
摘要: 針對RapidIO總線互聯(lián)系統(tǒng)中網(wǎng)絡(luò)節(jié)點(diǎn)間高效端對端通信功能的缺失,實(shí)現(xiàn)了基于消息機(jī)制的RapidIO通信中間件,以虛通道的方式為應(yīng)用提供數(shù)據(jù)傳輸功能。虛通道采用HOST節(jié)點(diǎn)集中控制的管理方式,易于實(shí)現(xiàn)系統(tǒng)功能的遷移與重構(gòu)。實(shí)物環(huán)境中的帶寬、時(shí)延測試表明,RapidIO通信中間件具有很高的傳輸效率。
中圖分類號: TN911
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)12-0107-03
Design of a high performance communication library in RapidIO system
Pan Ling
The Tenth Research Institute of China Electronic Technology Group Corporation,Chengdu 610036,China
Abstract: Because of the lack of port to port transport function in RapidIO system, this paper designs a communication library based on message mechanism, which provides user with virtual channel to transfer data. With the means of centralize control by host node, applications can be easily moved or rebuild. Testing results indicate that the communication library has characteristics of low latency and high bandwidth.
Key words : RapidIO;communication middleware;virtual channel;centralized control

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平臺(tái)上采用了設(shè)備抽象的方式,將消息與門鈴功能接入TCP/IP協(xié)議[4-5],vxWorks平臺(tái)通過內(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 RapidIO通信中間件

  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ù)層使用。控制代理使用控制虛通道進(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通信中間件層次模型。

001.jpg

  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í),會(huì)切換到擁塞狀態(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)的變遷。

002.jpg

  1.2 虛通道的建立

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

003.jpg

  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)系。

004.jpg

  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在傳輸過程中的變化過程。

005.jpg

2 RapidIO通信中間件性能評估

  基于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í)延。

3 結(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à)值。可以看出,在本文采用的流控機(jī)制中,接收端回復(fù)ACK包的策略沒有考慮傳輸特征因子的影響,造成ACK包的占比偏高,需要在后期工作中進(jìn)一步優(yōu)化。

參考文獻(xiàn)

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

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

  [3] RapidIO Trade Association.RapidIO interconnect specifica-tion,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 com-munication protocol[Z].2006.

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

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 99精品国产福利在线观看 | 青青色在线视频 | 久久经典 | 国产日韩精品一区在线不卡 | 男女羞羞视频免费看 | 深爱激情婷婷 | 久久久久久网址 | 久久我们这里只有精品国产4 | 久久久国产99久久国产一 | 五月婷婷开心网 | 久久久一区二区三区 | 欧美一二三区视频 | 亚洲婷婷网 | 日韩午夜免费视频 | 九九99re在线视频精品免费 | 精品亚洲性xxx久久久 | 四虎在线网址 | 亚洲天堂成人在线观看 | 五月天精品 | 免费看一级性生活片 | 美日韩一级 | 视频免费播放 | 欧美亚洲激情视频 | 日韩精品福利 | 一级毛片免费完整视频 | 四虎com | 日本久久久久久中文字幕 | 丁香六月在线视频 | 欧美精品福利视频 | 欧美12一13高清视频 | 国产男女猛视频在线观看网站 | 伊人网2021 | 成人私人影院www片免费高清 | 国内自拍偷拍视频 | 日韩精品毛片 | 久久婷婷午色综合夜啪 | 黄色短视频免费观看 | 国产男人的天堂 | 天天干亚洲| 黄色成人小视频 | 国产观看精品一区二区三区 |