安景新 趙昶宇
摘 要:為了提高VxWorks系統(tǒng)下網(wǎng)絡(luò)傳輸?shù)目煽啃耘c實時性,用排隊論對數(shù)據(jù)幀排隊延時及丟包建立基于通信損失代價的數(shù)學(xué)模型,推導(dǎo)出最佳消息緩存隊列長度,給出了提高網(wǎng)絡(luò)傳輸?shù)目煽啃?、緩解網(wǎng)絡(luò)擁塞、優(yōu)化網(wǎng)絡(luò)傳輸性能的思路和方法。仿真結(jié)果表明,通過優(yōu)化緩存隊列的長度,減少了排隊延時,提高了通訊性能,具有一定的工程應(yīng)用價值。
關(guān)鍵詞:VxWorks系統(tǒng);網(wǎng)絡(luò)建模;緩存隊列;排隊論
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2016.19.118
為了確保VxWorks系統(tǒng)下以太網(wǎng)傳輸滿足實時性和可靠性要求,如何對VxWorks系統(tǒng)網(wǎng)絡(luò)傳輸性能進(jìn)行檢測成了最重要的問題。本文根據(jù)以太網(wǎng)緩存隊列數(shù)學(xué)模型,利用排隊論對實時以太網(wǎng)進(jìn)行了準(zhǔn)確的性能預(yù)測、分析評估和優(yōu)化。
1 以太網(wǎng)緩存隊列數(shù)學(xué)模型建立及優(yōu)化
以太網(wǎng)在VxWorks系統(tǒng)傳輸過程中的延時包括介質(zhì)的傳輸延時和以太網(wǎng)消息在緩存隊列時的排隊延時。消息數(shù)據(jù)幀在緩存隊列中等待被發(fā)送時,如果在一次傳輸周期時間內(nèi)未能及時發(fā)送出去,則需等待下一次傳輸周期到來時才能發(fā)送,這樣會產(chǎn)生較大的排隊延時。因此,如何減少排隊延時是提高通信性能的關(guān)鍵。
通過對VxWorks鏈路層發(fā)送數(shù)據(jù)過程進(jìn)行分析,建立與之對應(yīng)的數(shù)學(xué)模型。如果上位機(jī)中數(shù)據(jù)幀的發(fā)送任務(wù)相互獨(dú)立且發(fā)送次數(shù)沒有限制,則由排隊論可知發(fā)送數(shù)據(jù)幀的過程服從泊松分布。
設(shè)單位時間內(nèi)進(jìn)入緩存隊列的平均數(shù)據(jù)幀個數(shù)(即數(shù)據(jù)幀的平均到達(dá)速率)為λ,則到達(dá)時間間隔服從參數(shù)為λ的負(fù)指數(shù)分布:
設(shè)以太網(wǎng)在單位時間內(nèi)傳輸數(shù)據(jù)幀的平均個數(shù)(即以太網(wǎng)的平均傳輸速率)為μ(μ>λ),則傳輸強(qiáng)度為:
設(shè)數(shù)據(jù)幀排隊長度為L,當(dāng)L過大時,以太網(wǎng)處于繁忙期,可能使得緩存隊尾的部分?jǐn)?shù)據(jù)幀在一次傳輸周期內(nèi)不能及時傳輸而被丟棄,需要等到下一次傳輸周期的到來,導(dǎo)致排隊延時較長,影響了系統(tǒng)性能;當(dāng)L過小時,以太網(wǎng)處于閑置期,其通訊利用率很低。如何找到合適的緩存隊列長度,保證在VxWorks系統(tǒng)中,緩存隊列中的所有數(shù)據(jù)幀都能成功發(fā)送,同時以太網(wǎng)的利用率最高是本文研究的核心問題。為方便問題研究,本文做出如下假設(shè)。
設(shè)在VxWorks系統(tǒng)中最佳緩存隊列長度為L0,當(dāng)數(shù)據(jù)幀排隊長度L>L0時,不能及時發(fā)送而被丟棄的每個數(shù)據(jù)幀的損失代價為c1,當(dāng)數(shù)據(jù)幀排隊長度L 大多數(shù)情況下,數(shù)據(jù)幀在發(fā)送緩存隊列中未能及時傳輸而被丟棄造成的損失對VxWorks系統(tǒng)性能的影響較大,即損失代價c1較大。而由于以太網(wǎng)閑置造成的損失對VxWorks系統(tǒng)性能的影響較小,即損失代價c2較小,所以滿足c1≥c2. 2 需要注意的問題 為保證VxWorks系統(tǒng)網(wǎng)絡(luò)傳輸?shù)目煽啃?,緩解網(wǎng)絡(luò)擁塞,提高網(wǎng)絡(luò)傳輸性能,在實際應(yīng)用中需要重點(diǎn)關(guān)注以下幾點(diǎn)問題。:①合理設(shè)計網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),這是提高網(wǎng)絡(luò)性能的關(guān)鍵。針對不同的節(jié)點(diǎn)采用不同的拓?fù)浣Y(jié)構(gòu)。對于某些重要節(jié)點(diǎn),應(yīng)設(shè)計成網(wǎng)狀拓?fù)浣Y(jié)構(gòu),增加冗余度。②在VxWorks系統(tǒng)中,通訊雙方都應(yīng)有信息發(fā)送緩沖隊列和信息接收緩沖隊列。對于發(fā)送方來說,可不必考慮接收方死時間,信息產(chǎn)生后立即將其填入信息發(fā)送隊列,并且在填入過程中仍然響應(yīng)其它信息的產(chǎn)生,相當(dāng)于在操作層面實現(xiàn)了零通信死時間。使用緩沖隊列實現(xiàn)了 信息的流水線處理,降低了信息通信雙方時間上的關(guān)聯(lián)性,帶來了操作人員層面的系統(tǒng)零死時間。同時,提高了CPU的利用率和軟件的效率。③通過增加資源能力來避免擁塞。比如,增加網(wǎng)絡(luò)帶寬,將傳輸分配在多個路由器進(jìn)行,也可使用備份路由器來增加網(wǎng)絡(luò)帶寬等。④在VxWorks系統(tǒng)中,通訊雙方建立超時和確認(rèn)重傳機(jī)制,但超時太短將造成不必要的重傳,既浪費(fèi)主機(jī)的處理時間,又浪費(fèi)網(wǎng)絡(luò)資源。超時太長,又將導(dǎo)致數(shù)據(jù)的低吞吐量和短響應(yīng)時間。理想化的超時值應(yīng)正好等于一個數(shù)據(jù)包穿過網(wǎng)絡(luò)到達(dá)目的地,接收方對它進(jìn)行處理,然后發(fā)回的確認(rèn)包又回到發(fā)送方的時間。合適的超時時間是實施超時重傳的關(guān)鍵。⑤為加強(qiáng)網(wǎng)絡(luò)擁塞控制,通訊雙方各建立兩個socket端口,一個作為數(shù)據(jù)通道專門用來傳遞數(shù)據(jù)信息,另一個用作監(jiān)控通道,傳遞應(yīng)答信號,監(jiān)測網(wǎng)絡(luò)的連通性,并監(jiān)控通道負(fù)責(zé)管理和維護(hù)數(shù)據(jù)通道。在每個循環(huán)周期內(nèi),采樣節(jié)點(diǎn)都會向服務(wù)器發(fā)起一次連接,服務(wù)器端收到采樣節(jié)點(diǎn)的連接請求后,與其建立連接,然后向其發(fā)送命令信號。采樣節(jié)點(diǎn)收到信號指令后,向服務(wù)器發(fā)送應(yīng)答信號,服務(wù)器如果能在規(guī)定的時間內(nèi)收到應(yīng)答信號,則判定網(wǎng)絡(luò)通暢,否則認(rèn)為網(wǎng)絡(luò)中斷。如果某時刻網(wǎng)絡(luò)出現(xiàn)斷線,那么重新建立連接后,服務(wù)器會向采樣節(jié)點(diǎn)發(fā)送重新連接指令,采樣節(jié)點(diǎn)收到重新連接指令后,會關(guān)閉原有的數(shù)據(jù)傳輸socket,重新和服務(wù)器建立數(shù)據(jù)傳輸通道。上述做法使系統(tǒng)能夠快速發(fā)現(xiàn)網(wǎng)絡(luò)故障并作出響應(yīng),待網(wǎng)絡(luò)故障排除后系統(tǒng)仍可正常運(yùn)行。 3 結(jié)束語 本文對實時以太網(wǎng)在VxWorks系統(tǒng)數(shù)據(jù)鏈路層協(xié)議棧中發(fā)送數(shù)據(jù)幀的過程中建立數(shù)學(xué)模型,得出數(shù)據(jù)幀排隊延時及丟包是影響VxWorks系統(tǒng)通信性能的主要因素。結(jié)合排隊論推導(dǎo)出通訊損失代價最小的最佳消息緩存隊列長度,從而對VxWorks系統(tǒng)緩沖隊列的長度進(jìn)行了優(yōu)化,并給出了實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)可靠傳輸?shù)囊恍┧悸泛徒ㄗh,在一定程度上對改善在VxWorks系統(tǒng)中以太網(wǎng)的通訊性能具有指導(dǎo)意義。 參考文獻(xiàn) [1]王剛,岳韶華,李延磊,等.網(wǎng)絡(luò)化作戰(zhàn)指揮控制系統(tǒng)軟件體系結(jié)構(gòu)研究[J].現(xiàn)代防御技術(shù),2013(2). [2]邱愛華,張濤,顧逸東.航天器可應(yīng)用實時以太網(wǎng)分析[J].空間科學(xué)學(xué)報,2015(3). [3]繆學(xué)勤.基于國際標(biāo)準(zhǔn)的十一種工業(yè)實時以太網(wǎng)體系結(jié)構(gòu)研究(上)[J].儀器儀表標(biāo)準(zhǔn)化與計量,2009(3). [4]陸傳來.排隊論[M].北京:北京郵電大學(xué)出版社,2000. 〔編輯:王霞〕