崔西寧, 郝玉鍇, 戴小氐, 吳 姣, 牛玥瑤
(1.航空工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710065; 2.機(jī)載彈載計算機(jī)航空技術(shù)重點實驗室,陜西 西安 710065;3.西安電子科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,陜西 西安 710071)
隨著計算機(jī)技術(shù)和航空電子技術(shù)的快速發(fā)展,航空電子系統(tǒng)已經(jīng)成為衡量飛機(jī)性能的主要因素之一。綜合核心處理機(jī)(Integrated Core Processor,ICP)是飛機(jī)航空電子系統(tǒng)的管理和處理中心,其承擔(dān)了系統(tǒng)管理、戰(zhàn)術(shù)導(dǎo)航、輔助決策、顯示管理、健康管理等眾多任務(wù)[1],具有綜合化、模塊化、軟件化、網(wǎng)絡(luò)化等多種特征。ICP本質(zhì)是一個分布式實時系統(tǒng),其通過模塊化的方式實現(xiàn)不同類別(包括雷達(dá)、通信、導(dǎo)航、識別、電子戰(zhàn)等)的信號處理、數(shù)據(jù)處理以及相關(guān)多任務(wù)處理功能各個模塊獨立負(fù)責(zé)的計算、處理任務(wù)。由于各模塊之間要進(jìn)行計算結(jié)果、語音、圖像等內(nèi)容的傳輸,早期機(jī)載計算機(jī)采用1553B總線通信,但由于其速度慢、擴(kuò)展性差的缺點無法作為新一代機(jī)載計算機(jī)模塊內(nèi)的通信總線[2-3]。光纖通道(Fiber Channel,FC)是一種串行全雙工傳輸協(xié)議,它具有高速率、高可靠、大容量、低延遲的特點,充分滿足了當(dāng)前ICP系統(tǒng)對嵌入式高實時通信的要求[1-2]。為了滿足航電環(huán)境下對FC通信的要求,ANSI(美國國家標(biāo)準(zhǔn)學(xué)會)提出了FC-AE(Fiber Channel Avionics Environment)協(xié)議[4-5]。除了上述優(yōu)點,F(xiàn)C還具有支持多種拓?fù)浣Y(jié)構(gòu)的特性,這對航電系統(tǒng)傳輸網(wǎng)絡(luò)的發(fā)展有著巨大意義[6]。本文研究的ICP模塊間通信采用FC網(wǎng)絡(luò)的方式來實現(xiàn),作為網(wǎng)絡(luò)中心的交換模塊使用了多端口的FC包交換機(jī),同時支持交換機(jī)的級聯(lián),它是網(wǎng)絡(luò)支持模塊(Network Support Module,NSM)中的一部分[7-8]。因此,當(dāng)前針對單個接口的點對點傳輸性能測試方法,遠(yuǎn)遠(yuǎn)不能滿足ICP中常用的廣播式傳輸和多對并發(fā)傳輸?shù)男枰?/p>
光纖通道FC協(xié)議總線已廣泛用于美國航空電子系統(tǒng)中[9-11],因此其FC網(wǎng)絡(luò)性能測試方法方面的研究比國內(nèi)起步早且更為成熟,現(xiàn)已開發(fā)出了投放市場的產(chǎn)品。美國Keysight公司已將針對FC網(wǎng)絡(luò)應(yīng)用的測試系統(tǒng)做成產(chǎn)品,例如1735A光纖通道測試儀,它可以對FC設(shè)備進(jìn)行幀計數(shù)、吞吐量、錯幀、亂序、誤碼、延遲等方面的測試[12]。Spirent公司HyperMetrics測試儀支持FC接口與FCoE(光纖通道以太網(wǎng))基準(zhǔn)測試和性能測試[13]。美國Finisar公司的Xgig分布式測試系統(tǒng)可以幫助工程師在開發(fā)、調(diào)試FC局域存儲網(wǎng)時解決相關(guān)問題[14-15]。
在我國,F(xiàn)C網(wǎng)絡(luò)在航電系統(tǒng)中應(yīng)用得并不廣泛,與一些歐美先進(jìn)國家相比,存在明顯的差距。我國現(xiàn)已將FC網(wǎng)絡(luò)在航電系統(tǒng)中的廣泛應(yīng)用作為提升戰(zhàn)斗機(jī)通信能力的重要途徑。目前,國內(nèi)已經(jīng)有一些研究所、高等院校和公司對FC相關(guān)協(xié)議、技術(shù)進(jìn)行了研究和嘗試,例如:北京航空航天大學(xué)對FC-AE網(wǎng)絡(luò)的調(diào)度算法、協(xié)議功能、流量控制等方面都做了深入研究;航空工業(yè)計算技術(shù)研究所對FC-AE網(wǎng)絡(luò)的仿真建模、FC-AE板卡的設(shè)計等進(jìn)行了一定的研究。隨著FC相關(guān)技術(shù)研究的不斷深入,F(xiàn)C-AE-ASM協(xié)議越來越多地應(yīng)用到航電系統(tǒng)中。但在ICP上對FC-AE-ASM協(xié)議網(wǎng)絡(luò)的性能測評的研究很少,因此,筆者針對ICP中FC網(wǎng)絡(luò)的測試指標(biāo)和測試方法進(jìn)行了研究。
FC協(xié)議是一種高速串行全雙工通信協(xié)議[10],當(dāng)前光纖通道鏈路速度向10 Gbit/s或更高發(fā)展[15]。FC協(xié)議主要包括網(wǎng)絡(luò)傳輸和通道傳輸兩種方式,它可以為應(yīng)用提供不同傳輸質(zhì)量、不同傳輸帶寬的通信服務(wù)。FC技術(shù)還對SCSI、IP、ATM等多種高層應(yīng)用協(xié)議提供支持,以滿足不同通信的需求。由于航空電子系統(tǒng)對通信網(wǎng)絡(luò)的實時性有著嚴(yán)格的要求,ANSI在FC協(xié)議的基礎(chǔ)上提出了FC-AE,同時還推薦了匿名消息傳輸(Anonymous Message Transfer,ASM)、MIL-STD-1553B映射協(xié)議、虛擬接口(Virtual Interface,VI)、FC輕量協(xié)議(Fiber Channel Lightweight Protocol,FC-LP)和遠(yuǎn)程直接內(nèi)存訪問(Remote Direct Memory Access, RDMA)5種高層協(xié)議。
FC協(xié)議與TCP/IP協(xié)議類似,采用了分層的方式來組織,一般分為5層,每一層對上層都是透明的。常用的FC網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)有3種:點對點拓?fù)洹⒅俨铆h(huán)拓?fù)浜徒粨Q網(wǎng)絡(luò)拓?fù)洹?/p>
FC協(xié)議根據(jù)不同的應(yīng)用環(huán)境定義了6種不同類型的服務(wù),涵蓋了當(dāng)前FC網(wǎng)絡(luò)所使用的全部服務(wù)。不同服務(wù)類型間的主要差別在于它們有著不同的流量控制方式。
FC-AE-ASM協(xié)議,即航電環(huán)境中光纖通道的匿名消息傳輸協(xié)議,它是航電系統(tǒng)的FC網(wǎng)絡(luò)中常用的一種上層協(xié)議,用于航電系統(tǒng)處理器、存儲設(shè)備、傳感器和顯示設(shè)備間的通信,能很好地滿足航電系統(tǒng)對通信網(wǎng)絡(luò)高可靠、高實時、高容錯的要求[16]。
FC-AE-ASM協(xié)議提供對多幀消息的處理,當(dāng)多幀序列來源于一個節(jié)點時,接收節(jié)點會根據(jù)幀ID和數(shù)據(jù)偏移量對幀數(shù)據(jù)重新排列。FC-AE-ASM幀格式是在FC幀基礎(chǔ)上構(gòu)成的,把每個FC幀的有效載荷部分的前4個字用作ASM幀的頭部,其中包含ASM幀的消息標(biāo)識、安全字段、消息長度、優(yōu)先級和消息負(fù)載長度等信息[17]。在發(fā)送多幀序列時,各幀擁有相同內(nèi)容的幀頭。ASM幀頭部格式如圖1所示。
圖1 FC-AE-ASM幀頭部格式
消息標(biāo)識:第0~3 B為消息ID,它是一個消息唯一的標(biāo)識。
安全性:第4~7 B為安全信息所保留,當(dāng)這一字段不使用時,應(yīng)填充為hex00000000;第8~11 B暫時保留,應(yīng)把該字段設(shè)為hex00000000。
消息長度:即第12 B的最高位,它會因消息負(fù)載長度變化。當(dāng)消息負(fù)載長度不為hex00000000時,此位無意義。當(dāng)負(fù)載長度為hex00000000時,該位為1表示整個消息的負(fù)載長度為0字節(jié);該位為0表示整個消息負(fù)載長度為16777216 B。
優(yōu)先級:指第12 B的低7位,其值與FC幀中的CS_CTL/PRIO值相同。
消息負(fù)載長度:指第13~15 B,表示在單幀或多幀傳輸環(huán)境下,相同消息ID的數(shù)據(jù)幀所保有的負(fù)載的總和。
FC-AE-ASM協(xié)議為一些操作特性給出了明確定義,包括優(yōu)先級、擴(kuò)展鏈接服務(wù),設(shè)備注冊/注銷和拓?fù)浣Y(jié)構(gòu)等。
在進(jìn)行FC網(wǎng)絡(luò)測試前,需要搭建一套完備的測試環(huán)境,包括軟件部分和硬件部分。隨后在測試環(huán)境中設(shè)計FC網(wǎng)絡(luò)底層軟件,進(jìn)行FC網(wǎng)絡(luò)性能測試。
測試節(jié)點采用HKSFCFS-2G芯片,它具有ARM922T處理器,這是一種RISC架構(gòu)的處理器,其高性能低功耗的特點可滿足航電系統(tǒng)的要求。該芯片還包含光纖通道接口(Fiber Channel Interface,FCI/F)、SDRAM控制器、片上SRAM、實時時鐘(RTC)、看門狗(Watch Dod Timer,WDT)、DMAC等。整個FC網(wǎng)絡(luò)的交換機(jī)采用Brocade公司的Silkworm3250型FC交換機(jī)。
測試平臺選用的FC接口鏈路速率為2.125 Gbit/s,采用8 B/10 B編碼,通過計算得到FC傳輸速率理論值為217.6 MB/s。數(shù)據(jù)存儲區(qū)的32 KB×32-bit作為數(shù)據(jù)接收區(qū),其中最小幀長52 B,最大幀長2100 B。因此,數(shù)據(jù)接收區(qū)的幀緩存應(yīng)為2100 B,幀的CRC校驗值不需要存儲。同時由于緩存長度為32-bit,使得每個幀的緩存空間為2096 B,這樣32 K×32-bit的空間最多可以緩存62幀。
搭建測試環(huán)境的軟件部分時,在上述硬件平臺上使用FC-AE-ASM上層協(xié)議,操作系統(tǒng)使用VxWorks 5.5嵌入式系統(tǒng),支持優(yōu)先級和多任務(wù),以滿足測試平臺的要求。
ICP采用模塊化的方式來構(gòu)成整個系統(tǒng),常見的有通用處理模塊(General Purpose Processing,GPP)、通用I/O模塊(General Purpose I/O,GPIO)、信號處理模塊(Signal Propossing Module,SPM)、大容量存儲模塊(Mass Memory Module,MMM)和網(wǎng)絡(luò)支持模塊(NSM)。其中,NSM模塊作為整個ICP的FC網(wǎng)絡(luò)交換核心,實質(zhì)是FC網(wǎng)絡(luò)交換器件。一個模塊到另一個模塊的通信都通過NSM模塊進(jìn)行轉(zhuǎn)發(fā)的,因此整個ICP的FC網(wǎng)絡(luò)邏輯拓?fù)錇樾切尉W(wǎng)絡(luò)。為了模擬在這種拓?fù)浣Y(jié)構(gòu)下FC網(wǎng)絡(luò)的性能,測試環(huán)境選用4個HKSFCFS-2G芯片作為端點器件,用Silkworm3250交換機(jī)作為中心交換器件,每個端點器件都與一臺PC相連接,通過PC來控制端點器件的發(fā)送和接收功能。所搭建的FC網(wǎng)絡(luò)性能測試環(huán)境的拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 FC實驗環(huán)境下FC網(wǎng)絡(luò)拓?fù)鋱D
測試軟件主要由初始化、發(fā)送和接收中斷處理函數(shù)以及發(fā)送和接收雙優(yōu)先級調(diào)度隊列3個部分組成。其中,發(fā)送和接收中斷處理函數(shù)為測試軟件的核心,而優(yōu)先級隊列則用來保證不同優(yōu)先級的消息都能正常、及時發(fā)送。以下為各模塊主要工作過程。
初始化的作用是使FC接口器件使能,隨后設(shè)置超時時間、發(fā)送和接收速率。打開FC中斷并對器件中的各種寄存器進(jìn)行初始化。通過intConnect()注冊中斷處理函數(shù),并創(chuàng)建兩個雙優(yōu)先級隊列,分別用于發(fā)送和接收調(diào)度任務(wù)。
FC發(fā)送中斷處理函數(shù)的主要工作是先關(guān)閉FC外部中斷并清除RAM郵箱中斷;然后觸發(fā)中斷使,通過幀的起始地址、幀長度、優(yōu)先級大小等字段把數(shù)據(jù)幀從RAM取出;接著把得到的幀送入SDRAM中對應(yīng)的優(yōu)先級隊列;最后復(fù)位中斷允許標(biāo)志位。FC接收中斷處理函數(shù)會在一幀到達(dá)時觸發(fā)中斷,迫使CPU來進(jìn)行處理。首先通過CRC校驗值對數(shù)據(jù)幀的完整性進(jìn)行判斷。然后通過DMA方式把接收到的幀送入SDRAM中。
FC發(fā)送調(diào)度任務(wù)在發(fā)送前要先對流量控制機(jī)制是否觸發(fā)進(jìn)行判斷。當(dāng)未觸發(fā)流量控制時,將最高優(yōu)先級發(fā)送隊列中的幀通過DMA方式傳輸?shù)紽C接口,隨后FC接口將該幀發(fā)出。當(dāng)最高優(yōu)先級調(diào)度隊列為空時,調(diào)度次優(yōu)先級發(fā)送隊列。當(dāng)觸發(fā)流量監(jiān)控時,對接口進(jìn)行輪詢,等待流控狀態(tài)結(jié)束再進(jìn)入發(fā)送調(diào)度。FC接收調(diào)度任務(wù)首先將幀從SDRAM中的幀接收隊列取出,然后把數(shù)據(jù)幀寫入雙口RAM。這兩個任務(wù)的不同之處在于要先查看雙口RAM中設(shè)置的中斷允許標(biāo)志位是否置為1。若為1,則通過接收任務(wù)把數(shù)據(jù)幀從SDRAM放入雙口RAM;若不為1,則要等待獲取存儲空間,然后才能將幀放入雙口RAM。
隊列調(diào)度算法在整個ICP的FC網(wǎng)絡(luò)中主要負(fù)責(zé)交換器件對兩個不同優(yōu)先級發(fā)送或接收隊列進(jìn)行調(diào)度管理。當(dāng)有數(shù)據(jù)幀到達(dá)交換器件時,先將其放入緩沖隊列。假設(shè)有n個數(shù)據(jù)緩沖隊列,隊列調(diào)度算法會選擇其中的一個數(shù)據(jù)隊列進(jìn)行處理,并轉(zhuǎn)發(fā)其中的數(shù)據(jù)幀。根據(jù)不同的系統(tǒng)設(shè)計要求,會選擇不同的調(diào)度策略,如優(yōu)先級調(diào)度、隨機(jī)調(diào)度、循環(huán)調(diào)度、處理機(jī)共享等;根據(jù)調(diào)度的對象、原則不同,可分為基于速率調(diào)度和基于時延調(diào)度兩類;根據(jù)網(wǎng)絡(luò)介質(zhì)的不同,可分為有線網(wǎng)絡(luò)調(diào)度算法和無線網(wǎng)絡(luò)調(diào)度算法兩類;根據(jù)算法的工作方式不同,可分為工作保持型調(diào)度和非工作保持型調(diào)度。工作保持調(diào)度算法要求當(dāng)前存在等待發(fā)送的數(shù)據(jù)時,調(diào)度算法就必定會工作;當(dāng)使用非工作保持調(diào)度算法時,可能出現(xiàn)存在等待處理的數(shù)據(jù)幀,但是調(diào)度算法也不工作的現(xiàn)象。
隊列調(diào)度算法主要有公平性、復(fù)雜性和時延性能3個方面的要求。常見的調(diào)度算法有先來先服務(wù)調(diào)度算法(First Come First Served,FCFS)、優(yōu)先級隊列調(diào)度算法(Priority Queue,PQ)、加權(quán)輪詢調(diào)度算法(Weighted Round-Robin,WRR)、隨機(jī)公平隊列調(diào)度算法(Stochastic Fairness Queueing,SFQ)等。
在本文的FC網(wǎng)絡(luò)測試中使用優(yōu)先級隊列調(diào)度和加權(quán)輪詢調(diào)度算法相結(jié)合的調(diào)度算法,即PQ+WRR算法。在實際發(fā)送中為滿足ICP系統(tǒng)對關(guān)鍵消息的實時要求,設(shè)有高優(yōu)先級的緊急消息,當(dāng)目的器件接收到緊急消息后,會產(chǎn)生一個中斷,通知目的器件讀取并處理該消息。因此,設(shè)計兩個優(yōu)先級緩沖隊列,其中高優(yōu)先級隊列的權(quán)值為80,低優(yōu)先級隊列的權(quán)值為20。緊急消息放入高優(yōu)先級隊列,普通消息放入低優(yōu)先級隊列,當(dāng)高優(yōu)先級緩沖隊列為空時,切換到低優(yōu)先級隊列進(jìn)行調(diào)度。采用PQ+WRR調(diào)度的策略能在一定程度上保證數(shù)據(jù)傳輸?shù)膶崟r性,同時充分利用帶寬。使用這種調(diào)度算法可以充分滿足ICP對FC通信網(wǎng)絡(luò)雙優(yōu)先級發(fā)送的要求,保證測試滿足實際環(huán)境,使測試結(jié)果更準(zhǔn)確、更具有參考意義。
為了測試ICP中FC網(wǎng)絡(luò)的性能,直觀反映出FC網(wǎng)絡(luò)的數(shù)據(jù)傳輸能力,在本文實驗中選用端口傳輸速率和端口傳輸延遲兩個指標(biāo)。端口的傳輸速率是指單位時間內(nèi)通信信道的信息量或一定時間內(nèi)某臺計算機(jī)或設(shè)備所能完成的通信量。傳輸速率還可以反映一個器件接口的突發(fā)傳輸能力和帶寬利用率。傳輸時延是指從源端點發(fā)送消息開始到目的端點成功接收該消息所用的時間。但由于存在不同的網(wǎng)絡(luò)模型和運行環(huán)境,傳輸速率的具體含義和計算方法不統(tǒng)一。
在此,給出網(wǎng)絡(luò)測試中平均傳輸速率S的定義:端點發(fā)送的消息總量為NB,其消耗的時間為T,則網(wǎng)絡(luò)的平均傳輸速率為
S=N/T
針對延遲當(dāng)前有兩種測試方式,分別是數(shù)據(jù)包單向延遲測試(OWDP)和數(shù)據(jù)包回環(huán)延遲測試(RTDP)。數(shù)據(jù)包單向延遲測試的基本原理是由源節(jié)點向目的節(jié)點發(fā)送帶有本地時間戳的數(shù)據(jù)包。目的節(jié)點的測試軟件一旦收到數(shù)據(jù)包,就打上本地時間戳,通過這兩個時間戳計算出傳輸時延。但是這種方式存在時鐘同步和時鐘漂移的問題,為了使測試平臺時鐘同步,應(yīng)增加主機(jī)作為全局時鐘同步節(jié)點。
RTDP測試相對簡單,其原理是由源節(jié)點發(fā)送數(shù)據(jù)包記錄當(dāng)前發(fā)送時間,目的節(jié)點接收到數(shù)據(jù)包后,立即向源端點發(fā)送響應(yīng)數(shù)據(jù)包,源端點收到目的端點發(fā)來的數(shù)據(jù)包后,記錄當(dāng)前時間,通過源端點的本地時鐘確定傳輸時延。在本文實驗中均采用數(shù)據(jù)包回環(huán)延遲測試方法確定FC網(wǎng)絡(luò)中端口的傳輸時延。下面對端口平均傳輸時延進(jìn)行定義:采用RTDP測試方法,在T1時刻源端點開始向目的端點發(fā)送N個消息,目的端點收到該消息后立即將其返回,在T2時刻源端點接收到返回的消息。則該消息的平均傳輸時延為
t=(T2-T1)/2N
當(dāng)前FC的性能測試主要集中在單接口的傳輸速率和時延上,這種方式無法充分反映FC網(wǎng)絡(luò)的傳輸性能。更無法在得出的測試結(jié)果上進(jìn)行改進(jìn)。針對這一問題,本文在傳統(tǒng)單接口傳輸性能測試基礎(chǔ)上,額外提出了廣播式傳輸性能測試和有負(fù)載的多對并發(fā)傳輸性能測試兩種測試方法,并把3種測試方法得到的結(jié)果進(jìn)行對比,從而更全面地反映FC網(wǎng)絡(luò)的傳輸能力。
在傳統(tǒng)單接口傳輸?shù)臏y試方式中,數(shù)據(jù)幀從源器件出發(fā)到達(dá)目的器件,在發(fā)送數(shù)據(jù)幀前記錄時間T1,數(shù)據(jù)幀發(fā)送至目的器件FC接口,當(dāng)數(shù)據(jù)全部發(fā)送完成時,記錄時間T2。通過得到的時間間隔和成功接收的幀的數(shù)據(jù)量得到發(fā)送接口的平均傳輸速率。在測試過程中,不斷增大數(shù)據(jù)包的有效載荷,測得在這一過程中不斷變化的接口平均傳輸速率和平均傳輸時延。
除了傳統(tǒng)單接口傳輸測試,還進(jìn)行了廣播式傳輸性能測試。根據(jù)設(shè)計的測試模型,隨機(jī)選取1個節(jié)點作為源器件,剩下3個器件作為目的器件,由源器件依次向目的器件發(fā)送數(shù)據(jù)幀,不斷增大數(shù)據(jù)量,得到被測接口的平均傳輸速率,并在該測試方法下得到通信接口的平均傳輸時延。廣播式傳輸平均傳輸速率測試流程圖如圖3所示。在前兩種方法的基礎(chǔ)上,還提出了有負(fù)載的多對并發(fā)的測試方法。在測試系統(tǒng)中不斷采用隨機(jī)生成的方式為FC網(wǎng)絡(luò)添加負(fù)載。負(fù)載發(fā)送程序循環(huán)生成數(shù)據(jù),并把它推入FC。通過這種方式來測試負(fù)載環(huán)境下FC網(wǎng)絡(luò)的傳輸性能。
圖3 廣播式傳輸平均傳輸速率測試流程圖
實現(xiàn)過程中,任意選取兩個端點器件構(gòu)成一組,總共兩個通信組,在此基礎(chǔ)上進(jìn)行并發(fā)測試。源器件1通過中心交換器件向目的器件1發(fā)送數(shù)據(jù)幀,在這過程中源器件2也向目的器件2發(fā)送數(shù)據(jù)幀,兩對通信共享交換器件帶寬,這種測試能反映真實環(huán)境下整個FC網(wǎng)絡(luò)的通信能力。其中第2組通信用于產(chǎn)生網(wǎng)絡(luò)負(fù)載,由于ICP中FC網(wǎng)絡(luò)邏輯拓?fù)錇樾切尉W(wǎng)絡(luò),這種方式傳輸更能反映中心交換器件在一定負(fù)載壓力下整個網(wǎng)絡(luò)傳輸能力的變化。有負(fù)載的多對并發(fā)傳輸?shù)钠骄鶄鬏斔俾蕼y試流程如圖4所示。
圖4 有負(fù)載的多對并發(fā)傳輸平均傳輸速率測試流程圖
通過以上3種方法,從不同的角度來對FC網(wǎng)絡(luò)性能進(jìn)行測試,可以充分反映在當(dāng)前硬件和拓?fù)浣Y(jié)構(gòu)下ICP板間通信的性能,可以更好地為航電系統(tǒng)中FC網(wǎng)絡(luò)的發(fā)展提供重要的參考依據(jù)。
在FC測試程序啟動后,先對整個網(wǎng)絡(luò)的硬件進(jìn)行初始化,設(shè)置相關(guān)寄存器的值并給每個器件分配單獨的ID,該值將會作為通信的地址和交換器件路由表中的信息,隨后掛接相關(guān)中斷處理函數(shù)。經(jīng)過這一系列初始化階段,可以在設(shè)計的測試平臺下執(zhí)行測試函數(shù)。為了消除測試結(jié)果波動給實驗分析帶來的不利影響,在實驗中采用多次測量取平均值的方法予以消除。
在實驗中測試次數(shù)設(shè)定為5000次,單次測試中設(shè)置發(fā)送的有效數(shù)據(jù)從0 KB開始,按照64 KB的步長逐漸增長到1 MB。根據(jù)現(xiàn)有的FC接口測試算法得到的平均傳輸速率和平均傳輸時延如圖5所示。
圖5 傳統(tǒng)單接口傳輸下平均傳輸速率與平均傳輸時延
在進(jìn)行廣播式傳輸測試實驗時,仍將測試次數(shù)設(shè)置為5000次。每次測試由1個源器件依次向3個目的器件發(fā)送數(shù)據(jù)幀。在發(fā)送時,設(shè)置發(fā)送數(shù)據(jù)量從0 KB有效載荷開始,以64 KB為步長不斷增大到1 MB,得到變化的測試結(jié)果。廣播式傳輸測試與單接口傳輸測試的結(jié)果對比如圖6所示。
圖6 單接口傳輸與廣播式傳輸測試方法結(jié)果對比
圖6中,當(dāng)數(shù)據(jù)量小于448 KB時,廣播式傳輸平均傳輸速率增長較快,并且傳輸速率也始終比單接口傳輸方式下的傳輸速率快;當(dāng)數(shù)據(jù)量超過448 KB時,廣播式傳輸平均傳輸速率隨著數(shù)據(jù)量的增大而緩慢增大,但仍比單接口傳輸方式的傳輸速率快,但是兩者有趨近峰值的走勢;當(dāng)數(shù)據(jù)量達(dá)到640 KB時,廣播式傳輸?shù)玫降钠骄鶄鬏斔俾手狄呀?jīng)穩(wěn)定,到達(dá)穩(wěn)定狀態(tài)比單接口傳輸早;當(dāng)數(shù)據(jù)量達(dá)到960 KB時,兩種方法所得的平均傳輸速率保持一致,大小為207 MB/s。平均傳輸時延在數(shù)據(jù)量小于512 KB時,廣播式傳輸時延曲線始終位于單接口傳輸上方;在數(shù)據(jù)量大于512 KB時,廣播式傳輸時延增長加快,其曲線斜率比單接口傳輸下時延曲線斜率大。
進(jìn)行有負(fù)載的多對并發(fā)傳輸測試實驗時同樣設(shè)置實驗次數(shù)為5000,根據(jù)測試系統(tǒng)模型分為兩組進(jìn)行并發(fā)通信,一個發(fā)送端點為被測接口,另一個發(fā)送端點為負(fù)載產(chǎn)生端點。每次測試發(fā)送數(shù)據(jù)量從0 KB開始,以64 KB為步長增大到1 MB。以此反映在有負(fù)載的多對并發(fā)環(huán)境下FC網(wǎng)絡(luò)的傳輸性能,并將其結(jié)果與單接口傳輸測試結(jié)果進(jìn)行比較,如圖7所示。
圖7 單接口傳輸與有負(fù)載的多對并發(fā)傳輸測試方法結(jié)果對比
由圖7可知,有負(fù)載的多對并發(fā)結(jié)果曲線始終位于單接口傳輸曲線下方。由于部分帶寬被負(fù)載數(shù)據(jù)占用,導(dǎo)致平均傳輸速率始終比單接口傳輸?shù)膫鬏斔俾事?。?dāng)數(shù)據(jù)量達(dá)到800 KB時,兩者都逐漸到達(dá)穩(wěn)定狀態(tài)。但是單接口傳輸?shù)姆逯灯骄鶄鬏斔俾时扔胸?fù)載的多對并發(fā)的傳輸速率快。對比兩種測試方法下得到的平均傳輸時延發(fā)現(xiàn),在數(shù)據(jù)量達(dá)到256 KB前,兩種測試方法的時延相差較小,基本保持一致。當(dāng)數(shù)據(jù)量超過400 KB時,有負(fù)載的多對并發(fā)方法得到的傳輸時延與單接口傳輸相比,越來越大,而且曲線斜率也逐漸變大,此時得到的平均傳輸時延始終大于單接口傳輸?shù)钠骄鶗r延。
本文實驗使用的FC硬件接口的鏈路速率為2.125 Gbit/s,上層協(xié)議為FC-AE-ASM協(xié)議,采用8 B/10 B編碼,由此得到FC網(wǎng)絡(luò)的傳輸速率峰值為217.6 MB/s。實際測試中,由于受軟件層、時間獲取函數(shù)精度的影響,使得傳輸速率不可能達(dá)到上述的理論峰值。
從3種測試方法所得平均傳輸速率來看,當(dāng)數(shù)據(jù)量小于400 KB時增長較快;數(shù)據(jù)量超過400 KB時,增長相對平緩;當(dāng)數(shù)據(jù)量達(dá)到900 KB時,保持穩(wěn)定。并且3種測試方法得到的平均傳輸時延在600 KB后呈現(xiàn)出線性增長的趨勢。
對比3種測試方法,在傳輸大數(shù)據(jù)量時,平均傳輸速率基本保持一致。由于引入負(fù)載因素,使得并發(fā)傳輸?shù)钠骄鶄鬏斔俾适冀K小于單接口傳輸,因此,可以說廣播式通信對整個FC網(wǎng)絡(luò)性能的影響較小,并發(fā)式通信由于在星形拓?fù)渚W(wǎng)絡(luò)中引入負(fù)載因素,使得這種傳輸方式對FC網(wǎng)絡(luò)的傳輸性能系統(tǒng)影響較大。
對比3種方法結(jié)果發(fā)現(xiàn),第3種測試方法得到的平均傳輸速率遠(yuǎn)比前兩種方法所得結(jié)果低為194 MB/s,與第一種方法測試結(jié)果相比差13 MB/s,為單接口測試結(jié)果的6.28%。在實際的嵌入式系統(tǒng)設(shè)計中,應(yīng)提高中心節(jié)點傳輸性能以滿足測試需求,或者改變FC網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以滿足設(shè)計需求。
本文給出了ICP的FC網(wǎng)絡(luò)測試硬件和系統(tǒng)環(huán)境,實驗選用HKSFCFS-2G芯片、Silkworm3250型FC交換機(jī)和VxWorks 5.5操作系統(tǒng)平臺,設(shè)計了測試軟件和拓?fù)淠P停敿?xì)分析了交換器件需要的調(diào)度算法。設(shè)計了優(yōu)先級隊列緩存并使用基于加權(quán)輪詢的雙優(yōu)先級隊列調(diào)度算法對FC網(wǎng)絡(luò)中普通消息和緊急消息進(jìn)行及時響應(yīng)。在搭建的實驗環(huán)境上進(jìn)行了FC單接口傳輸測試、廣播式傳輸測試和隨機(jī)負(fù)載下測試3種測試方法實驗,并對實驗結(jié)果進(jìn)行了對比與分析,在性能測試指標(biāo)方面選取了應(yīng)用廣泛并較為直觀的平均傳輸速率和平均傳輸時延兩個指標(biāo),通過在拓?fù)淠P蜕线M(jìn)行實驗,模擬ICP工作環(huán)境下FC網(wǎng)絡(luò)的性能。對ICP的FC網(wǎng)絡(luò)的性能進(jìn)行了評價,為ICP系統(tǒng)和IMA航空電子系統(tǒng)的整體性能改進(jìn)提供了參考依據(jù)。