王 珂,蔣華勤,王麗霞,遠(yuǎn) 方
(1.鄭州供電公司,河南 鄭州 450000;2.黃河科技學(xué)院,河南 鄭州 450000)
光纖通道是美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)(ANSI)的X3T11小組制定的一套關(guān)于計(jì)算機(jī)之間以及計(jì)算機(jī)與I/O設(shè)備之間的一種開(kāi)放式高速串行協(xié)議。它既具有通道的特點(diǎn),又有網(wǎng)絡(luò)的特性,逐步成為計(jì)算機(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)境中把多個(gè)節(jié)點(diǎn)連在一起的方法。
光纖通道具有高寬帶、低延遲、高可靠等一系列優(yōu)點(diǎn),因而被認(rèn)為是取代MIL-STD-1553成為下一代軍用數(shù)據(jù)總線的首選方案。由于軍用數(shù)據(jù)總線應(yīng)用環(huán)境的特殊性,某些信息的丟失或者沒(méi)能按時(shí)傳遞到位,可能導(dǎo)致不可估量的后果,因此對(duì)總線的實(shí)時(shí)性能要求更高。能否確保消息的實(shí)時(shí)傳輸是衡量分布式實(shí)時(shí)應(yīng)用的重要指標(biāo),仲裁環(huán)協(xié)議不僅能提供較高的網(wǎng)絡(luò)帶寬,而且有優(yōu)良的延時(shí)特性以確保消息的實(shí)時(shí)傳輸要求,因此在實(shí)時(shí)聯(lián)網(wǎng)環(huán)境中得到了廣泛的應(yīng)用。
目前在對(duì)數(shù)據(jù)總線技術(shù)實(shí)時(shí)性能的研究中,為了實(shí)現(xiàn)網(wǎng)絡(luò)的實(shí)時(shí)傳輸特性,主要方法就是對(duì)網(wǎng)絡(luò)帶寬進(jìn)行合理的分配。帶寬分配方法的選擇直接影響到網(wǎng)絡(luò)的實(shí)時(shí)性能。本文就仲裁環(huán)協(xié)議的數(shù)據(jù)傳輸過(guò)程進(jìn)行了簡(jiǎn)要分析,闡明了帶寬分配的必要性,并就目前存在的一些帶寬分配方法進(jìn)行了分析和比較,最后驗(yàn)證了選擇合適的帶寬分配方法對(duì)提高網(wǎng)絡(luò)的實(shí)時(shí)性能有著關(guān)鍵的作用。
光纖通道仲裁環(huán)協(xié)議和令牌環(huán)協(xié)議一樣,都屬于公共信道多址接入?yún)f(xié)議,專門(mén)規(guī)定仲裁環(huán)的連接方式,通過(guò)一個(gè)環(huán)路將各個(gè)節(jié)點(diǎn)串接起來(lái),各個(gè)節(jié)點(diǎn)之間通過(guò)競(jìng)爭(zhēng)來(lái)訪問(wèn)環(huán)網(wǎng),當(dāng)某節(jié)點(diǎn)檢測(cè)到環(huán)路處于空閑狀態(tài)時(shí),可以通過(guò)贏得仲裁來(lái)獲得網(wǎng)絡(luò)的訪問(wèn)權(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)路時(shí),光纖通道仲裁環(huán)體系都需要重新初始化程序?qū)Νh(huán)路進(jìn)行初始化,以確定環(huán)路中各個(gè)端口個(gè)數(shù)和狀態(tài)。環(huán)路初始化主要依靠環(huán)端口狀態(tài)機(jī)(LPSM)來(lái)完成,同時(shí)給各個(gè)節(jié)點(diǎn)分配仲裁環(huán)物理地址(AL_PA)以及建立地址的對(duì)應(yīng)關(guān)系,初始化后各個(gè)節(jié)點(diǎn)就處于激活狀態(tài)。其中所分配的仲裁環(huán)物理地址的范圍為1~127,地址越低,優(yōu)先權(quán)越高。初始化結(jié)束后,如果節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送,則向環(huán)路發(fā)送帶自己物理地址的仲裁申請(qǐng)?jiān)Z(yǔ)信號(hào)ARB_x(x=AL_PA),同時(shí),該節(jié)點(diǎn)還會(huì)不斷監(jiān)視網(wǎng)絡(luò)中的其他ARB原語(yǔ)信號(hào),如果網(wǎng)絡(luò)中其他節(jié)點(diǎn)也有數(shù)據(jù)要發(fā)送,則收到其他節(jié)點(diǎn)的ARB原語(yǔ)后,將其所帶的AL-PA值和自己的AL-PA相比較,如果大于自己的物理地址,則表明優(yōu)先級(jí)比自己低,將收到的ARB_x原語(yǔ)丟棄,發(fā)送帶自己AL_PA值的ARB_y。否則繼續(xù)轉(zhuǎn)發(fā)收到的ARB原語(yǔ)。如果節(jié)點(diǎn)收到帶有自己AL-PA的ARB信號(hào),則表明節(jié)點(diǎn)贏得仲裁,獲得環(huán)路的訪問(wèn)權(quán)。此時(shí)該節(jié)點(diǎn)發(fā)送一個(gè)OPN_yx(y=目標(biāo)節(jié)點(diǎn)AL-PA值,x=本節(jié)點(diǎn)AL-PA值)信號(hào)用來(lái)開(kāi)放目標(biāo)節(jié)點(diǎn)之間的通信。當(dāng)目標(biāo)節(jié)點(diǎn)接收到OPN信號(hào)后,則將自身的狀態(tài)轉(zhuǎn)化為OPEN,和源節(jié)點(diǎn)建立起一個(gè)相當(dāng)于點(diǎn)到點(diǎn)的鏈接,直到接收節(jié)點(diǎn)或是發(fā)送節(jié)點(diǎn)收到CLS原語(yǔ)信號(hào),放棄鏈接。由于仲裁環(huán)也是一種帶優(yōu)先級(jí)的多址接入?yún)f(xié)議,因此也可能存在像其他帶優(yōu)先級(jí)協(xié)議一樣的問(wèn)題,就是優(yōu)先級(jí)低的節(jié)點(diǎn)可能無(wú)法獲得環(huán)路的訪問(wèn)權(quán)。為了解決這一問(wèn)題,F(xiàn)C-AL協(xié)議制定了訪問(wèn)公平機(jī)制,即在某段時(shí)間區(qū)間內(nèi),所有申請(qǐng)仲裁的節(jié)點(diǎn)組成一個(gè)“訪問(wèn)窗”。訪問(wèn)窗內(nèi)任何贏得仲裁的節(jié)點(diǎn)在發(fā)送完一個(gè)數(shù)據(jù)包后,即使還有數(shù)據(jù)需要發(fā)送,也必須等待窗口內(nèi)其他節(jié)點(diǎn)都發(fā)送過(guò)一次數(shù)據(jù)包之后才能重新申請(qǐng)下次環(huán)路的仲裁。例如,某節(jié)點(diǎn)贏得仲裁后,向目標(biāo)節(jié)點(diǎn)發(fā)送了一個(gè)數(shù)據(jù)包,同時(shí)也發(fā)出一個(gè)ARB(F0)原語(yǔ)信號(hào),這里的F0具有最低的優(yōu)先級(jí),如果窗內(nèi)還有其他節(jié)點(diǎn)沒(méi)有發(fā)送過(guò)數(shù)據(jù),則將ARB_x信號(hào)代替ARB(F0),這些節(jié)點(diǎn)重新比較優(yōu)先級(jí)的高低,依次發(fā)送數(shù)據(jù),當(dāng)處于贏得仲裁的節(jié)點(diǎn)收到了ARB(F0)后,則認(rèn)為目前這個(gè)訪問(wèn)窗內(nèi)所有的節(jié)點(diǎn)均發(fā)送過(guò)數(shù)據(jù),開(kāi)始傳送空閑信號(hào)Idle,此時(shí)還有數(shù)據(jù)需要發(fā)送的節(jié)點(diǎn)可以重新申請(qǐng)仲裁,新的訪問(wèn)窗口就可以建立,并且窗口大小將隨著正在仲裁的節(jié)點(diǎn)數(shù)目的變化而變化。
在“公平算法”中,各個(gè)節(jié)點(diǎn)訪問(wèn)環(huán)路的機(jī)會(huì)基本上是平等的,這種方法比較適合于網(wǎng)絡(luò)上的負(fù)載平均分布在各個(gè)節(jié)點(diǎn)上,并且在各個(gè)節(jié)點(diǎn)對(duì)消息時(shí)延差別不是很大的場(chǎng)合,但在實(shí)時(shí)性要求比較嚴(yán)格的領(lǐng)域,比如軍事領(lǐng)域,這種方法還存在著一定的缺陷。有些節(jié)點(diǎn)的實(shí)時(shí)性要求比較高,有些相對(duì)而言又比較低,如果還是按照公平算法,一個(gè)節(jié)點(diǎn)獲得仲裁后發(fā)送一個(gè)數(shù)據(jù)包,然后等待訪問(wèn)窗內(nèi)的其他節(jié)點(diǎn)均發(fā)送一次數(shù)據(jù)包后再重新申請(qǐng)仲裁。FC協(xié)議定義的幀結(jié)構(gòu)中,由于其數(shù)據(jù)域比較大(2 kbyte),在強(qiáng)實(shí)時(shí)性應(yīng)用環(huán)境下,如果其他節(jié)點(diǎn)均以最大的數(shù)據(jù)包發(fā)送,那么對(duì)實(shí)時(shí)性要求比較高的節(jié)點(diǎn)需要等待的時(shí)間就很長(zhǎng),從而可能導(dǎo)致其錯(cuò)失消息發(fā)送的時(shí)限,消息不能實(shí)時(shí)傳輸。
周期性任務(wù)模型是實(shí)時(shí)通信中經(jīng)常采用的一種工作模型,是一種確定性的工作負(fù)荷模型。通過(guò)它的各種擴(kuò)展,此模型精確地表示了許多傳統(tǒng)強(qiáng)實(shí)時(shí)應(yīng)用的特征,比如數(shù)字控制、實(shí)時(shí)監(jiān)視、常比特率音頻/視頻傳輸?;诖四P偷脑S多帶寬分配算法具有很好的性能和容易理解的行為。在目前存在的一些帶寬分配方法中,大多都采用了這種任務(wù)模型。
假設(shè)網(wǎng)絡(luò)中有n個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)i都有一個(gè)實(shí)時(shí)消息流Si需要在網(wǎng)絡(luò)中傳輸,每個(gè)消息流Si可以表征為Si=(Ci,Pi,Di),因此網(wǎng)絡(luò)上共有n個(gè)消息流S1,S2,…,Sn,組成一個(gè)消息集合M,即
消息流的特征表示為:
1)消息流Si的長(zhǎng)度Ci表示傳輸這個(gè)消息所需的最大時(shí)間,包括網(wǎng)絡(luò)協(xié)議規(guī)定的信息域和其他控制信息。
2)消息流產(chǎn)生周期Pi表示消息流Si的消息產(chǎn)生周期。
3)Di表示消息的最大允許延遲時(shí)間,即消息流Si的第j個(gè)消息達(dá)到時(shí)間為ti,j,則必須在ti,j+Di時(shí)刻以前被傳輸完。
目前在數(shù)據(jù)總線技術(shù)中應(yīng)用比較多的帶寬分配方法主要有[3-6]:
1)耗盡型。節(jié)點(diǎn)每次獲得網(wǎng)絡(luò)訪問(wèn)權(quán)發(fā)送隊(duì)列里的全部消息,即
4)歸一化比例型。節(jié)點(diǎn)按歸一化消息流負(fù)載率分配網(wǎng)絡(luò)帶寬
6)負(fù)載匹配型。在本地型帶寬分配算法的基礎(chǔ)上,利用基于負(fù)載匹配的思想得出的一種帶寬分配算法,即
7)基于優(yōu)化算法的帶寬分配方法。根據(jù)公平訪問(wèn)機(jī)制,得出了消息在最壞的情況下要實(shí)現(xiàn)實(shí)時(shí)傳輸所需滿足的條件為
將每個(gè)fi看成一個(gè)“粒子”,然后通過(guò)設(shè)立目標(biāo)函數(shù)和約束條件,可將FC-AL網(wǎng)絡(luò)帶寬分配問(wèn)題轉(zhuǎn)換成如下函數(shù)的優(yōu)化問(wèn)題
從消息產(chǎn)生到信息被接受之間的全部通信延遲稱作端到端延遲(ETE_delay),是構(gòu)成仲裁環(huán)節(jié)點(diǎn)間信息交互的一個(gè)重要部分。如果端到端的延遲要求不能滿足,則無(wú)法保證消息的實(shí)時(shí)性。本文對(duì)以上提及的部分方法進(jìn)行簡(jiǎn)單比較,分析對(duì)網(wǎng)絡(luò)的實(shí)時(shí)性能產(chǎn)生的影響。消息流特征如表1所示。
表1 消息流特征
以上文提到的耗盡型、比例型、負(fù)載匹配型和基于優(yōu)化算法的帶寬分配方法為例,得出各種方法的ETE_de?lay情況如圖1~圖4所示。
本次實(shí)驗(yàn)在各節(jié)點(diǎn)消息流要求的最大延遲時(shí)間中,最小的是0.12 ms,最大的是0.3 ms,可以看出在耗盡型下,大部分消息都不能得以實(shí)時(shí)傳輸,實(shí)時(shí)性能最差;比例型是基于各節(jié)點(diǎn)的負(fù)載率進(jìn)行帶寬分配的,有利于重負(fù)荷節(jié)點(diǎn)的傳輸,在本例中對(duì)提高消息的實(shí)時(shí)性起到了一定的作用;負(fù)載匹配型在網(wǎng)絡(luò)負(fù)載率小于50%時(shí)能滿足同優(yōu)先級(jí)消息實(shí)時(shí)性要求,在本例中效果不是十分明顯;基于優(yōu)化算法的帶寬分配方法對(duì)滿足消息的實(shí)時(shí)性上效果最好,所有消息均能在其傳輸時(shí)限之前得以發(fā)送。
本文分析了光纖通道仲裁環(huán)的數(shù)據(jù)的傳輸過(guò)程,指出了其在實(shí)時(shí)環(huán)境中應(yīng)用的不足,并針對(duì)目前存在的一些帶寬分配方法進(jìn)行了分析比較,驗(yàn)證了選擇合適的帶寬分配對(duì)仲裁環(huán)的實(shí)時(shí)性有著重要的影響。
[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)實(shí)時(shí)條件下光纖通道仲裁環(huán)帶寬分配方法[J].北京航空航天大學(xué)學(xué)報(bào),2005,31(4):443-446.