李丹, 胡曉光
(北京航空航天大學(xué) 虛擬現(xiàn)實技術(shù)與系統(tǒng)國家重點實驗室, 北京 100191)
?
武器裝備實時測控系統(tǒng)冗余容錯方法研究
李丹, 胡曉光
(北京航空航天大學(xué) 虛擬現(xiàn)實技術(shù)與系統(tǒng)國家重點實驗室, 北京 100191)
針對武器裝備實時測控系統(tǒng)中對高可靠性的需求,對應(yīng)用較為廣泛的武器裝備緊湊型PCI總線測控系統(tǒng)的冗余容錯問題進行了研究。構(gòu)建了一種利用心跳檢測聯(lián)系主、備用設(shè)備的冗余設(shè)計方法,并在VxWorks實時操作系統(tǒng)中實現(xiàn)了高可用熱插拔技術(shù)來提高系統(tǒng)的冗余容錯性能。提出一種基于非精確計算理論的實時容錯調(diào)度算法,將該算法實際應(yīng)用于測控系統(tǒng)中來驗證其對冗余容錯性的提升。仿真與實驗驗證結(jié)果表明,該系統(tǒng)具有良好的冗余容錯性能,該設(shè)計方法可以有效地提升系統(tǒng)的可靠性。
兵器科學(xué)與技術(shù); 冗余; 容錯; 可靠性; 非精確計算; 緊湊型PCI總線
現(xiàn)代戰(zhàn)爭對武器裝備實時性、精確性的要求逐漸增加,測控系統(tǒng)所承受的負荷持續(xù)日漸加重[1],各測試端口對其穩(wěn)定性的要求也大幅度提高。因此如何提高測控系統(tǒng)的可靠性,成了各國專家關(guān)注的焦點。目前國內(nèi)外針對測控系統(tǒng)可靠性的研究主要集中在對實時性要求不高的民用系統(tǒng)方面,方法主要為建立單純的硬件冗余系統(tǒng)或通過建立系統(tǒng)評估模型來分析計算系統(tǒng)的可靠性[2]。如徐文芳等[3]針對系統(tǒng)的硬件冗余容錯設(shè)計出了三模冗余管理板,使嵌入式計算機系統(tǒng)實現(xiàn)了表決、重構(gòu)與熱備份等關(guān)鍵技術(shù),增加了系統(tǒng)的可維修性。Suprasad等[4]對n取k的溫備份冗余系統(tǒng)進行了建模分析,研究者以n個完全相同的單元為基礎(chǔ),對至少k個單元正常工作時的可靠性進行了分析。Al-Omari等[5]與朱曉敏等[6]采用主/副版本容錯模型對容錯調(diào)度算法進行了研究,其采用的多處理器或者分布式等硬件冗余方法可以有效屏蔽持久硬件故障產(chǎn)生的錯誤,采用時間冗余可以有效屏蔽暫時故障的影響,但其存在一定的主/副同步時間冗余問題,且在被動方式下的硬件利用率較低。因此針對實時性要求較高的武器裝備測控系統(tǒng)而言,研究出一種能夠保證系統(tǒng)實時性的冗余容錯方法是當(dāng)前迫切需要解決的問題。
本文針對目前武器裝備測控系統(tǒng)中應(yīng)用較為廣泛的緊湊型PCI(CPCI)總線實時測控系統(tǒng),提出了一套可用于實際操作的全面提升系統(tǒng)可靠性解決方案,主要表現(xiàn)在以下兩個方面:1)全面改進 CPCI總線設(shè)備與系統(tǒng)軟硬件結(jié)構(gòu),并利用高可用模式熱插拔與熱備份技術(shù)[7],使得測控系統(tǒng)具備熱冗余與熱備份功能,可以有效提高系統(tǒng)整體的運行與維護效率,增強系統(tǒng)的可靠性[8];2)針對CPCI測控系統(tǒng)實時性高和多任務(wù)類型造成的容錯操作難以實現(xiàn)的困難,提出了一種基于非精確計算的容錯思想。利用實時調(diào)度理論和非精確計算方法,在有限的時間內(nèi)以最優(yōu)的效果完成容錯操作,在最大程度上保障系統(tǒng)的可靠性。
1.1 系統(tǒng)總體結(jié)構(gòu)
對于測控系統(tǒng)而言,構(gòu)造設(shè)備間的冗余關(guān)系是容錯優(yōu)化的主要思路之一。對于武器裝備實時測控系統(tǒng),若能將熱冗余、熱備份技術(shù)用于系統(tǒng)的冗余設(shè)計中,用以保證當(dāng)硬件設(shè)備發(fā)生故障時,系統(tǒng)能夠立即隔離故障部件并啟用新部件接續(xù)此前因故中斷的系統(tǒng)任務(wù),則可以在很大程度上提高系統(tǒng)的可靠性。本文研制的高可靠性CPCI測控系統(tǒng),即采用了先進的熱冗余與熱備份技術(shù)。如圖1所示,其主要由上位機系統(tǒng)、下位機系統(tǒng)和相應(yīng)的外測平臺組成。上位機采用可視化程度好的Windows操作系統(tǒng),下位機系統(tǒng)采用實時性強的VxWorks嵌入式實時多任務(wù)操作系統(tǒng)來構(gòu)成,下位機的CPCI機箱內(nèi)插入自行研發(fā)的用于實現(xiàn)特定功能的開關(guān)量輸入板卡和串口通訊板卡來完成實現(xiàn)系統(tǒng)功能與冗余設(shè)計。VxWorks操作系統(tǒng)提供了高效的實時任務(wù)調(diào)度、內(nèi)存塊管理、中斷管理、異常錯誤管理、實時的系統(tǒng)資源和實時的多任務(wù)間通信和同步的手段[9],其內(nèi)部采用層次化的結(jié)構(gòu),可在系統(tǒng)下運行實時任務(wù)冗余容錯調(diào)度算法,從而在保證系統(tǒng)實時性的情況下提高系統(tǒng)的可靠性。上位機和下位機之間采用TCP-IP協(xié)議進行通訊,系統(tǒng)同時對CPCI板卡的工作情況進行故障檢測與診斷,當(dāng)系統(tǒng)監(jiān)測出正在工作中的主卡發(fā)生故障時,立即隔離主卡并啟用備卡,讓工作繼續(xù)進行,保證數(shù)據(jù)不丟失。這樣主卡和備卡就構(gòu)成了一個熱冗余系統(tǒng),而及時準(zhǔn)確地判斷出工作板卡的狀態(tài)就成了保證整個系統(tǒng)可靠性的另一個關(guān)鍵。

圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall structure of system
1.2 心跳檢測
本文提出采用一種心跳檢測方法保證主卡與備卡聯(lián)系并進行故障診斷。所謂心跳,指的是主從系統(tǒng)之間相互按照一定的時間間隔發(fā)送通訊信號,表明各自系統(tǒng)當(dāng)前的運行狀態(tài)。
如圖2所示,板卡1的CPU(CPU1)正常工作時,處于Active(活躍)狀態(tài),并向處于Standby(冗余)狀態(tài)的備用系統(tǒng)即板卡2的CPU(CPU2)發(fā)送心跳信號。一旦檢測算法判定主卡系統(tǒng)發(fā)生故障,立即令主卡停止工作,并將系統(tǒng)資源轉(zhuǎn)移到備卡系統(tǒng)上,備卡系統(tǒng)將替代主卡發(fā)揮作用,以保證運行不間斷。此時工作狀態(tài)切換,主卡系統(tǒng)處于Standby狀態(tài),備卡系統(tǒng)處于Active狀態(tài)。此后需要將故障板卡及時拔出,進行維修和更換,并再次插入機箱中。

圖2 主卡與備卡聯(lián)系關(guān)系圖Fig.2 Relation diagram of main and standby cards
快速、高效、準(zhǔn)確的心跳檢測算法是保證冗余容錯效率的前提與基礎(chǔ),此處使用的是基于PULL模型建立的心跳檢測算法。在PULL模型中檢測的節(jié)點設(shè)備主動向被檢測節(jié)點設(shè)備發(fā)送周期性的心跳信息,同時被檢測的節(jié)點設(shè)備收到心跳信息后,將自己的心跳回復(fù)信息返回發(fā)送給檢測設(shè)備,若檢測設(shè)備在規(guī)定的時間內(nèi)沒有收到被檢測節(jié)點設(shè)備的心跳回復(fù)信息,則判斷被檢測節(jié)點設(shè)備故障。
具體檢測過程如圖3所示。

圖3 心跳檢測時間進程Fig.3 Time course of heartbeat detection
1)運行心跳檢驗算法后,備卡程序進程每隔Δt時間便向主卡進程發(fā)送一次心跳信息,λi為心跳信息的發(fā)送時刻。
2)主卡在φi時刻接收到了備卡發(fā)送的心跳信息后立即向備卡回復(fù)自己的狀態(tài)信息。δi為主卡接收到心跳信息并向備卡發(fā)送自己心跳信息的時刻,αi為備卡接收到主卡心跳信息并處理的時刻。
3)若在Δt的時間間隔內(nèi),備卡未收到主卡心跳信息或收到信息錯誤,則判定主卡工作狀態(tài)異常。
如圖3所示的備卡進程在λi+3時刻仍未收到主卡回應(yīng)的心跳信息,則判定主卡工作故障,立即啟用備卡接替主卡繼續(xù)工作。
在備份卡替代故障卡后,需要將故障卡及時拔出后進行替換或修理,另外在有些情況下需要把正在工作中的卡進行插拔操作,這種對運行的板卡任意拔插的操作,需要熱拔插的3個等級中(基本熱插拔、完全熱插拔、高可用熱插拔)的最高等級標(biāo)準(zhǔn)——高可用熱插拔技術(shù)的支持。本文采用高可用模式下的熱插拔技術(shù)來解決測控系統(tǒng)熱冗余熱備份的硬件問題。
以往的CPCI雙冗余系統(tǒng),不具備熱插拔功能,為不可修冗余系統(tǒng)。即兩個相同設(shè)備接入系統(tǒng)中工作,設(shè)備發(fā)生故障后不可即時替換、維修,只能切換到備用設(shè)備繼續(xù)工作,當(dāng)主設(shè)備與備用設(shè)備依次都發(fā)生故障后,系統(tǒng)只能停止工作。而采用了熱插拔技術(shù)的CPCI雙冗余系統(tǒng),可在一個設(shè)備發(fā)生故障后隨時替換、維修,為雙冗余可修CPCI系統(tǒng)。
1.3 基于馬爾可夫模型的系統(tǒng)可靠性分析
通過建立馬爾可夫模型來對雙冗余不可修系統(tǒng)與可修系統(tǒng)的可靠性進行分析比較。
馬爾可夫模型建立的前提為:
1)初始狀態(tài)所有設(shè)備都是新的;
2)當(dāng)系統(tǒng)中有一個設(shè)備處于工作狀態(tài),另一個處于備用工作狀態(tài)的設(shè)備不會損壞;
3)損壞的設(shè)備在修好之后是全新的,概率分布保持不變,且將其立即投入到系統(tǒng)中運行;
4)同一時刻只能有一個設(shè)備處于修理狀態(tài),若出現(xiàn)兩個設(shè)備依次都損壞的情況,則按損壞先后順序進行修理。
把雙冗余系統(tǒng)中某個設(shè)備可能存在的狀態(tài)列為如下3種情況:
狀態(tài)0,系統(tǒng)主、備設(shè)備均工作正常,整個系統(tǒng)運行無故障;
狀態(tài)1,系統(tǒng)中存在一個故障設(shè)備,整個系統(tǒng)運行無故障;
狀態(tài)2,系統(tǒng)中主、備設(shè)備均出現(xiàn)故障,整個系統(tǒng)故障。
設(shè)雙機系統(tǒng)的失效分布和維修分布均服從指數(shù)分布,其失效率和維修率分別為λ和μ. 設(shè)每個設(shè)備的可靠性為隨機變量X,X服從參數(shù)為λ的指數(shù)分布;設(shè)備的可維修性設(shè)為隨機變量Y,Y服從參數(shù)μ的指數(shù)分布。即
X~F(t)= 1-e-λt, 0<λ<1,t≥0;
(1)
Y~H(t)=1-e-μt, 0<μ<1,t≥0.
(2)
其狀態(tài)轉(zhuǎn)移過程如圖4所示。

圖4 雙冗余可修系統(tǒng)狀態(tài)轉(zhuǎn)移圖Fig.4 State transition diagram of dual-redundant repairable system
根據(jù)狀態(tài)轉(zhuǎn)移圖可以得出雙冗余可修系統(tǒng)的狀態(tài)轉(zhuǎn)移概率矩陣
(3)
求得系統(tǒng)的瞬時可用度為

(4)
式中:s1、s2是方程(5)式的兩個實根,
s2+(3λ+2μ-λ2-2λμ)s+2λμ-2λ2μ+2λ2-
λ3+μ2-λμ2=0.
(5)
雙冗余并聯(lián)不可修系統(tǒng)狀態(tài)轉(zhuǎn)移過程圖如圖5所示。

圖5 雙冗余不可修狀態(tài)轉(zhuǎn)移圖Fig.5 State transition diagram of dual-redundant unrepairable system
同理,根據(jù)狀態(tài)轉(zhuǎn)移圖得出轉(zhuǎn)移概率矩陣為
(6)
得到系統(tǒng)的可用度為
Aur(t)=2e-λt-e(λ2-2λ)t.
(7)
利用Matlab對雙冗余可修系統(tǒng)與不可修系統(tǒng)的可靠性,即系統(tǒng)可用度進行仿真。設(shè)時間t從0~100按照步長為1采樣,假設(shè)設(shè)備失效率λ=0.01,設(shè)備可維修率μ=0.1,在實際系統(tǒng)中,設(shè)備失效率會遠大于0.01,設(shè)備可維修率會遠大于0.1. 將數(shù)值代入(4)式、(5)式、(7)式中可得(計算結(jié)果保留至小數(shù)點后第8位)
s1=-0.083 856 77,s2=-0.144 043 23,
Ar(t)=0.991 803 957+0.035 786 173e-0.083 856 77t-
0.020 139 182e-0.144 043 23t,
(8)
Aur(t)=2e-0.01t-e-0.019 9t.
(9)
從圖6可以看出,雙冗余可修系統(tǒng)和不可修系統(tǒng)的系統(tǒng)可用度隨著的時間的推移不斷降低,但雙冗余可修系統(tǒng)的系統(tǒng)可用度明顯比不可修系統(tǒng)下降緩慢,且至后期基本穩(wěn)定。由此可以看出,采用雙冗余可修系統(tǒng)對提高系統(tǒng)的可靠性有著明顯的功效。

圖6 系統(tǒng)可靠性仿真Fig.6 System reliability
2.1 算法優(yōu)勢
傳統(tǒng)的冗余容錯算法,通常是通過預(yù)留空閑處理器時間來滿足任務(wù)的正常運行和容錯操作[10-12],但對于武器裝備測控系統(tǒng),由于其工作期間的實時任務(wù)量大、處理器利用率高,僅依賴預(yù)留空閑時間的辦法往往會有很大的局限性:一是預(yù)留過多的時間會對系統(tǒng)的實時性造成影響;二是針對不同類型的任務(wù),預(yù)留的時間往往很難準(zhǔn)確估計。在武器裝備測控系統(tǒng)實際運行過程中,為了充分顧及系統(tǒng)的實時性,有些情況下往往僅需滿足最低需要輸出即可。例如某武器攻擊系統(tǒng)對目標(biāo)信號的探測,對信號的處理時間越長,對目標(biāo)的打擊會越準(zhǔn)確,在一些特定的情況下,由于某些原因造成當(dāng)前完整的信號處理計算無法在時限內(nèi)完成,但由于該系統(tǒng)的殺傷面積是有一定大的范圍,故若能滿足規(guī)定的最低計算精度,其結(jié)果可以接受,這種滿足最低要求的處理方式稱為非精確計算。
2.2 系統(tǒng)模型
采用非精確計算的實時系統(tǒng)將任務(wù)分割為兩部分:強制執(zhí)行部分M和可選執(zhí)行部分O.M必須在任務(wù)的時限到來前結(jié)束,以保證該任務(wù)的輸出滿足用戶的基本功能要求。O的執(zhí)行有兩種選擇:要么完全執(zhí)行,要么完全放棄,若O在時限到來前運行完,則稱該任務(wù)實現(xiàn)精確計算。實時任務(wù)運行中,若M出錯,則要進行容錯處理,如重新執(zhí)行;若O出錯,則放棄,因為M的輸出已能滿足用戶的基本需求。在這種情況下,實時任務(wù)只要在時限到來前完成M的正確運行即可,而容錯操作所占用的處理器時間可以由處理器空閑時間和O占用的時間共同提供。
本文提出的非精確計算的容錯實時調(diào)度算法以最早截止時間優(yōu)先(EDF)算法為基本調(diào)度算法。EDF調(diào)度算法是按實時任務(wù)截止期的遠近來分配優(yōu)先級,任何時刻總是運行優(yōu)先級最高的任務(wù),也就是優(yōu)先運行最緊迫的任務(wù)。EDF對于硬實時周期任務(wù)或硬實時非周期任務(wù)的調(diào)度來說都是最優(yōu)的動態(tài)優(yōu)先級調(diào)度算法[13]。將非精確計算理論應(yīng)用于EDF算法的改進[14],可以有效地提高系統(tǒng)的吞吐量和資源利用率。
基于非精確計算的容錯EDF(IC-FT-EDF)實時任務(wù)集的模型可以表述如下:本文中用τi表示任務(wù),Ci表示實時任務(wù)的最壞執(zhí)行時間,則存在任務(wù)集S(τ1,τ2,…,τn)。所有實時任務(wù)必須滿足以下限制條件:
1)所有實時任務(wù)均為周期任務(wù),且周期大于或等于時限;
2)所有實時任務(wù)必須在其時限到來前結(jié)束;
3)所有實時任務(wù)相互獨立;
4)所有實時任務(wù)均具有恒定的運行時問。
所有任務(wù)按照其周期值由小到大排列為T1≤T2≤…≤Tn,其任務(wù)優(yōu)先級是按照其任務(wù)時限與當(dāng)前時刻的距離來決定,距離越近則優(yōu)先級越高。按照非精確計算的特點,將每個任務(wù)τi分為強制執(zhí)行部分Mi和可選執(zhí)行部分Oi,mi和oi分別為Mi和Oi的運行時問,Oi只能在Mi完成后開始,則最壞執(zhí)行時間Ci為任務(wù)執(zhí)行了強制執(zhí)行部分后還執(zhí)行了可選執(zhí)行部分,即Ci=mi+oi.Oi的執(zhí)行按0/1決定,即只能選擇完全執(zhí)行和完全放棄兩種方式。
2.3 基于IC-FT-EDF可調(diào)度條件
對于任何一個實時調(diào)度算法,其可調(diào)度條件都是算法的關(guān)鍵所在。根據(jù)容錯EDF(FT-EDF)的設(shè)計目標(biāo),在Tn-1+Tn內(nèi),冗余的處理器資源要保證一次容錯操作,且所有任務(wù)均需滿足時限要求。
針對FT-EDF調(diào)度,若實時任務(wù)集滿足

(10)
則必可由FT-EDF調(diào)度。
將(10)式根據(jù)非精確計算特性進行改寫,若實時任務(wù)集滿足

(11)
則可以進行基于IC-FT-EDF調(diào)度。
為了驗證(11)式的正確性,對(11)式進行證明:設(shè)周期實時任務(wù)集S(τ1(T1,C1),τ2(T2,C2),…,τn(Tn,Cn)),根據(jù)系統(tǒng)模型的定義,T1≤T2≤…≤Tn,任務(wù)間相互獨立。每個任務(wù)τi在其每個周期kTi(k=1,2,…,i)邊界上就緒,在下一個周期邊界(k+1)Ti必須結(jié)束運行。為了證明滿足該可調(diào)度條件的實時任務(wù)集,能夠?qū)崿F(xiàn)單個錯誤的容錯,其實就是證明以下兩個命題條件:1)任務(wù)出錯時,本調(diào)度算法必須保證該任務(wù)在時限到來前完成再次運行;2)任意出錯任務(wù)的再次運行不能導(dǎo)致其他任務(wù)的運行超過時限。
關(guān)于條件1的證明,經(jīng)典的參考文獻[15]已經(jīng)給出“從所有任務(wù)同時就緒開始,調(diào)度算法只要能滿足關(guān)鍵實例的時限,就能滿足后面所有時限的要求”和“只要任務(wù)集的資源利用率小于1,則必能由EDF調(diào)度”的證明。基于該證明的結(jié)果,對于條件1的情況來說,關(guān)鍵的實例為優(yōu)先級高于出錯任務(wù)的任務(wù),故只需考慮優(yōu)先級高于出錯任務(wù)的任務(wù)對出錯任務(wù)的影響。設(shè)在第e個任務(wù)出錯,從所有任務(wù)同時就緒開始,當(dāng)出錯任務(wù)τe完成再次運行后,其處理器的運行時間與Te的比值為

(12)
因此,根據(jù)(12)式,若滿足
(13)
則必可滿足條件1.
同理,對于條件2的情況來說,關(guān)鍵的任務(wù)為比當(dāng)前優(yōu)先級高的任務(wù)中執(zhí)行時間最長的任務(wù),故只需考慮該任務(wù)進行的容錯操作即可。從所有任務(wù)同時就緒開始,當(dāng)前任務(wù)τi完成運行后,其處理器的運行時間與Ti的比值為
(14)
因此,根據(jù)(14)式,若滿足

(15)
則必滿足條件2. 取表達式(13)式和(15)式的最大值,得

(16)
實時任務(wù)集S滿足(16)式,則必可由基于IC-FT-EDF算法進行調(diào)度。
2.4 冗余容錯策略和調(diào)度算法
對于滿足調(diào)度條件的實時任務(wù)集,EDF算法是按照任務(wù)優(yōu)先級分配處理器資源,保證所有的任務(wù)都滿足時限的要求,冗余的處理器資源由所有任務(wù)共享,特別適用于資源利用率高的實時應(yīng)用。由于其容錯設(shè)計目標(biāo)是在Tn-1+Tn內(nèi)要保證一次容錯操作且所有任務(wù)滿足時限要求,故在兩個連續(xù)的最大周期邊界[kTn,(k+1)Tn]內(nèi),冗余的處理器資源為max (Ci),i∈S,又因為根據(jù)非精確計算理論,為節(jié)省處理器資源,容錯操作只需完成基本任務(wù)即可,即冗余的處理器資源為max (Mi),i∈S. 在系統(tǒng)運行時,若當(dāng)前執(zhí)行的任務(wù)τi出錯,則調(diào)度該任務(wù)再次運行。在容錯處理中,若新就緒的任務(wù)τj的優(yōu)先級高于τi,則τj搶占τi. 任務(wù)的優(yōu)先級用D表示,其算法如下:
Queue Ready Q;
1)事件:An instance ofτiis end
Ifτiis False
Then Call Retry ( );
Else
Dispatch ( );
Endif
2)事件:New instance of taskτjarrives
IFDJ≥DI
Then Insertτjto Ready Q;
Else
Insertτito Ready Q;
Runτj;
Endif
基于非精確計算理論的FT-EDF通過效率較高的算法,解決了任務(wù)的容錯問題,同時保證了系統(tǒng)正常工作時的工作效率。
3.1 實例分析
用一個測控系統(tǒng)CPCI板卡工作實例來進一步分析基于IC-FT-EDF實時調(diào)度算法的優(yōu)越性。設(shè)周期實時任務(wù)集S的參數(shù)如下:
τ1:C1=1.0,M1=0.6,O1=0.4,T1=8.0;
τ2:C2=2.0,M2=1.0,O2=1.0,T2=8.0;
τ3:C3=2.0,M3=1.5,O3=0.5,T3=10.0;
τ4:C4=3.0,M4=1.5,O4=1.5,T4=12.0.
根據(jù)上述參數(shù),由(10式)和(16)式可算出,F(xiàn)T-EDF和基于IC-FT-EDF的可調(diào)度條件參數(shù)分別為

(17)
=0.95.
(18)
可見,在該條件下,UFT-EDF>1而UIC-FT-EDF<1,因此該實時任務(wù)集對于FT-EDF無法調(diào)度,但對IC-FT-EDF則是可行的。
顯然,對于可以采用非精確計算的實時任務(wù)集,IC-FT-EDF在同等情況下比FT-EDF更容易滿足可調(diào)度條件,因而具有更為廣泛的適用范圍。
3.2 算法的模擬與分析
算法的模擬與分析是對冗余容錯算法評價的重要方法,本文利用自建的算法模擬仿真平臺對EDF算法、FT-EDF算法和IC-FT-EDF算法進行仿真與比較分析。實驗以任務(wù)丟失率作為評價標(biāo)準(zhǔn),針對這3種算法在同等條件下的任務(wù)丟失率來進行比較分析。
國內(nèi)外對算法模擬平臺有多種不同的實現(xiàn)形式,本文采用基于事件驅(qū)動的方式加以實現(xiàn)。事件驅(qū)動方式具有與底層平臺無關(guān)聯(lián)性的特點,其在任何系統(tǒng)上運行均能獲得同樣的效果,具有一定的普遍性意義。該平臺模擬實時任務(wù)集的運行環(huán)境,根據(jù)實驗者設(shè)定輸入的參數(shù)來創(chuàng)建相應(yīng)的實時任務(wù)集,利用任務(wù)集來模擬在相應(yīng)算法調(diào)度下的運行情況。該平臺根據(jù)當(dāng)前時間、上一個錯誤出現(xiàn)的時間和平均無故障時間(MTTF)來判斷當(dāng)前任務(wù)的運行結(jié)果是否正確。設(shè)處理器運行任務(wù)的最大時間為WCT,其與任務(wù)處理器運行的最大時間M的比值為M/WCT.
為了驗證EDF、FT-EDF與IC-FT-EDF在不同負載情況下的任務(wù)丟失率。本實驗采用的任務(wù)利用率在0.15~0.25的范圍內(nèi),平均無故障時間設(shè)為100,其任務(wù)的M/WCT為0.7~0.8的范圍內(nèi)。實驗結(jié)果如圖7所示,本文提出的IC-FT-EDF算法的任務(wù)丟失率明顯低于EDF算法和FT-EDF算法,驗證了該算法的先進性。

圖7 任務(wù)丟失率比較Fig.7 Comparison of task loss rates
3.3 實驗驗證
在CPCI測控系統(tǒng)中利用IC-FT-EDF算法來檢驗實時任務(wù)集熱冗余與容錯性能。實驗裝置由上位機(Windows PC機)、下位機(美國NI公司雙核嵌入式VxWorks機)和自制的外測平臺所構(gòu)成,如圖8所示。

圖8 冗余容錯系統(tǒng)測試平臺Fig.8 The test platform of redundant fault-tolerance system
實驗時運用到插入到機箱內(nèi)自行研發(fā)的兩塊相同串口通訊板卡和一塊開關(guān)量輸出板卡,開關(guān)量輸出卡為32位開關(guān)量輸出至外測平臺,串口卡為16位數(shù)據(jù)通訊,設(shè)置外測平臺僅將接收到開關(guān)量輸出卡的高16位數(shù)據(jù)輸出至串口卡。設(shè)置任務(wù)1:開關(guān)量輸出卡向外測平臺輸出開關(guān)量;任務(wù)2:串口卡接收外測平臺數(shù)據(jù)進行通訊;任務(wù)3:心跳信號檢測程序監(jiān)控主卡狀態(tài)以便隨時做熱替換。每項任務(wù)都設(shè)有強制執(zhí)行任務(wù)和可選執(zhí)行任務(wù)。強制執(zhí)行任務(wù)為完成基本功能的任務(wù),可選執(zhí)行任務(wù)為一些不重要的任務(wù)(如一些非關(guān)鍵配置信息的初始化)。兩塊串口通訊板卡一塊處于工作狀態(tài)(主卡),另一塊處于熱儲備狀態(tài)(備卡)。多功能串口板卡設(shè)有兩個通道,本實驗均在通道1中進行。利用開關(guān)量輸出板卡向外測平臺發(fā)送如下數(shù)據(jù):0x00010000、0x00030000、0x0007000. 為了驗證該冗余系統(tǒng)的可靠性,在主卡正在進行讀數(shù)過程中,模擬主卡發(fā)生故障的情況,將主卡突然拔出機箱,系統(tǒng)監(jiān)測到主卡發(fā)生故障的緊急情況,采用IC-FT-EDF算法來節(jié)省任務(wù)量,舍棄任務(wù)2、任務(wù)3的可選執(zhí)行部分,只執(zhí)行強制執(zhí)行部分,主卡被安全移除,立即啟用備卡接替主卡來工作,如圖9所示。

圖9 主卡安全移除Fig.9 Safely moved main card
在多功能串口板卡界面,點擊通道1“讀取FIFO”按鈕;可觀測到備卡工作狀態(tài)正常,讀取數(shù)據(jù)正確,對板卡的拔出操作并沒有對讀數(shù)工作造成任何影響。由于之前主卡讀取數(shù)據(jù)后,已將數(shù)據(jù)及時上傳,故啟用了備用板卡后,跟原先的主卡一直工作沒有區(qū)別。
再次將主卡插入機箱,模擬正式工作中對板卡檢修完畢,讓主卡再次進入系統(tǒng)以作熱備份的場景,系統(tǒng)發(fā)現(xiàn)新板卡后立即進行處理,如圖10所示。這時為了節(jié)省時間,使主卡迅速完成初始化進入熱備份工作狀態(tài)的同時可以保證備卡的正常數(shù)據(jù)傳輸工作,系統(tǒng)采用了IC-FT-EDF算法來舍棄任務(wù)的可選操作。開關(guān)量輸出板卡所即時發(fā)送數(shù)據(jù)(0x0005000、0x000D0000、0x00870000)與串口卡備卡通道1收到的數(shù)據(jù)一致,系統(tǒng)工作正常。VxWorks工作界面如圖11所示。

圖10 主卡再次進入系統(tǒng)Fig.10 Main card returning into system

圖11 Vxworks工作界面Fig.11 Operating interface of Vxworks
通過以上實驗,證明了應(yīng)用IC-FT-EDF算法的CPCI測控系統(tǒng)可以有效地提高系統(tǒng)的冗余容錯特性,對提升系統(tǒng)的可靠性具有一定貢獻。
本文針對武器裝備實時測控系統(tǒng)的高可靠性需求, 對目前應(yīng)用較為廣泛的CPCI測控系統(tǒng)的冗余容錯問題進行了研究,提出了一種利用心跳檢測相聯(lián)系主、備卡系統(tǒng)的高可靠性CPCI冗余容錯測控系統(tǒng)的構(gòu)建方法,并分析了利用熱插拔技術(shù)構(gòu)建雙冗余可修系統(tǒng)從而提高系統(tǒng)可靠性的理論依據(jù)。在軟件容錯方面提出了基于非精確計算理論的IC-FT-EDF實時容錯調(diào)度算法,將該算法實際應(yīng)用于測控系統(tǒng)來驗證其對冗余容錯性能的提升。實例分析與實驗結(jié)果表明,將該方法應(yīng)用到武器裝備CPCI多任務(wù)實時系統(tǒng)中可以有效地實現(xiàn)冗余容錯。本文的研究對其他類型武器裝備測控系統(tǒng)冗余容錯升級改造也具有一定的借鑒價值。
References)
[1] 蓋京波, 孔耀. 基于物理特性參數(shù)的可靠性評估[J]. 兵工學(xué)報, 2015, 36(6): 1104-1109. GAI Jing-bo, KONG Yao. Reliability assessment based on physical parameters[J]. Acta Armamentarii, 2015, 36(6): 1104-1109. (in Chinese)
[2] 萬磊, 張英浩, 孫玉山, 等. 基于重構(gòu)容錯的智能水下機器人定深運動控制[J]. 兵工學(xué)報, 2015, 36(4):723-730. WAN Lei, ZHANG Ying-hao, SUN Yu-shan, et al. AUV's depth control based on reconstructive fault-tolerant control[J]. Acta Armamentarii, 2015,36(4):723-730. (in Chinese)
[3] 徐文芳, 劉宏偉, 舒燕君, 等. 三模冗余容錯系統(tǒng)管理板[J]. 清華大學(xué)學(xué)報:自然科學(xué)版, 2011, 51(6): 1434-1439. XU Wen-fang, LIU Hong-wei, SHU Yan-jun, et al. Management board for triple module redundant fault-tolerance system[J]. Journal of Tsinghua University: Science and Technology, 2011, 51(6): 1434-1439. (in Chinese)
[4] Suprasad V A, Ravindra B M. Reliability characteristics of k-out-of-n warm standby systems[J]. IEEE Transactions on Reliability, 2012, 61(4): 1007-1018.
[5] Al-Omari R, Somani A K, Manimaran G. Efficient overloading techniques for primary-backup scheduling in real-time systems[J]. Journal of Parallel and Distributed Computing, 2004, 64(5): 629-648.
[6] 朱曉敏, 王建江, 王吉, 等. 面向容錯的對地觀測衛(wèi)星實時任務(wù)調(diào)度研究[J].電子學(xué)報, 2015, 43(8):1471-1480. ZHU Xiao-min, WANG Jian-jiang, WANG Ji, et al. Fault-tolerance oriented real-time task scheduling on multiple earth-observing satellites[J]. Acta Electronica Sinica, 2015, 43(8): 1471-1480. (in Chinese)
[7] 鄒德清, 向軍, 張曉旭, 等. 基于Remus的雙機熱備份優(yōu)化機制研究[J].山東大學(xué)學(xué)報:理學(xué)版, 2014, 49(9):50-55,61. ZOU De-qing, XIANG Jun, ZHANG Xiao-xu, et al. Optimization research of hot standy with Remus[J]. Journal of Shandong University: Natural Science, 2014, 49(9): 50-55, 61. (in Chinese)
[8] Jain M, Gupta R. Redundancy issues in software and hardware systems: an overview[J]. International Journal of Reliability, Quality and Safety Engineering, 2011, 18(1): 61-98.
[9] 賀庚賢, 李俊霖, 寧飛. 星務(wù)仿真系統(tǒng)高精度時標(biāo)設(shè)計[J]. 電子測量與儀器學(xué)報, 2014, 28(8):827-835. HE Geng-xian, LI Jun-lin, NING Fei. Design of for new housekeeping simulation system’s high accuracy time synchronization[J]. Journal of Electronic Measurement and Instrument, 2014, 28(8): 827-835. (in Chinese)
[10] Beitollahi H, Miremadi S G, Deconinck G. Fault-tolerant earliest-deadline-first scheduling algorithm[C]∥21st International Parallel and Distributed Processing Symposium. Long Beach, CA, US: IEEE, 2007.
[11] Abhaya K S, Rajib M, Chittaranjan T. Fault tolerant scheduling of hard real-time tasks on multiprocessor system using a hybrid genetic algorithm [J].Swarm and Evolutionary Computation, 2014, 14(10): 92-105.
[12] Risat M P. Fault-tolerant and real-time scheduling for mixed-criticality systems [J]. Real-Time Systems, 2014, 50(4): 509-547.
[13] He Z Z, Men C G, Chen Y J, et al. Schedulability of fault tolerant real time system based on local optimum checkpoint under priority mixed strategy [J]. Chinese Journal of Electronics,2015, 24(2): 236-244.
[14] Rivas J M, Javier G J, Carlos P J, et al. Deadline assignment in EDF schedulers for real-time distributed systems [J]. IEEE Transactions on Parallel and Distributed Systems,2015, 26(10): 2671-2684.
[15] Liu C L, Layland J W. Scheduling algorithms for multiprogramming in a hard-real-time environment[J]. Journal of the Association for Computing Machinery, 1973, 20(1): 46-61.
Redundant Fault-tolerant Method for Real-time Measurement and Control System of Weapons and Equipment
LI Dan, HU Xiao-guang
(State Key Laboratory of Virtual Reality Technology and Systems, Beihang University, Beijing 100191, China)
A redundant fault-tolerant issue of a measurement and control system with compact PCI bus is studied to satisfy the requirements for high reliability of real-time measurement and control system. A redundancy design method is constructed, in which a heartbeat detection is used to connect the main and backup devices. And the high available hot-swap technology based on VxWorks real-time system is used to improve the redundant fault-tolerant capability of the system. A real-time fault-tolerance scheduling algorithm based on imprecise computation theory is proposed. The proposed algorithm is used for the measurement and control system to verify its improvement for redundant fault-tolerance. Simulated and experimental results show that the system can satisfy the requirements of redundancy and fault tolerance. The design method can effectively improve the reliability of the system.
ordnance science and technology; redundancy; fault-tolerance; reliability; imprecise computation; compact PCI bus
2016-03-28
航空科學(xué)基金項目(2015ZC51032)
李丹(1986—), 男, 博士研究生。E-mail: lidanbuaa@sina.com; 胡曉光(1961—), 女, 教授, 博士生導(dǎo)師。E-mail: xiaoguang@buaa.edu.cn
TJ06
A
1000-1093(2016)11-2066-09
10.3969/j.issn.1000-1093.2016.11.015