伊小素,王家興,姜夢(mèng)茹,董偉濤,劉 輝
(北京航空航天大學(xué)儀器科學(xué)與光電工程學(xué)院,北京 100191)
隨著航天應(yīng)用需求的提升,空間網(wǎng)絡(luò)中的數(shù)據(jù)流也越來(lái)越復(fù)雜,英國(guó)鄧迪大學(xué)針對(duì)這一情況在SpaceWire[1-2]基礎(chǔ)上提出了新一代高速通信總線(SpaceFibre總線)。SpaceFibre[3-6]能夠在電纜和光纖介質(zhì)上工作,并支持超過2Gbit/s的傳輸速率,同時(shí)SpaceFibre以其高速遠(yuǎn)距離數(shù)據(jù)傳輸、高帶寬、低串?dāng)_、低衰減等特點(diǎn)完美地滿足了空間任務(wù)的需求。隨著空間機(jī)器人[7]、合成孔徑雷達(dá)(SAR)[8]和其他傳感設(shè)備在航天任務(wù)中的應(yīng)用,在短時(shí)間內(nèi)傳輸大量實(shí)時(shí)數(shù)據(jù)流的能力變得越來(lái)越重要??臻g任務(wù)的復(fù)雜性意味著每種不同類型的數(shù)據(jù)通信對(duì)不同的服務(wù)需求有不同的要求,因此SpaceFibre采用了虛擬通道(Virtual channel,VC)機(jī)制,將復(fù)雜的流量劃分為不同的數(shù)據(jù)隊(duì)列,每一類數(shù)據(jù)隊(duì)列單獨(dú)占用一路VC發(fā)送數(shù)據(jù)。
然而,多個(gè)虛擬通道的應(yīng)用增加了在多個(gè)VC同時(shí)發(fā)送數(shù)據(jù)的情況下各VC對(duì)鏈路資源的競(jìng)爭(zhēng)。為了解決數(shù)據(jù)流過載造成的網(wǎng)絡(luò)沖突問題,SpaceFibre協(xié)議提出了服務(wù)質(zhì)量(Quality of service,QoS)機(jī)制來(lái)管理這些復(fù)雜的數(shù)據(jù)流。作為一種網(wǎng)絡(luò)安全機(jī)制,QoS技術(shù)已經(jīng)在許多網(wǎng)絡(luò)中得到了應(yīng)用,特別是在廣域網(wǎng)和無(wú)線網(wǎng)絡(luò)中,在提高網(wǎng)絡(luò)性能方面發(fā)揮了重要作用[9]。然而,與其他網(wǎng)絡(luò)相比,星載網(wǎng)絡(luò)的規(guī)模較小,但傳輸?shù)臄?shù)據(jù)量更多,對(duì)實(shí)時(shí)性和可靠性要求更高[10]。簡(jiǎn)單地使用其他網(wǎng)絡(luò)所使用的QoS機(jī)制和算法是不合適的。另外,雖然在SpaceFibre協(xié)議中提出了三種QoS機(jī)制,包括優(yōu)先權(quán)、帶寬預(yù)留和時(shí)間槽調(diào)度機(jī)制,但很少有文獻(xiàn)詳細(xì)介紹這些機(jī)制的實(shí)現(xiàn)方式或算法。
本文提出一種基于二進(jìn)制序列調(diào)度機(jī)制實(shí)現(xiàn)SpaceFibre中QoS功能的新算法。該算法根據(jù)空間網(wǎng)絡(luò)中各類數(shù)據(jù)流量的特征生成對(duì)應(yīng)的二進(jìn)制調(diào)度序列來(lái)管理數(shù)據(jù)流的傳輸,針對(duì)不同的空間任務(wù),調(diào)整調(diào)度矩陣中的數(shù)值,占用較少的存儲(chǔ)器和計(jì)數(shù)器,不僅節(jié)省了硬件資源,而且保證了數(shù)據(jù)傳輸?shù)姆€(wěn)定性,為SpaceFibre總線QoS機(jī)制的實(shí)現(xiàn)提供了一種的新的方法。
在SpaceFibre網(wǎng)絡(luò)中,所有的數(shù)據(jù)包都是通過虛擬通道(VC)傳輸?shù)?。VC的數(shù)量是由SpaceFibre數(shù)據(jù)鏈路上的負(fù)載決定的,最大值為32。每個(gè)VC都被分配一個(gè)從0到31的唯一號(hào)碼,并且VC 0被用來(lái)配置每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的參數(shù)。所有VC通過三種QoS機(jī)制來(lái)競(jìng)爭(zhēng)鏈路資源,保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
優(yōu)先權(quán)機(jī)制是SpaceFibre中最基本的一種QoS機(jī)制,每個(gè)VC被分配一個(gè)優(yōu)先權(quán)值,通常情況下,具有最高優(yōu)先權(quán)的VC在準(zhǔn)備就緒時(shí)被允許發(fā)送下一個(gè)數(shù)據(jù)幀。SpaceFibre中有16個(gè)優(yōu)先權(quán)級(jí)別,可以將多個(gè)VC設(shè)置為相同的優(yōu)先權(quán),在這種情況下,VC將通過待發(fā)送時(shí)刻的優(yōu)先級(jí)來(lái)競(jìng)爭(zhēng)介質(zhì)訪問權(quán)。
系統(tǒng)在初始化過程中會(huì)根據(jù)每一路VC所承載數(shù)據(jù)的流量大小為其分配到對(duì)應(yīng)的預(yù)留帶寬,如果僅僅采用優(yōu)先權(quán)機(jī)制,那么即使在分配給特定通道的帶寬量被指定后,其他高優(yōu)先權(quán)VC依然可以占用其帶寬。因此需要采用一種帶寬保護(hù)機(jī)制,當(dāng)某一路VC連續(xù)發(fā)送數(shù)據(jù)時(shí),該VC的優(yōu)先級(jí)會(huì)不斷減少,如果其優(yōu)先級(jí)下降到最小限制值后,即使它擁有最高的優(yōu)先權(quán)也會(huì)停止數(shù)據(jù)發(fā)送,如果該VC在之后一段時(shí)間沒有占用鏈路帶寬,那么它將累積優(yōu)先級(jí),從而保證該通道上承載的數(shù)據(jù)流量有效發(fā)送,這種保護(hù)機(jī)制稱為帶寬預(yù)留機(jī)制。帶寬預(yù)留機(jī)制的提出是為了防止某一路VC在擁有高優(yōu)先權(quán)的同時(shí)發(fā)送大量的數(shù)據(jù)而影響到其他VC的數(shù)據(jù)發(fā)送。優(yōu)先權(quán)和優(yōu)先級(jí)的關(guān)系[11]如圖1所示。從圖1可以看出,在優(yōu)先權(quán)下降到最小限制值前,擁有較高優(yōu)先權(quán)VC的優(yōu)先級(jí)永遠(yuǎn)比低優(yōu)先權(quán)VC的優(yōu)先級(jí)高,而同一優(yōu)先權(quán)的VC在不同時(shí)刻也會(huì)根據(jù)流量發(fā)送情況擁有不同的優(yōu)先級(jí)。
圖1 SpaceFibre協(xié)議中優(yōu)先權(quán)和優(yōu)先級(jí)的關(guān)系圖Fig.1 Relationship between priority and precedence in SpaceFibre protocol
為了提供完全確定的數(shù)據(jù)傳遞,SpaceFibre制定了時(shí)間槽調(diào)度機(jī)制,以確保來(lái)自特定VC的數(shù)據(jù)可以在特定時(shí)間發(fā)送。這可以通過將時(shí)間周期切成一系列時(shí)間槽來(lái)完成,在某一個(gè)時(shí)間槽內(nèi),允許特定的VC發(fā)送數(shù)據(jù)。在文獻(xiàn)[11]中,調(diào)度機(jī)制可以用Parkes等提供的調(diào)度表來(lái)描述,如圖2所示。圖2中給出了7個(gè)虛擬通道被隨機(jī)分配在8個(gè)時(shí)間槽中的例子,其中,灰色填充表示該VC允許在指定的時(shí)間槽內(nèi)發(fā)送數(shù)據(jù),而空白填充則表示該VC禁止在該時(shí)間槽內(nèi)發(fā)送數(shù)據(jù),一個(gè)VC可以根據(jù)信息傳輸?shù)男枨蟊环峙湟粋€(gè)或者多個(gè)時(shí)間槽。當(dāng)然,在不考慮優(yōu)先權(quán)和帶寬預(yù)留機(jī)制下,每一個(gè)時(shí)間槽最多只能被一個(gè)VC指定,從而保證在一個(gè)時(shí)間槽內(nèi)只能發(fā)送一個(gè)VC的數(shù)據(jù),避免數(shù)據(jù)沖突。
圖2 時(shí)間槽調(diào)度表Fig.2 Time slot scheduling table
為了提供有保證和高質(zhì)量的數(shù)據(jù)傳輸,這三種不同的QoS機(jī)制通常需要組合在一起工作才能發(fā)揮最佳的作用。圖3是Parkes在SpaceWire會(huì)議上列出的三種QoS機(jī)制混合使用的例子??梢钥闯?,對(duì)于VC1和VC2而言,僅僅使用時(shí)間槽調(diào)度機(jī)制就可以完成調(diào)度,而VC3到VC7則需要結(jié)合優(yōu)先權(quán)和帶寬預(yù)留機(jī)制才能完成調(diào)度。
圖3 SpaceFibre QoS機(jī)制混用實(shí)例表Fig.3 SpaceFibre QoS mechanism mixed instance table
圖4是SpaceFibre QoS機(jī)制的一種經(jīng)典應(yīng)用情況,頂層應(yīng)用可以將調(diào)度表完全填滿,僅僅依賴于優(yōu)先權(quán)和帶寬預(yù)留機(jī)制完成調(diào)度,此時(shí),所有VC在任意時(shí)間槽下都可以競(jìng)爭(zhēng)鏈路資源。
圖4 經(jīng)典調(diào)度機(jī)制Fig.4 Typical scheduling mechanism
從對(duì)上述QoS機(jī)制的分析中可以看出,優(yōu)先級(jí)是作為待調(diào)度VC是否被允許發(fā)送數(shù)據(jù)的公共度量,如圖5所示,不同虛擬通道的數(shù)據(jù)包進(jìn)入自己的緩沖區(qū)等待仲裁,介質(zhì)訪問控制器(Medium access control,MAC)通過比較來(lái)自不同VC的優(yōu)先級(jí),具有最高優(yōu)先級(jí)的VC將被允許發(fā)送下一幀數(shù)據(jù)。
圖5 調(diào)度原理圖Fig.5 Scheduling schematic diagram
SpaceFibre協(xié)議提供的三種QoS機(jī)制,為如何處理復(fù)雜的數(shù)據(jù)流提供了方向。然而,對(duì)于如何在復(fù)雜的空間網(wǎng)絡(luò)中實(shí)現(xiàn)QoS機(jī)制的研究還很少。不同的空間任務(wù)或數(shù)據(jù)流量對(duì)QoS的要求是不同的。例如,應(yīng)該以較小的帶寬量為控制指令等數(shù)據(jù)傳輸分配最高的優(yōu)先權(quán),而視頻流量就應(yīng)該在普通優(yōu)先權(quán)下為其分配更大的帶寬。因此需要通過采取有效的方法來(lái)平衡QoS配置,使之更適合于復(fù)雜的數(shù)據(jù)流傳輸。
如果我們用數(shù)字1來(lái)代替圖3中的灰色填充方框,用0來(lái)表示白色填充方框,就可以得到圖6中的二進(jìn)制調(diào)度表。表中使用數(shù)字0和1來(lái)表示當(dāng)前VC是否被允許發(fā)送數(shù)據(jù)包。這樣就可以通過一種算法生成一系列的二進(jìn)制序列來(lái)實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)流的管理。
圖6 SpaceFibre總線網(wǎng)絡(luò)二進(jìn)制調(diào)度表Fig.6 SpaceFibre bus network binary scheduling table
為了方便討論,假設(shè)系統(tǒng)在一個(gè)周期內(nèi)劃分的時(shí)間槽數(shù)量為L(zhǎng),虛擬通道的數(shù)量為K。則第i個(gè)二進(jìn)制序列可以由一個(gè)行向量指定:
Si= (Si(0),Si(1),…,Si(L-1)),
Si(0),…,Si(L-1)∈{0,1}
因此可以通過以下二進(jìn)制序列來(lái)代替圖6中的二進(jìn)制調(diào)度表:
S1=(10000000)
S2=(01001000)
S3=(00110111)
S4=(00110111)
S5=(00110111)
S6=(00110111)
S7=(00110111)
事實(shí)上,二進(jìn)制序列不僅可以用來(lái)確定調(diào)度序列,還可以用來(lái)分配帶寬。假設(shè)在每個(gè)時(shí)間槽中傳輸?shù)淖畲髱捠荁unit,可以得到每個(gè)VC在一個(gè)時(shí)間周期內(nèi)分配到的帶寬Bi為
(1)
那么需要分配給每個(gè)VC的帶寬比為Ri為
(2)
其中Btotal是指鏈路在一個(gè)時(shí)間周期內(nèi)的總帶寬。
在一個(gè)特定的星載網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的節(jié)點(diǎn)和接入設(shè)備是確定性的,因此可以預(yù)先確定每個(gè)節(jié)點(diǎn)和設(shè)備的帶寬需求。假設(shè)每個(gè)虛擬通道的帶寬需求與系統(tǒng)的總鏈路帶寬的比率為占空比F,并且滿足Fi≤Ri。例如,一個(gè)用于空間網(wǎng)絡(luò)中的高分辨攝像機(jī),大約需要600 Mbps的吞吐量,SpaceFibre的鏈路傳輸速率可以預(yù)先確定,假設(shè)速率為2 GBit/s,則SpaceFibre的鏈路總帶寬為2 Gbps。因此該相機(jī)的占空比為Fcam=600 M/2000 M=3/10。假設(shè)網(wǎng)絡(luò)中的各個(gè)流量的占空比是Fj,滿足Fj=Pj/Qj(j=1,2,…,K),且Pj/Qj是流量占空比的最簡(jiǎn)分式表達(dá)式,如果使用Dcmp來(lái)表示最小公倍數(shù),指定一個(gè)調(diào)度周期中時(shí)間槽的數(shù)量L為
L=Dcmp{Q1,Q2,…,QK}
(3)
為了方便計(jì)算,指定Fj=Rj,可以得到第j路VC在一個(gè)時(shí)間周期中的有效時(shí)間槽數(shù)量計(jì)算式:
(4)
另外由于控制流量具有易突發(fā)、高優(yōu)先權(quán)的特點(diǎn),為了避免控制指令的傳輸延遲和丟失,讓Scom=(1,1,…,1),這樣控制流量在一個(gè)周期內(nèi)所占用的時(shí)間槽個(gè)數(shù)是L。在網(wǎng)絡(luò)中,控制指令是隨機(jī)產(chǎn)生的,假設(shè)它的生成概率為p。由于分配給控制指令的VC允許在所有時(shí)間槽傳輸,并且假設(shè)它比其他VC具有更高的優(yōu)先級(jí),因此在傳輸發(fā)生沖突時(shí),其他虛擬通道的帶寬將被占用。針對(duì)這種情況,需要對(duì)其他VC的帶寬進(jìn)行補(bǔ)償。
為了方便討論,引入漢明互相關(guān)函數(shù)[12-13],漢明互相關(guān)函數(shù)的表達(dá)式為
(5)
以一個(gè)由四個(gè)二進(jìn)制序列組成的集合為例。其優(yōu)先權(quán)依次遞減,且占空比(不包括控制流量)分別為1/8,1/4和1/4。
S1=(11111111)
S2=(10000000)
S3=(01010000)
S4=(00110000)
則可以得到:
H(t;{1,2})=1,H(t;{1,3})=2,H(t;{1,4})=2,由文獻(xiàn)[12-13]可知,這些值分別表示VC2,VC3和VC4可能和控制流量發(fā)生碰撞的有效時(shí)間槽的數(shù)量。
在某種程度上,控制流量在每個(gè)時(shí)間槽中發(fā)送的概率是相等的。因此,其他各個(gè)VC可能與控制指令VC發(fā)生沖突的時(shí)間槽數(shù)量的期望是Ecol=Hp。則由于碰撞而需補(bǔ)償?shù)臅r(shí)間槽個(gè)數(shù)為Hp,因此可以通過調(diào)整二進(jìn)制序列來(lái)補(bǔ)償由于與控制流量的沖突而減小的帶寬,則將式(4)調(diào)整為
(6)
在空間網(wǎng)絡(luò)中,p的值相對(duì)于其他數(shù)據(jù)流量來(lái)說(shuō)非常小,因此Hp滿足0 (7) 因此示例中的四個(gè)二進(jìn)制序列在帶寬補(bǔ)償機(jī)制下可以調(diào)整為: 在一個(gè)時(shí)間槽內(nèi),SpaceFibre只允許一個(gè)虛擬通道傳輸數(shù)據(jù),那么當(dāng)T4時(shí)間槽到來(lái)時(shí),由于VC3的優(yōu)先權(quán)高于VC4,因此VC4上承載的數(shù)據(jù)流量極易發(fā)生堵塞,這也是SpaceFibre中帶寬預(yù)留機(jī)制想要避免的。因此可以對(duì)低優(yōu)先權(quán)VC采用實(shí)時(shí)帶寬補(bǔ)償?shù)姆椒?,即在與高優(yōu)先權(quán)VC沖突的時(shí)間槽之后增加一個(gè)有效時(shí)間槽的方式來(lái)保證數(shù)據(jù)實(shí)時(shí)發(fā)送。最終可以得到如下的二進(jìn)制序列: 此時(shí),每個(gè)VC都可以獲得等價(jià)于自身承載數(shù)據(jù)量大小的有效時(shí)間槽,因此本文考慮制定一種二進(jìn)制序列調(diào)度機(jī)制,通過生成一個(gè)完全確定的二進(jìn)制調(diào)度序列配合每個(gè)序列的優(yōu)先級(jí)來(lái)實(shí)現(xiàn)SpaceFibre中QoS機(jī)制的功能,當(dāng)然這里的優(yōu)先級(jí)僅僅是作為待調(diào)度VC是否被允許發(fā)送數(shù)據(jù)的公共度量值,它不會(huì)隨著時(shí)間變化,且每一個(gè)序列的優(yōu)先級(jí)是確定的、唯一的。 一個(gè)SpaceFibre網(wǎng)絡(luò)通常由大量的控制流量、視頻流量和傳感流量等組成。為了保證SpaceFibre空間信息交互網(wǎng)絡(luò)的性能,通常需要考慮以下技術(shù)參數(shù): 1) 確??刂浦噶畹膫鬏敃r(shí)延; 2) 滿足大容量數(shù)據(jù)流的及時(shí)傳輸,避免數(shù)據(jù)丟失和堵塞; 3) 避免多個(gè)VC同時(shí)發(fā)送數(shù)據(jù),造成信道沖突; 4) 最大限度地減少指定的時(shí)間槽內(nèi)無(wú)數(shù)據(jù)發(fā)送的現(xiàn)象,以及最大限度地利用鏈路帶寬資源; 5) 盡可能滿足符合實(shí)際帶寬要求的鏈路帶寬分配原則。 從第2.1節(jié)可以看出,二進(jìn)制序列調(diào)度機(jī)制可以滿足各個(gè)VC的帶寬要求,此外,對(duì)于星載網(wǎng)絡(luò)而言,延時(shí)性能也是需要考慮的一個(gè)關(guān)鍵因素。對(duì)于連續(xù)數(shù)據(jù)流而言,要想使生成的二進(jìn)制調(diào)度序列達(dá)到最佳的延時(shí)性能,應(yīng)當(dāng)在保證每個(gè)時(shí)間槽不被浪費(fèi)的情況下使相鄰兩個(gè)時(shí)間槽間距盡可能短。根據(jù)上述討論,二進(jìn)制序列調(diào)度算法的實(shí)現(xiàn)可以歸納為如圖7所示。 使用二進(jìn)制序列調(diào)度機(jī)制有兩個(gè)主要優(yōu)點(diǎn)。一個(gè)是在不修改底層通信協(xié)議的情況下,僅僅通過改變調(diào)度表中的值來(lái)調(diào)整流量調(diào)度,節(jié)約了硬件資源。另一個(gè)是這種機(jī)制可以保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,在數(shù)據(jù)流連續(xù)的情況下,當(dāng)MAC采用二進(jìn)制序列調(diào)度機(jī)制時(shí),除了控制流量帶來(lái)的不確定性外,所有VC可以發(fā)送數(shù)據(jù)的有效時(shí)間槽都是完全確定的,因此不會(huì)發(fā)生數(shù)據(jù)傳輸沖突的情況。 可以說(shuō),具有QoS功能的二進(jìn)制序列調(diào)度機(jī)制可以解決復(fù)雜數(shù)據(jù)流量的調(diào)度與不同數(shù)據(jù)流量帶寬需求之間的權(quán)衡問題。 圖7 二進(jìn)制序列調(diào)度算法Fig.7 Binary sequence scheduling algorithm 對(duì)于星載網(wǎng)絡(luò)來(lái)說(shuō),實(shí)時(shí)性能是決定航天任務(wù)能否成功執(zhí)行的關(guān)鍵因素。當(dāng)采用二進(jìn)制序列來(lái)調(diào)度多個(gè)VC的數(shù)據(jù)傳輸時(shí),對(duì)于處在有效時(shí)間槽之外的VC必然會(huì)產(chǎn)生一個(gè)附加的排隊(duì)延遲[14-15],即兩次有效時(shí)間槽發(fā)送間隔的等待時(shí)間。 根據(jù)二進(jìn)制序列調(diào)度算法的設(shè)計(jì)思想,允許發(fā)送數(shù)據(jù)的兩個(gè)相鄰時(shí)間槽的時(shí)間間隔用占空比的倒數(shù)1/F來(lái)衡量。在不考慮有效時(shí)間槽被控制流量和高優(yōu)先級(jí)流量占用的情況下,由有效時(shí)間槽間隔造成的排隊(duì)延時(shí)d為 (8) 式中:v表示鏈路的速率,vf表示流量生成的速率,L表示時(shí)間槽數(shù)量,T表示一個(gè)調(diào)度輪詢周期的時(shí)間(T作為系統(tǒng)級(jí)參數(shù),決定了單個(gè)時(shí)間槽的大小)。根據(jù)式(8),排隊(duì)延遲與單個(gè)時(shí)間槽大小T/L和流量生成速率有關(guān)。 當(dāng)然,在極端情況下,最大傳輸延遲發(fā)生在當(dāng)數(shù)據(jù)流在有效時(shí)間槽的右邊界到達(dá),下一個(gè)給定的時(shí)間槽又被優(yōu)先級(jí)較高的控制流量占用,如圖8所示。此時(shí)最大排隊(duì)延時(shí)為 (9) 圖8 最大排隊(duì)延遲Fig.8 Maximum queuing delay 其中,由于控制流量的特殊性,控制指令在下達(dá)后會(huì)立即占用即將到來(lái)的下一個(gè)時(shí)間槽發(fā)送數(shù)據(jù),因此控制流量的最大排隊(duì)延遲發(fā)生在當(dāng)控制指令在某一個(gè)時(shí)間槽的左邊界到達(dá)時(shí),當(dāng)前時(shí)間槽恰好被其他流量占用,此時(shí)控制流量只能等待下一個(gè)時(shí)間槽到來(lái)發(fā)送,如圖9所示,即控制流量由于等待有效時(shí)間槽而產(chǎn)生的最大延時(shí)為dcom=T/L,可以看出控制流量的最大排隊(duì)延時(shí)等于一個(gè)時(shí)間槽的時(shí)間。當(dāng)然在實(shí)際傳輸過程中,控制流量的平均排隊(duì)延時(shí)肯定要小于這個(gè)值。 圖9 控制指令最大排隊(duì)延時(shí)Fig.9 Maximum queuing delay of control instruction 假設(shè)存在一個(gè)SpaceFibre星載網(wǎng)絡(luò),如圖10所示,指定VC1發(fā)送控制流量,VC2發(fā)送視頻流量,VC3發(fā)送雷達(dá)流量,VC4發(fā)送地面流量,VC5發(fā)送傳感流量,VC6發(fā)送衛(wèi)星流量,并且網(wǎng)絡(luò)流量的特征見表1。 圖10 SpaceFibre網(wǎng)絡(luò)流量示意圖Fig.10 SpaceFibre network traffic schematic diagram 流量類型生成速率占空比優(yōu)先級(jí)控制流量隨機(jī)1/L1級(jí)視頻流量600 Mbit/s3/102級(jí)雷達(dá)流量480 Mbit/s6/253級(jí)地面流量400 Mbit/s1/54級(jí)傳感流量15 Mbit/s3/4005級(jí)衛(wèi)星流量120 Mbit/s3/506級(jí) 由式(3)可知,如果完全按照上述流量的占空比來(lái)計(jì)算時(shí)間槽個(gè)數(shù)的話,那么得到的時(shí)間槽數(shù)量將達(dá)到400,過多的時(shí)間槽數(shù)量無(wú)疑會(huì)影響系統(tǒng)調(diào)度效率,同時(shí)也不便于處理。因此,在不影響數(shù)據(jù)有效傳輸?shù)那疤嵯?,可以考慮將部分流量的占空比作近似放大處理。在上面給出的實(shí)例中,如果將傳感流量的占空比由3/400調(diào)整為1/50,那么重新計(jì)算得到的時(shí)間槽數(shù)量L就等于50,這是一個(gè)比較合適的數(shù)值。 確定完所有流量的占空比后,根據(jù)二進(jìn)制序列調(diào)度算法可以得到以下調(diào)度序列(以16進(jìn)制表示)。 為了校驗(yàn)上述二進(jìn)制序列的延時(shí)性能,使用網(wǎng)絡(luò)分析軟件OPNET[16]對(duì)調(diào)度機(jī)制進(jìn)行了仿真。仿真模塊包括四個(gè)部分:信息源、buffer緩沖區(qū)、介質(zhì)訪問控制器(MAC)和發(fā)射器。表1中列出的六種類型的數(shù)據(jù)流是由六個(gè)獨(dú)立的連續(xù)信息源生成,不同的數(shù)據(jù)包存儲(chǔ)在各自的緩沖器中,接受MAC的調(diào)度,最終由發(fā)射機(jī)發(fā)送到網(wǎng)絡(luò)鏈路。作為對(duì)比,MAC采用兩種不同的調(diào)度機(jī)制,二進(jìn)制序列調(diào)度機(jī)制和圖4中所示的完全依賴于優(yōu)先權(quán)和帶寬預(yù)留機(jī)制的經(jīng)典調(diào)度機(jī)制(VC1到VC6的優(yōu)先權(quán)遞減)。利用OPNET軟件中的仿真器計(jì)算了兩種機(jī)制在不同參數(shù)T下的的平均端到端傳輸延遲。仿真結(jié)果如圖11所示,圖11中列出了在兩種機(jī)制下優(yōu)先級(jí)最高的控制流量、流量較多的視頻流量以及流量較少的衛(wèi)星流量來(lái)說(shuō)明,其中帶*標(biāo)識(shí)的表示采用的二進(jìn)制序列調(diào)度機(jī)制。 仿真結(jié)果可以看出,兩種調(diào)度機(jī)制下的相同之處在于所有信息流的延時(shí)都會(huì)隨著調(diào)度周期的增大而增大,當(dāng)T大于100 μs時(shí),平均端到端延時(shí)幾乎隨著T呈線性增加,而當(dāng)T小于100 μs時(shí),尤其是當(dāng)T在50 μs內(nèi)時(shí),延時(shí)曲線的斜率隨著T增大在逐漸變大,這表明,當(dāng)T較小時(shí),系統(tǒng)的附加延時(shí)較大。主要原因是SpaceFibre標(biāo)準(zhǔn)指定所有數(shù)據(jù)包都封裝在一種稱為數(shù)據(jù)幀的固定格式中,一個(gè)數(shù)據(jù)幀的最大長(zhǎng)度為64字(或256字節(jié)),SpaceFibre采用一個(gè)數(shù)據(jù)幀的長(zhǎng)度作為在時(shí)間槽中發(fā)送數(shù)據(jù)的最小單元。當(dāng)T較小時(shí),對(duì)應(yīng)的每個(gè)時(shí)間槽可以發(fā)送的最大數(shù)據(jù)量就會(huì)變小,因此外部數(shù)據(jù)包就需要執(zhí)行更多的拆包與封幀操作,從而增加了平均延時(shí)。 從兩種調(diào)度機(jī)制延時(shí)性能的角度來(lái)分析,可以看出,對(duì)于對(duì)延時(shí)要求比較高的控制指令,兩種調(diào)度機(jī)制下的延時(shí)曲線幾乎重疊,且都維持在一個(gè)非常低的數(shù)量值。而在視頻流量和衛(wèi)星流量方面,情況就有所不同,從前面的分析可以看出,當(dāng)采用二進(jìn)制序列調(diào)度時(shí),系統(tǒng)延時(shí)與流量生成速率密切相關(guān),在仿真中也體現(xiàn)出了這一點(diǎn),視頻流量的平均端到端延時(shí)要遠(yuǎn)高于衛(wèi)星流量。而采用完全依賴于優(yōu)先權(quán)與帶寬預(yù)留機(jī)制的調(diào)度機(jī)制時(shí),由于視頻流量的優(yōu)先權(quán)更高,MAC總是優(yōu)先為視頻流量分配鏈路資源,因此它的傳輸延時(shí)非常小,而衛(wèi)星流量的優(yōu)先權(quán)較低,只能通過帶寬預(yù)留機(jī)制獲得搶占鏈路資源的機(jī)會(huì),因此延時(shí)相比于二進(jìn)制序列調(diào)度機(jī)制來(lái)說(shuō)要大的多。 兩種調(diào)度機(jī)制無(wú)法直接評(píng)價(jià)孰優(yōu)孰劣。當(dāng)采用完全依賴于優(yōu)先權(quán)和帶寬預(yù)留機(jī)制的經(jīng)典調(diào)度機(jī)制時(shí),可以省去人為分配時(shí)間槽的過程,且對(duì)于優(yōu)先權(quán)較高流量的延時(shí)可以得到保障,當(dāng)然這會(huì)極大增加低優(yōu)先權(quán)流量的通信延時(shí),從而增加系統(tǒng)緩存負(fù)擔(dān)。當(dāng)采用二進(jìn)制序列調(diào)度機(jī)制時(shí),由于這種機(jī)制的調(diào)度過程更加確定,因此各個(gè)流量的延時(shí)更加可控,且不同優(yōu)先級(jí)流量的延時(shí)更加均衡。 圖11 兩種調(diào)度機(jī)制下的平均端到端延時(shí)Fig.11 Average end to end delay under two scheduling mechanisms 本文提出了一種在SpaceFibre協(xié)議框架上實(shí)現(xiàn)QoS功能的新方法。該方法利用二進(jìn)制序列來(lái)實(shí)現(xiàn)各種數(shù)據(jù)流量的調(diào)度。二進(jìn)制序列調(diào)度機(jī)制規(guī)定了時(shí)間槽的使用,以及各種流量的優(yōu)先級(jí)和帶寬要求,可有效的利用SpaceFibre星載網(wǎng)絡(luò)資源,并保證各個(gè)信息流對(duì)傳輸時(shí)延的要求,從而很好地解決了SpaceFibre網(wǎng)絡(luò)中的VC傳輸沖突和關(guān)鍵數(shù)據(jù)包的及時(shí)傳輸問題。 本文的研究成果為利用QoS機(jī)制提高星載網(wǎng)絡(luò)的性能提供了一個(gè)新的思路。另外,本研究的工作是在提前已知每個(gè)流量的性能要求的情況下,設(shè)置網(wǎng)絡(luò)參數(shù)。因此,在網(wǎng)絡(luò)流量特性不確定或者各個(gè)數(shù)據(jù)流量的占空比是動(dòng)態(tài)的情況下,需要進(jìn)行進(jìn)一步的研究,以提高二進(jìn)制序列調(diào)度算法的普適性。2.2 二進(jìn)制序列調(diào)度算法設(shè)計(jì)
3 延時(shí)分析與仿真
3.1 排隊(duì)時(shí)延分析
3.2 實(shí)例仿真
4 結(jié) 論