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