王 珂,蔣華勤,王麗霞,遠(yuǎn) 方
(1.鄭州供電公司,河南 鄭州 450000;2.黃河科技學(xué)院,河南 鄭州 450000)
光纖通道是美國國家標(biāo)準(zhǔn)委員會(ANSI)的X3T11小組制定的一套關(guān)于計算機(jī)之間以及計算機(jī)與I/O設(shè)備之間的一種開放式高速串行協(xié)議。它既具有通道的特點(diǎn),又有網(wǎng)絡(luò)的特性,逐步成為計算機(jī)外設(shè)總線,以及當(dāng)今分布式、多協(xié)議高速局域網(wǎng)絡(luò)的最佳選擇之一。光纖通道仲裁環(huán)(Fibre Channel Arbitrated Loop,F(xiàn)C-AL)是光纖通道拓?fù)渲幸环N重要的網(wǎng)絡(luò)結(jié)構(gòu),它提供了在共享式光纖網(wǎng)絡(luò)環(huán)境中把多個節(jié)點(diǎn)連在一起的方法。
光纖通道具有高寬帶、低延遲、高可靠等一系列優(yōu)點(diǎn),因而被認(rèn)為是取代MIL-STD-1553成為下一代軍用數(shù)據(jù)總線的首選方案。由于軍用數(shù)據(jù)總線應(yīng)用環(huán)境的特殊性,某些信息的丟失或者沒能按時傳遞到位,可能導(dǎo)致不可估量的后果,因此對總線的實時性能要求更高。能否確保消息的實時傳輸是衡量分布式實時應(yīng)用的重要指標(biāo),仲裁環(huán)協(xié)議不僅能提供較高的網(wǎng)絡(luò)帶寬,而且有優(yōu)良的延時特性以確保消息的實時傳輸要求,因此在實時聯(lián)網(wǎng)環(huán)境中得到了廣泛的應(yīng)用。
目前在對數(shù)據(jù)總線技術(shù)實時性能的研究中,為了實現(xiàn)網(wǎng)絡(luò)的實時傳輸特性,主要方法就是對網(wǎng)絡(luò)帶寬進(jìn)行合理的分配。帶寬分配方法的選擇直接影響到網(wǎng)絡(luò)的實時性能。本文就仲裁環(huán)協(xié)議的數(shù)據(jù)傳輸過程進(jìn)行了簡要分析,闡明了帶寬分配的必要性,并就目前存在的一些帶寬分配方法進(jìn)行了分析和比較,最后驗證了選擇合適的帶寬分配方法對提高網(wǎng)絡(luò)的實時性能有著關(guān)鍵的作用。
光纖通道仲裁環(huán)協(xié)議和令牌環(huán)協(xié)議一樣,都屬于公共信道多址接入?yún)f(xié)議,專門規(guī)定仲裁環(huán)的連接方式,通過一個環(huán)路將各個節(jié)點(diǎn)串接起來,各個節(jié)點(diǎn)之間通過競爭來訪問環(huán)網(wǎng),當(dāng)某節(jié)點(diǎn)檢測到環(huán)路處于空閑狀態(tài)時,可以通過贏得仲裁來獲得網(wǎng)絡(luò)的訪問權(quán)。一旦節(jié)點(diǎn)贏得仲裁后,就可以在目標(biāo)和源節(jié)點(diǎn)之間建立一條點(diǎn)到點(diǎn)的鏈路,在完全保證連接帶寬的情況下可以進(jìn)行點(diǎn)到點(diǎn)的通信,直到節(jié)點(diǎn)釋放環(huán)路使用權(quán)為止。
當(dāng)系統(tǒng)上電后或者有新的節(jié)點(diǎn)加入環(huán)路時,光纖通道仲裁環(huán)體系都需要重新初始化程序?qū)Νh(huán)路進(jìn)行初始化,以確定環(huán)路中各個端口個數(shù)和狀態(tài)。環(huán)路初始化主要依靠環(huán)端口狀態(tài)機(jī)(LPSM)來完成,同時給各個節(jié)點(diǎn)分配仲裁環(huán)物理地址(AL_PA)以及建立地址的對應(yīng)關(guān)系,初始化后各個節(jié)點(diǎn)就處于激活狀態(tài)。其中所分配的仲裁環(huán)物理地址的范圍為1~127,地址越低,優(yōu)先權(quán)越高。初始化結(jié)束后,如果節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送,則向環(huán)路發(fā)送帶自己物理地址的仲裁申請原語信號ARB_x(x=AL_PA),同時,該節(jié)點(diǎn)還會不斷監(jiān)視網(wǎng)絡(luò)中的其他ARB原語信號,如果網(wǎng)絡(luò)中其他節(jié)點(diǎn)也有數(shù)據(jù)要發(fā)送,則收到其他節(jié)點(diǎn)的ARB原語后,將其所帶的AL-PA值和自己的AL-PA相比較,如果大于自己的物理地址,則表明優(yōu)先級比自己低,將收到的ARB_x原語丟棄,發(fā)送帶自己AL_PA值的ARB_y。否則繼續(xù)轉(zhuǎn)發(fā)收到的ARB原語。如果節(jié)點(diǎn)收到帶有自己AL-PA的ARB信號,則表明節(jié)點(diǎn)贏得仲裁,獲得環(huán)路的訪問權(quán)。此時該節(jié)點(diǎn)發(fā)送一個OPN_yx(y=目標(biāo)節(jié)點(diǎn)AL-PA值,x=本節(jié)點(diǎn)AL-PA值)信號用來開放目標(biāo)節(jié)點(diǎn)之間的通信。當(dāng)目標(biāo)節(jié)點(diǎn)接收到OPN信號后,則將自身的狀態(tài)轉(zhuǎn)化為OPEN,和源節(jié)點(diǎn)建立起一個相當(dāng)于點(diǎn)到點(diǎn)的鏈接,直到接收節(jié)點(diǎn)或是發(fā)送節(jié)點(diǎn)收到CLS原語信號,放棄鏈接。由于仲裁環(huán)也是一種帶優(yōu)先級的多址接入?yún)f(xié)議,因此也可能存在像其他帶優(yōu)先級協(xié)議一樣的問題,就是優(yōu)先級低的節(jié)點(diǎn)可能無法獲得環(huán)路的訪問權(quán)。為了解決這一問題,F(xiàn)C-AL協(xié)議制定了訪問公平機(jī)制,即在某段時間區(qū)間內(nèi),所有申請仲裁的節(jié)點(diǎn)組成一個“訪問窗”。訪問窗內(nèi)任何贏得仲裁的節(jié)點(diǎn)在發(fā)送完一個數(shù)據(jù)包后,即使還有數(shù)據(jù)需要發(fā)送,也必須等待窗口內(nèi)其他節(jié)點(diǎn)都發(fā)送過一次數(shù)據(jù)包之后才能重新申請下次環(huán)路的仲裁。例如,某節(jié)點(diǎn)贏得仲裁后,向目標(biāo)節(jié)點(diǎn)發(fā)送了一個數(shù)據(jù)包,同時也發(fā)出一個ARB(F0)原語信號,這里的F0具有最低的優(yōu)先級,如果窗內(nèi)還有其他節(jié)點(diǎn)沒有發(fā)送過數(shù)據(jù),則將ARB_x信號代替ARB(F0),這些節(jié)點(diǎn)重新比較優(yōu)先級的高低,依次發(fā)送數(shù)據(jù),當(dāng)處于贏得仲裁的節(jié)點(diǎn)收到了ARB(F0)后,則認(rèn)為目前這個訪問窗內(nèi)所有的節(jié)點(diǎn)均發(fā)送過數(shù)據(jù),開始傳送空閑信號Idle,此時還有數(shù)據(jù)需要發(fā)送的節(jié)點(diǎn)可以重新申請仲裁,新的訪問窗口就可以建立,并且窗口大小將隨著正在仲裁的節(jié)點(diǎn)數(shù)目的變化而變化。
在“公平算法”中,各個節(jié)點(diǎn)訪問環(huán)路的機(jī)會基本上是平等的,這種方法比較適合于網(wǎng)絡(luò)上的負(fù)載平均分布在各個節(jié)點(diǎn)上,并且在各個節(jié)點(diǎn)對消息時延差別不是很大的場合,但在實時性要求比較嚴(yán)格的領(lǐng)域,比如軍事領(lǐng)域,這種方法還存在著一定的缺陷。有些節(jié)點(diǎn)的實時性要求比較高,有些相對而言又比較低,如果還是按照公平算法,一個節(jié)點(diǎn)獲得仲裁后發(fā)送一個數(shù)據(jù)包,然后等待訪問窗內(nèi)的其他節(jié)點(diǎn)均發(fā)送一次數(shù)據(jù)包后再重新申請仲裁。FC協(xié)議定義的幀結(jié)構(gòu)中,由于其數(shù)據(jù)域比較大(2 kbyte),在強(qiáng)實時性應(yīng)用環(huán)境下,如果其他節(jié)點(diǎn)均以最大的數(shù)據(jù)包發(fā)送,那么對實時性要求比較高的節(jié)點(diǎn)需要等待的時間就很長,從而可能導(dǎo)致其錯失消息發(fā)送的時限,消息不能實時傳輸。
周期性任務(wù)模型是實時通信中經(jīng)常采用的一種工作模型,是一種確定性的工作負(fù)荷模型。通過它的各種擴(kuò)展,此模型精確地表示了許多傳統(tǒng)強(qiáng)實時應(yīng)用的特征,比如數(shù)字控制、實時監(jiān)視、常比特率音頻/視頻傳輸?;诖四P偷脑S多帶寬分配算法具有很好的性能和容易理解的行為。在目前存在的一些帶寬分配方法中,大多都采用了這種任務(wù)模型。
假設(shè)網(wǎng)絡(luò)中有n個節(jié)點(diǎn),每個節(jié)點(diǎn)i都有一個實時消息流Si需要在網(wǎng)絡(luò)中傳輸,每個消息流Si可以表征為Si=(Ci,Pi,Di),因此網(wǎng)絡(luò)上共有n個消息流S1,S2,…,Sn,組成一個消息集合M,即
消息流的特征表示為:
1)消息流Si的長度Ci表示傳輸這個消息所需的最大時間,包括網(wǎng)絡(luò)協(xié)議規(guī)定的信息域和其他控制信息。
2)消息流產(chǎn)生周期Pi表示消息流Si的消息產(chǎn)生周期。
3)Di表示消息的最大允許延遲時間,即消息流Si的第j個消息達(dá)到時間為ti,j,則必須在ti,j+Di時刻以前被傳輸完。
目前在數(shù)據(jù)總線技術(shù)中應(yīng)用比較多的帶寬分配方法主要有[3-6]:
1)耗盡型。節(jié)點(diǎn)每次獲得網(wǎng)絡(luò)訪問權(quán)發(fā)送隊列里的全部消息,即
4)歸一化比例型。節(jié)點(diǎn)按歸一化消息流負(fù)載率分配網(wǎng)絡(luò)帶寬
6)負(fù)載匹配型。在本地型帶寬分配算法的基礎(chǔ)上,利用基于負(fù)載匹配的思想得出的一種帶寬分配算法,即
7)基于優(yōu)化算法的帶寬分配方法。根據(jù)公平訪問機(jī)制,得出了消息在最壞的情況下要實現(xiàn)實時傳輸所需滿足的條件為
將每個fi看成一個“粒子”,然后通過設(shè)立目標(biāo)函數(shù)和約束條件,可將FC-AL網(wǎng)絡(luò)帶寬分配問題轉(zhuǎn)換成如下函數(shù)的優(yōu)化問題
從消息產(chǎn)生到信息被接受之間的全部通信延遲稱作端到端延遲(ETE_delay),是構(gòu)成仲裁環(huán)節(jié)點(diǎn)間信息交互的一個重要部分。如果端到端的延遲要求不能滿足,則無法保證消息的實時性。本文對以上提及的部分方法進(jìn)行簡單比較,分析對網(wǎng)絡(luò)的實時性能產(chǎn)生的影響。消息流特征如表1所示。
表1 消息流特征
以上文提到的耗盡型、比例型、負(fù)載匹配型和基于優(yōu)化算法的帶寬分配方法為例,得出各種方法的ETE_de?lay情況如圖1~圖4所示。
本次實驗在各節(jié)點(diǎn)消息流要求的最大延遲時間中,最小的是0.12 ms,最大的是0.3 ms,可以看出在耗盡型下,大部分消息都不能得以實時傳輸,實時性能最差;比例型是基于各節(jié)點(diǎn)的負(fù)載率進(jìn)行帶寬分配的,有利于重負(fù)荷節(jié)點(diǎn)的傳輸,在本例中對提高消息的實時性起到了一定的作用;負(fù)載匹配型在網(wǎng)絡(luò)負(fù)載率小于50%時能滿足同優(yōu)先級消息實時性要求,在本例中效果不是十分明顯;基于優(yōu)化算法的帶寬分配方法對滿足消息的實時性上效果最好,所有消息均能在其傳輸時限之前得以發(fā)送。
本文分析了光纖通道仲裁環(huán)的數(shù)據(jù)的傳輸過程,指出了其在實時環(huán)境中應(yīng)用的不足,并針對目前存在的一些帶寬分配方法進(jìn)行了分析比較,驗證了選擇合適的帶寬分配對仲裁環(huán)的實時性有著重要的影響。
[1]LIAO Zhihua,HAN Chuanjiu.Bandwidth allocation for FC-AL based on PSO[C]//Proc.International Conference on Communication Technology.Guilin:IEEE Press,2006:269-272.
[2]Fibre channel framing and signaling[EB/OL].[2010-09-23].http://www.t11.org/ftp/t11/pub/fc/fs-3/09-112v2.pdf.
[3]Fibre channel arbitrate loop[EB/OL].[2010-09-23].http://www.xilinx.com/support/documentation/ip_dc_fibrechannelal.htm.
[4]AGRAWAL G,CHEN B,ZHAO W,et al.Guaranteeing synchronous message deadlines with the timed token medium access control protocol[EB/OL].[2010-09-23].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.6084&rep=rep1&type=pdf.
[5]ZHOU Qiang,LUO Zhiqiang,LI Qiao,et al.An optimal bandwidth allocation scheme and real—time performance analysis for LTPB network[C]//Proc.National Aerospace and Electronics Conference.Dayton,OH,USA:IEEE Press,2000:180-186.
[6]林強(qiáng),熊華鋼,張其善.強(qiáng)實時條件下光纖通道仲裁環(huán)帶寬分配方法[J].北京航空航天大學(xué)學(xué)報,2005,31(4):443-446.