廣州海格通信集團股份有限公司 余秀美 賴文龍
美軍軍用軟件通信體系結(jié)構(gòu)規(guī)范,一直建議使用公共對象請求代理體系結(jié)構(gòu) (Common ObjectRequest Broker Architecture,CO RBA)中間件作為各個軟件組件間通信的軟總線,通過CORBA為軟件無線電系統(tǒng)構(gòu)建一個核心框架和操作環(huán)境,屏蔽了底層硬件平臺和操作系統(tǒng)的差異性,大大提高系統(tǒng)的可擴展性和可移植性,使軟件組件具有很好的可替換性。但隨著軟件無線電技術(shù)在裝備中應(yīng)用,時常被詬病引入的時延開銷大,軟件體積大等問題。直至2009年發(fā)布的SCANext,不再強制約束軟件通信體系結(jié)構(gòu)的傳輸機制只能使用CORBA中間件,可以根據(jù)實際設(shè)備需要選擇。因此業(yè)內(nèi)也在研究探討在軟件無線電設(shè)備采用非CORBA中間件的可能性。本文將討論ZeroC公司所推出的新興的中間件產(chǎn)品ICE在軟件無線電設(shè)備的應(yīng)用前景,具體通過對主流的CORBA中間件和ICE中間件的傳輸能力進(jìn)行測試,并就測試結(jié)果進(jìn)行對比分析,從而得出相關(guān)的結(jié)論。
CORBA 是對象管理組織專門為異構(gòu)平臺上不同語言開發(fā)的分布式對象進(jìn)行互操作而制定的標(biāo)準(zhǔn)規(guī)范,其核心為對象請求代理ORB。CORBA規(guī)范屏蔽了底層硬件、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的不同,使開發(fā)者能夠?qū)⒕械綉?yīng)用邏輯上,而不需考慮復(fù)雜的異構(gòu)環(huán)境通信問題。
ICE(互聯(lián)網(wǎng)通信引擎,The Internet Communications Engine)是ZeroC公司的開源通信協(xié)議產(chǎn)品,ICE 提供的新的面向?qū)ο蟮闹虚g件平臺,在概念上ICE與CORBA 基本一致,但 ICE 解決了過去長期困擾中間件的低效問題,并提供了數(shù)據(jù)報協(xié)議 (UDP)支持、異步方法分派、嵌入的安全機制、對象的保存和接口聚集等技術(shù)支持,從而建立了一個更簡單也更高效的新的基礎(chǔ)架構(gòu)。
本文以AM3359處理器單元作為測試系統(tǒng)的服務(wù)器端,而以S3C2410處理器單元作為測試系統(tǒng)的客戶端,模擬設(shè)備實際的運行環(huán)境,分別運行IceE、 omniORB和TAO的服務(wù)端測試程序和客戶端程序。
具體的測試內(nèi)容是在客戶端向服務(wù)端循環(huán)發(fā)送1000或10000包大小為64 bytes至16384 bytes的數(shù)據(jù)包,統(tǒng)計通過各個中間件傳送完這1000或10000包數(shù)據(jù)的時延。測試樣本為30個,根據(jù)這30個樣本計算出1包數(shù)據(jù)的平均傳輸時延,并計算相應(yīng)的時延抖動。相關(guān)的測試結(jié)果如下表所示。
表1 IceE傳輸時延及抖動測試記錄
表2 omniORB傳輸時延及抖動測試記錄
圖1 循環(huán)1000次時IceE、TAO及omniORB的平均時延及抖動
圖2 循環(huán)10000次時IceE、TAO及omniORB的平均時延及抖動
表3 TAO傳輸時延及抖動測試記錄
通過上述的測試結(jié)果,可以針對三種中間件的傳輸時延、傳輸抖動以及系統(tǒng)開銷影響因素進(jìn)行分析,具體如下所述。
3.2.1 傳輸時延結(jié)果對比分析
對IceE中間件、omniORB中間件與TAO中間件分別在循環(huán)1000次和10000次的結(jié)果進(jìn)行對比,可得到如圖1、圖2:
由以上兩圖可知,分別調(diào)用IceE中間件、omniORB中間件和TAO中間件傳送單包大小為64bytes至16KB的數(shù)據(jù)時,可得以下現(xiàn)象:
抖動相對于時延的值較小,抖動情況均在合理范圍之內(nèi);
IceE中間件的平均傳輸時延在3.347ms至8.299ms之間連續(xù)遞增;
omniORB中間件的平均傳輸時延在1.781ms至30.809ms之間連續(xù)遞增;
TAO中間件的平均傳輸時延在5.785ms至11.424ms之間連續(xù)遞增;
在傳輸1KB以下的數(shù)據(jù)時,omniORB中間件的傳輸時延比IceE的傳輸時延?。?/p>
在傳輸1KB以上的數(shù)據(jù)時,IceE中間件的傳輸時延比omniORB的傳輸時延?。?/p>
當(dāng)數(shù)據(jù)包大小以2的倍數(shù)增長時, OmniORB中間件的傳輸時延亦類似地以指數(shù)式增長,而IceE中間件、TAO中間件的傳輸時延增加則較為平緩;
IceE中間件與TAO中間件的傳輸時延隨數(shù)據(jù)包大小變化規(guī)律類似,TAO中間件每包時延比ICE中間件少2ms左右。
從本文測試結(jié)果上看,在傳輸能力方面,ICE和TAO、omniORB相比并沒有明顯的優(yōu)勢,甚至在數(shù)據(jù)包較小的情形,omniORB的傳輸能力還優(yōu)于ICE,但I(xiàn)CE和TAO在大數(shù)據(jù)包傳輸中優(yōu)勢較為明顯,而且相比于CORBA,ICE在對象模型、調(diào)用模型、傳輸協(xié)議等方面有較大的優(yōu)點,因此ICE也不失為軟件無線電設(shè)備中間件選擇對象之一。