基于RapidIO的實(shí)時(shí)CORBA中間件實(shí)現
摘要:為了解決CORBA傳統傳輸協(xié)議TCP/IP的時(shí)延不確定問(wèn)題,提出了使用基于點(diǎn)對點(diǎn)的包交換RapidIO協(xié)議來(lái)替代TCP/IP的方法,研究了CORBA的可插拔傳輸協(xié)議框架,從而實(shí)現了CORBA報文在RapidIO總線(xiàn)上的傳輸。測試結果顯示,基于RapidIO的CORBA實(shí)時(shí)性?xún)?yōu)于基于TCP/IP的CORBA。
本文引用地址:http://dyxdggzs.com/article/154907.htm關(guān)鍵詞:CORBA;RapidIO;可插入傳輸;協(xié)議框架
0 引言
在傳統的嵌入式多處理器系統中,處理器之間的互連是通過(guò)分時(shí)共享總線(xiàn)來(lái)實(shí)現的,典型的有以太網(wǎng)、CPCI和VME總線(xiàn)。這類(lèi)總線(xiàn)的總帶寬會(huì )受限,而且隨著(zhù)處理器的不斷增多,每個(gè)處理器所占據的帶寬小斷下降,制約了處理器之間的信息傳輸能力,這將使其不能適應未來(lái)高性能嵌入式多處理器系統之間的高速信息傳輸需求。而RapidIO互聯(lián)架構是一種高性能、點(diǎn)對點(diǎn)的包交換技術(shù),傳輸速率能夠達到1 Gb/s~60 Gb/s,能為嵌入式系統芯片間和板卡間互連提供高帶寬、低時(shí)延的互連解決方案。
與此同時(shí),隨著(zhù)CORBA技術(shù)應用范圍的不斷拓展,特別是在軍事、電信和航空控制等領(lǐng)域的應用,對CORBA系統中客戶(hù)/服務(wù)器交互的實(shí)時(shí)性提出了更為嚴格的要求。雖然幾乎所有CORBA都默認支持TCP/IP,但是TCP/IP時(shí)延的不確定性將導致其不適用實(shí)時(shí)系統,而基于Rapid IO實(shí)時(shí)總線(xiàn)的CORBA卻可以解決該問(wèn)題,因此,本文給出了如何將RapidIO通信協(xié)議插入CORBA產(chǎn)品中的實(shí)現方法。
1 Rapid IO技術(shù)
RapidIO采用的三層體系結構如圖1所示。
該體系包括邏輯層、傳輸層和物理層。邏輯層主要用于界定協(xié)議和包格式,目前邏輯層可支持5種規范,分別是存儲器映射的I/O系統、消息傳輸、全局共享內存、流量控制和數據流;傳輸層主要用于規定路由選擇信息,為端點(diǎn)設備間報文的傳輸提供路由信息;物理層主要定義包傳送機制、信息流控制、電氣特性和低級錯誤管理等,物理層的優(yōu)先級處理保證了數據傳輸時(shí)具有更低的平均時(shí)延或者抖動(dòng)時(shí)延。Rapi dIO系統多采用基于交換機(Switch)的拓撲結構。邏輯報文從一個(gè)端點(diǎn)設備送往另一個(gè)端點(diǎn)設備主要通過(guò)交換機解釋報文中的傳輸層信息,傳輸層包含有源設備指定的目的地址,文換機中則包含路由表,可通過(guò)查找路由表確定輸出路徑。
2 CORBA的RapidIO實(shí)現
2.1 CORBA可插拔協(xié)議框架
CORBA2.0引入了一個(gè)通用的ORB互操作性結構體系,稱(chēng)為通用ORB間協(xié)議(即GIOP)。GIOP是一類(lèi)抽象的協(xié)議,并不是一個(gè)可直接用于ORB間進(jìn)行通信的具體協(xié)議。該協(xié)議僅描述了特定的協(xié)議如何進(jìn)行創(chuàng )建以適用于GIOP框架,同時(shí)指定了轉換語(yǔ)法和一個(gè)消息格式的標準集,以便允許獨立開(kāi)發(fā)的ORB可以在任何一個(gè)面向連接的傳遞中進(jìn)行通信,這種設計允許新的協(xié)議在不影響現有應用程序的情況下,添加到CORBA中。
GIOP對于攜帶GIOP消息的底層傳輸具有一定的要求,包括面向連接、全雙工、對稱(chēng)、可靠傳輸、支持字節流等,同時(shí)需要按照以上要求封裝RapidIO傳輸協(xié)議。對于不同的傳輸介質(zhì),將會(huì )有一個(gè)與之對應的GIOP協(xié)議的實(shí)現與之對應。比如,IIOP協(xié)議就是GIOP的基于TCP/IP協(xié)議的具體實(shí)現。與此類(lèi)似,基于RapidIO的傳輸協(xié)議列GIOP的映射為RapidIO-IOP,簡(jiǎn)稱(chēng)RIOP。ONI層次圖與GIOP層次圖的對比如圖2所示,RIOP的主要工作是使用RapidIO傳輸協(xié)議完成GIOP報文的傳輸。
2.2 實(shí)現RIOP
定義RIOP的協(xié)議標識格式如下:
rio://{host number}:{port number}
其中,host為節點(diǎn)的網(wǎng)絡(luò )編號,port為邏輯鏈路端口。定義RapidIO IOR配置文件標識常量,const IOP::ProfileIdIOP::OE TAG RIO IOP=1330205525(0x4f495355)。
波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理
評論