田 宇,趙昶宇
(1.海軍駐天津八三五七所軍事代表室,天津 300308;2.天津津航計(jì)算技術(shù)研究所,天津 300308)
一種1553B總線上非周期消息傳輸?shù)膬?yōu)化方法
田 宇1,趙昶宇2
(1.海軍駐天津八三五七所軍事代表室,天津 300308;2.天津津航計(jì)算技術(shù)研究所,天津 300308)
通過(guò)借鑒周期任務(wù)調(diào)度的速率單調(diào)調(diào)度(RMS)算法,提出一種改進(jìn)的RMS算法,用于優(yōu)化非周期消息的傳輸;以排隊(duì)論為理論依據(jù),對(duì)非周期消息的傳輸過(guò)程進(jìn)行建模,對(duì)非周期消息的延遲時(shí)間進(jìn)行優(yōu)化,推導(dǎo)出總線最優(yōu)服務(wù)率和最小平均延遲時(shí)間的計(jì)算公式,并給出了非周期消息的調(diào)度算法。實(shí)驗(yàn)證明,在周期消息和非周期消息混合傳輸?shù)那闆r下,上述方法具有實(shí)時(shí)性好、可靠性高、異步事件處理能力強(qiáng)等特點(diǎn)。
1553B總線;非周期;傳輸優(yōu)化;排隊(duì)論
由于武器裝備軟件系統(tǒng)對(duì)實(shí)時(shí)性和可靠性具有很高的要求,必須保證1553B總線上消息傳輸?shù)膶?shí)時(shí)性。當(dāng)1553B總線上需要處理不同長(zhǎng)度、不同周期的多種消息,并且存在異步消息需要處理時(shí),系統(tǒng)的實(shí)時(shí)性一般很難保證。如何兼顧1553B總線系統(tǒng)的實(shí)時(shí)性和可靠性,如何合理地調(diào)度1553B總線上的各種消息,盡量發(fā)揮1553B總線系統(tǒng)的性能,成為目前武器裝備軟件系統(tǒng)需要關(guān)注的重點(diǎn)之一。
1553B總線上傳輸不同類(lèi)型的數(shù)據(jù)有著不同的周期,通常將最慢的傳輸周期稱(chēng)為“大周期”,將最快的傳輸周期稱(chēng)為“小周期”。
在小周期傳輸結(jié)束之前完成周期數(shù)據(jù)傳輸?shù)氖S鄷r(shí)間稱(chēng)為“寂靜期”,寂靜期是用來(lái)處理非周期消息的。若第一個(gè)小周期的非周期消息未處理完,總線控制器就會(huì)將它放到下一個(gè)小周期的寂靜期去處理,若這次仍然沒(méi)有處理完,則不會(huì)再延遲到下一個(gè)小周期,結(jié)果會(huì)導(dǎo)致該條非周期消息處理失敗,從而導(dǎo)致1553B總線非周期消息的處理能力降低,同時(shí)導(dǎo)致總線上某個(gè)時(shí)間段的消息過(guò)于密集而出現(xiàn)總線數(shù)據(jù)飽和或堵塞的現(xiàn)象。
為了避免產(chǎn)生上述現(xiàn)象,本文基于排隊(duì)論對(duì)1553B總線上的非周期消息進(jìn)行建模,給出了總線最優(yōu)服務(wù)率和最小平均延遲時(shí)間的計(jì)算公式,能夠保證非周期消息在寂靜期內(nèi)得到最優(yōu)的調(diào)度,從而提高了1553B總線上非周期消息的處理能力。
所謂“周期消息”,亦即同步消息,是指1553B總線上以固定的順序、周期和相位出現(xiàn)的消息。對(duì)周期消息的調(diào)度和對(duì)周期任務(wù)的調(diào)度有很多相似之處:①消息和任務(wù)被調(diào)度的周期是固定的,被調(diào)度的時(shí)間是已知的、明確的;②多條消息不能同時(shí)在同一總線上傳輸,多個(gè)任務(wù)不能同時(shí)占用同一個(gè)處理器;③消息占用網(wǎng)絡(luò)帶寬資源,任務(wù)占用處理器時(shí)間資源。因此,本文借鑒單處理器上周期任務(wù)的調(diào)度方法來(lái)處理1553B總線上的周期消息。
C.L.Liu和J.Layland于1973年提出的速率單調(diào)調(diào)度(RMS)算法在可預(yù)測(cè)性比較好的周期任務(wù)調(diào)度方面得到了廣泛的應(yīng)用,并已被證明是最優(yōu)的靜態(tài)優(yōu)先級(jí)調(diào)度算法。RMS的核心思想是根據(jù)任務(wù)的周期來(lái)設(shè)置任務(wù)的優(yōu)先級(jí)。周期越小,其優(yōu)先級(jí)越高。
先對(duì)周期任務(wù)進(jìn)行建模:設(shè)有一個(gè)周期任務(wù)集s=Tp1,Tp2,…,Tpn,每個(gè)周期任務(wù) Tpi可用四元式表示為 Tpi=(Cpi,Ppi,Rpi,Dpi),其中,Cpi為任務(wù)的最大計(jì)算時(shí)間,Ppi為任務(wù)周期,Rpi為任務(wù)執(zhí)行時(shí)刻,Dpi為任務(wù)時(shí)限。
若任務(wù)的時(shí)限等于任務(wù)的周期,則使用RMS算法任務(wù)可調(diào)度的充分條件為:
式(1)中:n為任務(wù)總數(shù);Ui=Cpi/Ppi為任務(wù)對(duì)CPU的利用率;為系統(tǒng)中所有任務(wù)對(duì)CPU的總利用率。
由于在RMS調(diào)度算法中,任務(wù)是可以被搶占的,而在消息調(diào)度中,消息是不能被搶占的,否則,被破壞的消息無(wú)法從中斷處恢復(fù)傳輸,從而破壞了消息數(shù)據(jù)的完整性,導(dǎo)致消息重傳或者丟棄。因此,本發(fā)明針對(duì)總線消息傳輸?shù)奶攸c(diǎn)改進(jìn)現(xiàn)有的RMS算法,以保證消息傳輸?shù)耐暾浴?/p>
1553B總線上非周期消息的傳輸過(guò)程可以看作是一種單服務(wù)員單隊(duì)列的排隊(duì)系統(tǒng)。總線上的每一條消息指令為等待服務(wù)的顧客,總線為提供數(shù)據(jù)傳輸?shù)姆?wù)員,服務(wù)時(shí)間為消息傳輸時(shí)間。以下給出該排隊(duì)系統(tǒng)的排隊(duì)規(guī)則:①消息的相繼到達(dá)時(shí)間間隔獨(dú)立,假設(shè)到達(dá)時(shí)間服從泊松分布;②排隊(duì)隊(duì)列的長(zhǎng)度為無(wú)限長(zhǎng),服務(wù)方式服從先來(lái)先服務(wù)。因此,該模型為一個(gè)M|M|1排隊(duì)模型。N(t)表示t時(shí)刻總線上的非周期消息數(shù),{N(t)}為一個(gè)齊次馬爾可夫鏈的生滅過(guò)程。
設(shè)λ為消息的平均到達(dá)率,μ為總線的平均服務(wù)率,因此1/λ為消息的平均時(shí)間間隔,1/μ為消息的平均傳輸時(shí)間。
設(shè)pi為排隊(duì)系統(tǒng)在狀態(tài)i處的概率,ρ為總線利用率,建立生滅過(guò)程的狀態(tài)平衡方程:
狀態(tài) 0:λρ0=μp1,p1=ρp0.
狀態(tài) 1:λρ1=μp2,p2=ρ2p0.
……
狀態(tài) k:λρk=μpk+1,pk+1=ρk+1p0.
假設(shè)消息的平均時(shí)間間隔大于消息的平均傳輸時(shí)間,即
由此得出系統(tǒng)在不同狀態(tài)下的概率分別為:
p0=1-ρ
p1=ρ(1-ρ)……
pk=ρk(1-ρ)……
消息排隊(duì)等候所花費(fèi)時(shí)間的平均值為:
1553B總線傳輸系統(tǒng)的平均延遲時(shí)間為消息傳輸時(shí)間和消息排隊(duì)等候時(shí)間之和。對(duì)總線上非周期消息傳輸進(jìn)行優(yōu)化的目標(biāo)是使平均延遲時(shí)間最小,并確定達(dá)到最優(yōu)目標(biāo)值的最優(yōu)的總線平均服務(wù)率μ*.
取目標(biāo)函數(shù)z為消息傳輸時(shí)間與消息在系統(tǒng)中排隊(duì)等候時(shí)間之和的期望值,即:
式(2)中:cs為當(dāng)μ=1時(shí)總線消息傳輸所耗費(fèi)的時(shí)間;cw為每條消息在總線中排隊(duì)等候所耗費(fèi)的時(shí)間。
根號(hào)前取“+”號(hào)是為了保證ρ<1,只有這樣,系統(tǒng)才會(huì)達(dá)到穩(wěn)態(tài)。于是,最小平均延遲時(shí)間為
平均延遲時(shí)間是1553B總線最重要的性能指標(biāo)參數(shù)之一,由此可見(jiàn),只要能夠保證最優(yōu)服務(wù)率μ*,即可保證系統(tǒng)總線上非周期消息的平均延遲時(shí)間最小,從而提高總線上消息傳輸?shù)膶?shí)時(shí)性和可靠性。而影響最優(yōu)服務(wù)率μ*的關(guān)鍵元素為非周期消息的平均到達(dá)率λ,亦即總線上非周期消息傳輸?shù)膹?qiáng)度。由于1/λ為非周期消息的平均時(shí)間間隔,亦即非周期消息的平均周期,因此,對(duì)非周期消息的調(diào)度可以采取將非周期消息轉(zhuǎn)化成周期消息,然后應(yīng)用上文中改進(jìn)的RMS調(diào)度算法對(duì)其進(jìn)行合理的調(diào)度。
本文為避免1553B總線上處理非周期消息時(shí)出現(xiàn)總線飽和或者堵塞的現(xiàn)象,提出了一種1553B總線上非周期消息傳輸?shù)膬?yōu)化方法。該方法通過(guò)排隊(duì)論對(duì)非周期消息進(jìn)行建模,通過(guò)科學(xué)推理給出了1553B總線最優(yōu)服務(wù)率和最小平均延遲時(shí)間的計(jì)算公式,得到了非周期消息的平均周期。將非周期消息轉(zhuǎn)化為周期消息,并利用RMS調(diào)度算法對(duì)其進(jìn)行合理調(diào)度。該方法不僅避免了總線上消息飽和或者堵塞的現(xiàn)象,提高了周期消息傳輸?shù)膶?shí)時(shí)性和可靠性,而且在周期消息和非周期消息混合傳輸?shù)那闆r下,降低了非周期消息的平均延遲時(shí)間,保證了非周期消息的實(shí)時(shí)性。
[1]宋小慶,熊全謙,吳松平,等.1553B總線的信息傳輸調(diào)度策略[J].裝甲兵工程學(xué)院學(xué)報(bào),2010,24(1):58-62.
[2]曹雷,董強(qiáng),彭偉,等.基于排隊(duì)論的導(dǎo)彈防御系統(tǒng)的效能分析[J].南京理工大學(xué)學(xué)報(bào),2011,35(4):470-474.
[3]劉桂山,胡軍程.1553B總線信息流設(shè)計(jì)[J].北京理工大學(xué)學(xué)報(bào),2003,23(3):301-304.
TP274
A
10.15913/j.cnki.kjycx.2017.20.100
2095-6835(2017)20-0100-03
田宇(1984—),男,工學(xué)碩士、工程師,從事裝備質(zhì)量監(jiān)督與檢驗(yàn)驗(yàn)收方面的工作與研究。趙昶宇(1982—),男,陜西漢中人,工學(xué)碩士,高級(jí)工程師,主要從事嵌入式系統(tǒng)軟件測(cè)試方面的研究。
〔編輯:劉曉芳〕