張路青
(海軍駐中南地區(qū)光電系統(tǒng)軍事代表室 武漢 430223)
數(shù)據(jù)融合是對(duì)來(lái)自多源的信息和數(shù)據(jù)進(jìn)行檢測(cè)、關(guān)聯(lián)、相關(guān)、估計(jì)和綜合處理,以得到精確的狀態(tài)和身份估計(jì),以及完整、及時(shí)的態(tài)勢(shì)、威脅和重要程度的估計(jì)[1],是去粗取精、去偽存真、由此及彼、由表及里的過(guò)程。隨著計(jì)算機(jī)、電子技術(shù)的高速發(fā)展,現(xiàn)代戰(zhàn)場(chǎng)情報(bào)探測(cè)手段更加豐富,信息量都有了很大的增長(zhǎng),可用的情報(bào)來(lái)源(岸、海、空、天、潛等)和情報(bào)種類(lèi)(電磁、紅外、光電、水聲等)越來(lái)越多。同時(shí),對(duì)信息感知和信息融合能力的要求也越來(lái)越高。單機(jī)難以負(fù)擔(dān)大規(guī)模數(shù)據(jù)的實(shí)時(shí)、精確計(jì)算,需要引入并行計(jì)算技術(shù),采用高性能并行并行融合方法。目前,MPI(Message Process Interface)是科學(xué)計(jì)算領(lǐng)域中廣泛使用的標(biāo)準(zhǔn)化并行編程環(huán)境,具有移植容易、擴(kuò)展性好、結(jié)構(gòu)簡(jiǎn)單高效等多種優(yōu)點(diǎn)[2],但在容錯(cuò)性方面還達(dá)不到融合系統(tǒng)并行化的要求隨著并行計(jì)算集群節(jié)點(diǎn)數(shù)的增加,融合系統(tǒng)發(fā)生故障的概率也迅速增大,對(duì)于擁有幾萬(wàn)個(gè)處理器的大規(guī)模并行融合系統(tǒng),平均故障時(shí)間可達(dá)小時(shí)級(jí)[3],因此必須考慮容錯(cuò)機(jī)制。本文先分析MPI容錯(cuò)的研究進(jìn)展,再根據(jù)數(shù)據(jù)融合系統(tǒng)的特點(diǎn)提出一種在融合系統(tǒng)中引入MPI容錯(cuò)的解決方案。
系統(tǒng)并行計(jì)算系統(tǒng)的錯(cuò)誤主要來(lái)自于節(jié)點(diǎn)失效、進(jìn)程異常、終止和網(wǎng)絡(luò)故障這三個(gè)方面。實(shí)現(xiàn)MPI的容錯(cuò)方法有很多,有硬件容錯(cuò)和軟件容錯(cuò)。硬件容錯(cuò)實(shí)時(shí)性好,糾錯(cuò)速度快,但是可擴(kuò)展性不好,需要額外的軟件支持,可能與消息傳遞機(jī)制不兼容[4]。軟件容錯(cuò)又可以分為回卷恢復(fù)和副本冗余兩種。
回卷恢復(fù)也就是在系統(tǒng)正常運(yùn)行的適當(dāng)時(shí)刻設(shè)置檢查點(diǎn),保存未出錯(cuò)時(shí)的狀態(tài),當(dāng)出現(xiàn)故障時(shí),MPI應(yīng)用程序回卷到最近的一次檢查點(diǎn)時(shí)的狀態(tài),恢復(fù)狀態(tài)后繼續(xù)執(zhí)行?,F(xiàn)階段回卷恢復(fù)主要包括檢查點(diǎn)/回卷(CRR,Checkpoint-based Rollback Re?covery)和日志/回卷(LRR,Log-based Rollback Re?covery)兩種。LRR也依賴于檢查點(diǎn),只是增加了消息日志,日志由進(jìn)程歷史上發(fā)生的事件組成,保存了日志就可以重新運(yùn)行位于最近的檢查點(diǎn)和錯(cuò)誤發(fā)生點(diǎn)之間的那部分程序。日志又分為樂(lè)觀日志、悲觀日志和因果日志[5~7]。檢查點(diǎn)/回卷可以分為系統(tǒng)(內(nèi)核)級(jí)檢查點(diǎn)[4,6~7]和應(yīng)用(用戶)級(jí)檢查點(diǎn)[8~10]。常用的系統(tǒng)級(jí)檢查點(diǎn)工具有Epckpt、Crak、BLCR等,基于用戶層開(kāi)發(fā)的工具有Condor、Libckpt等工具[8]。
檢查點(diǎn)無(wú)論是串行還是并行,同步或者異步,協(xié)同設(shè)置或者獨(dú)立設(shè)置,都必須考慮全局一致性狀態(tài)。一個(gè)消息傳遞系統(tǒng)的全局狀態(tài)包括所有參與進(jìn)程的狀態(tài)信息以及通信通道的狀態(tài)[11]。只有檢查點(diǎn)或者日志記錄的是回卷時(shí)全部必要的狀態(tài)信息,回卷才能正確的恢復(fù)MPI程序。全局一致性狀態(tài)的必要性是保存的全局狀態(tài)中不包含孤立消息。孤立消息也就是消息的接收事件被記錄,但是發(fā)送事件卻沒(méi)有被記錄。如圖1所示,P1,P2,P3是三個(gè)MPI進(jìn)程,圖中消息m1在P1處已經(jīng)記錄發(fā)送,雖然在P2處沒(méi)有收到,但是消息被保存于消息信道里面(這樣的消息被叫做中途消息)。如果程序運(yùn)行到B點(diǎn)發(fā)生故障回卷到CK0,則不會(huì)造成不一致?tīng)顟B(tài)。圖中消息m4已經(jīng)從P2發(fā)送到P3中,但是P2并未記錄(這樣的消息被叫做孤立消息)。如果程序運(yùn)行到C點(diǎn)發(fā)生故障,回卷到CK1,則P2會(huì)再發(fā)送一次m4消息給P3,造成全局不一致?tīng)顟B(tài)。
圖1 一致性狀態(tài)與不一致性狀態(tài)
文獻(xiàn)[4]介紹了回卷恢復(fù)和CO-CRR協(xié)議,通過(guò)對(duì)每個(gè)進(jìn)程設(shè)置檢查點(diǎn)廣播的方式避免孤立消息,但是相關(guān)性能還需進(jìn)一步測(cè)試。文獻(xiàn)[5]提出的MPI容錯(cuò)系統(tǒng)采用了基于發(fā)送方儲(chǔ)存的樂(lè)觀消息日志,通過(guò)運(yùn)用Venkatesan算法獨(dú)立異步的為每個(gè)進(jìn)程設(shè)置檢查點(diǎn),然后通過(guò)基于消息計(jì)數(shù)的協(xié)同式檢查點(diǎn)協(xié)議恢復(fù)到檢查點(diǎn)。文獻(xiàn)[7]首先介紹了基本的系統(tǒng)是檢查點(diǎn)協(xié)議(CO-CRR)并進(jìn)行了開(kāi)銷(xiāo)分析,然后利用可重建的全局檢查點(diǎn)設(shè)計(jì)了一個(gè)基于可重建檢查點(diǎn)的非阻塞協(xié)同式檢查點(diǎn)協(xié)議。文獻(xiàn)[8]主要利用容錯(cuò)RAID的數(shù)據(jù)布局方法,在應(yīng)用級(jí)做檢查點(diǎn),對(duì)每個(gè)MPI進(jìn)程的計(jì)算數(shù)據(jù)做內(nèi)存編碼,文中提出的內(nèi)存檢查點(diǎn)方法可以有效防止系統(tǒng)出現(xiàn)數(shù)據(jù)存取錯(cuò)誤。文獻(xiàn)[10]提出了使用檢查點(diǎn)的源到源轉(zhuǎn)換工具ALEC在期望保存點(diǎn)設(shè)置預(yù)編譯指令的方法,通過(guò)預(yù)編譯確定需要保存的關(guān)鍵數(shù)據(jù)。這種方法可以有效的減小檢查點(diǎn)文件的大小,減少了系統(tǒng)設(shè)置和恢復(fù)檢查點(diǎn)的開(kāi)銷(xiāo)。文獻(xiàn)[11]采用了基于消息驅(qū)趕的協(xié)調(diào)式檢查點(diǎn)協(xié)議設(shè)置檢查點(diǎn),分別論述了檢查點(diǎn)設(shè)置、基于MPD的錯(cuò)誤探測(cè)、處理及恢復(fù)流程。
BLCR是伯克利實(shí)驗(yàn)室未來(lái)技術(shù)組的研究者為L(zhǎng)inux操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了一種Checkpoint/Restart技術(shù)。它使用戶不需要修改應(yīng)用程序的源碼就能讓絕大部分應(yīng)用軟件擁有執(zhí)行Checkpoint/Restart能力。新版的MPI不再使用MPD進(jìn)程管理,而是采用Hydra進(jìn)程管理器。Hydra進(jìn)程管理器使BLCR可以作為MPI的一個(gè)可擴(kuò)展用戶空間插件自動(dòng)編譯到MPI系統(tǒng)中。為了在編譯MPI使加入BLCR功能,需要在編譯前將BLCR的路徑加入到MPI的配置選項(xiàng)里,例如在configure命令后面添加--with-blcr=<BLCR_INSTALL_DIR>即可。
在MPI中,當(dāng)程序出錯(cuò)時(shí),會(huì)返回一個(gè)錯(cuò)誤代碼,默認(rèn)的錯(cuò)誤返回代碼是MPI_ER?RORS_ARE_FATAL。MPI會(huì)把任何返回這個(gè)代碼的錯(cuò)誤,不管能處理還是不能處理,都當(dāng)成致命性的錯(cuò)誤,從而導(dǎo)致錯(cuò)誤進(jìn)程所在通信域的所有進(jìn)程集體退出??梢栽诰幾g配置時(shí)加入“-disable-au?to-cleanup”選項(xiàng),使進(jìn)程只返回錯(cuò)誤代碼。
MPI支持兩種主要的設(shè)置檢查點(diǎn)的方式—定時(shí)設(shè)置和用戶指定設(shè)置。通過(guò)使用指令mpiex?ec-ckpointlib blcr-ckpoint-prefix/tmp/app.ckpoint-ckpoint-interval 3600-f hosts-n 4./app,可以以3600S的定時(shí)間隔設(shè)置檢查點(diǎn)。用戶還可以通過(guò)給mpiexec發(fā)送SIGUSR1信號(hào)通知BLCR設(shè)置檢查點(diǎn)。
副本冗余,也就是為正在運(yùn)行的程序設(shè)置副本。副本冗余也包含很多層級(jí)和機(jī)制。譬如,按照層級(jí)分為集群冗余、節(jié)點(diǎn)冗余、進(jìn)程冗余[12~13],按照機(jī)制分為計(jì)算冗余[12~13]和通信冗余[14]等等。
文獻(xiàn)[12]主要研究了三模冗余進(jìn)程機(jī)制(并行MPI程序的任意一個(gè)進(jìn)程P0都存在兩個(gè)冗余的副本P1和P2,P0與其對(duì)應(yīng)的冗余副本P1和P2進(jìn)行完全相同的運(yùn)算,發(fā)送和接收完全相同的消息。稱由這樣3個(gè)進(jìn)程構(gòu)成的整體為三模冗余進(jìn)程簇),介紹了一種面向MPI大規(guī)模并行計(jì)算的可擴(kuò)展三模冗余容錯(cuò)機(jī)制,主要從傳統(tǒng)TMR的開(kāi)銷(xiāo)角度計(jì)算分析出傳統(tǒng)三模冗余進(jìn)程機(jī)制的局限性,對(duì)三個(gè)作業(yè)進(jìn)程之間的通信和數(shù)據(jù)比較選擇進(jìn)行了優(yōu)化,減少了數(shù)據(jù)通信和比較的開(kāi)銷(xiāo)。文獻(xiàn)[13]提出了一種基于進(jìn)程冗余的MPI程序容錯(cuò)機(jī)制REDReP,REDReP為運(yùn)行并行程序的每個(gè)MPI進(jìn)程創(chuàng)建一個(gè)冗余副本,當(dāng)該進(jìn)程需要與其他進(jìn)程通信時(shí),先比較兩個(gè)冗余進(jìn)程的結(jié)果,如果相同才繼續(xù)執(zhí)行后續(xù)任務(wù)。文獻(xiàn)[12]和文獻(xiàn)[13]都從冗余進(jìn)程之間數(shù)據(jù)通信、數(shù)據(jù)比較等角度分析并優(yōu)化了開(kāi)銷(xiāo)。
文獻(xiàn)[14]主要介紹了一種基于故障接管的網(wǎng)絡(luò)容錯(cuò)策略。文中認(rèn)為并行計(jì)算主要的顧慮是消息是否到達(dá),所以為主通信協(xié)議(精簡(jiǎn)通信協(xié)議RCP)設(shè)計(jì)了一個(gè)備份通信協(xié)議(以太網(wǎng)),并設(shè)計(jì)了協(xié)議虛擬接口層實(shí)現(xiàn)協(xié)議的無(wú)縫切換,整個(gè)體系結(jié)構(gòu)由消息接口層、容錯(cuò)協(xié)議層、多協(xié)議層和守護(hù)控制進(jìn)程組成。
系統(tǒng)并行計(jì)算系統(tǒng)的錯(cuò)誤主要來(lái)自于節(jié)點(diǎn)失效、進(jìn)程異常、終止和網(wǎng)絡(luò)故障這三個(gè)方面。實(shí)現(xiàn)MPI的容錯(cuò)方法有很多,有硬件容錯(cuò)和軟件容錯(cuò)。硬件容錯(cuò)實(shí)時(shí)性好,糾錯(cuò)速度快,但是可擴(kuò)展性不好,需要額外的軟件支持,可能與消息傳遞機(jī)制不兼容[4]。軟件容錯(cuò)又可以分為回卷恢復(fù)和副本冗余兩種。
數(shù)據(jù)融合系統(tǒng)主要包括數(shù)據(jù)配準(zhǔn)、數(shù)據(jù)相關(guān)、數(shù)據(jù)濾波與合成。具體到航跡融合,主要是時(shí)空配準(zhǔn)、數(shù)據(jù)預(yù)處理、航跡濾波、航跡相關(guān)、航跡合成等功能模塊(如圖2所示)。時(shí)空配準(zhǔn)將各傳感器探測(cè)到的目標(biāo)位置轉(zhuǎn)換到同一坐標(biāo)系,探測(cè)到目標(biāo)的時(shí)間也建立統(tǒng)一時(shí)序,并估計(jì)傳感器的系統(tǒng)誤差和參數(shù)。數(shù)據(jù)預(yù)處理剔除異常數(shù)據(jù)和虛假目標(biāo)。航跡濾波是對(duì)一個(gè)觀測(cè)序列進(jìn)行數(shù)據(jù)處理,以獲得更精確的態(tài)勢(shì)估計(jì)與預(yù)測(cè)的過(guò)程。航跡相關(guān)是信源間的航-航互聯(lián)過(guò)程,其目的是確定哪些航跡數(shù)據(jù)來(lái)源于同一個(gè)目標(biāo),為去除重復(fù)信息、進(jìn)行目標(biāo)信息提純奠定基礎(chǔ)。航跡合成就是對(duì)不同信源相關(guān)后的航跡進(jìn)行合成,以獲得更精確的態(tài)勢(shì)估計(jì)與預(yù)測(cè)的過(guò)程。從圖2可以看出,整個(gè)航跡融合流程邏輯序貫性強(qiáng),數(shù)據(jù)之間的耦合性大,這些都對(duì)融合的并行及容錯(cuò)造成了很大的困難[15]。
由圖2可知,航跡融合系統(tǒng)中各功能模塊序貫性強(qiáng),且有相對(duì)嚴(yán)格的處理順序,所以試圖從流程方面進(jìn)行并行任務(wù)劃分效率不會(huì)很高。本文采用文獻(xiàn)[15]和文獻(xiàn)[16]中論述的基于網(wǎng)格劃分的方法。即將多部雷達(dá)輸出的航跡信息根據(jù)空間位置關(guān)系和航跡間的模糊關(guān)聯(lián)關(guān)系動(dòng)態(tài)聚類(lèi)成多個(gè)不同的區(qū)域,區(qū)域內(nèi)的航跡間具有相關(guān)性,不同區(qū)域內(nèi)的航跡相互獨(dú)立。從而可以將相同區(qū)域內(nèi)的航跡分配到同一個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行處理,這樣各任務(wù)節(jié)點(diǎn)就具有獨(dú)立性,可以充分發(fā)揮并行處理的優(yōu)勢(shì)。并行融合架構(gòu)如圖3所示。
圖3 以區(qū)域?yàn)閱挝贿M(jìn)行并行任務(wù)劃分
綜合2.1節(jié)的分析可知,基于回卷恢復(fù)的容錯(cuò)機(jī)制主要包括保存檢查點(diǎn)狀態(tài)和恢復(fù)繼續(xù)執(zhí)行兩個(gè)步驟。檢查點(diǎn)保存和恢復(fù)的開(kāi)銷(xiāo)與集群系統(tǒng)規(guī)模和所設(shè)置檢查點(diǎn)的時(shí)間和數(shù)量都有關(guān)系[9]。融合程序?qū)儆谟?jì)算密集型的程序,設(shè)置協(xié)調(diào)式檢查點(diǎn)的性能要優(yōu)于獨(dú)立設(shè)置檢查點(diǎn),本文選擇使用系統(tǒng)級(jí)檢查點(diǎn)設(shè)置工具BLCR。一般來(lái)說(shuō),采用回卷恢復(fù)進(jìn)行容錯(cuò)設(shè)計(jì)比較耗時(shí),而指控系統(tǒng)需要的情報(bào)信息不僅要求準(zhǔn)確可靠,更要求快速及時(shí),所以單純靠回卷恢復(fù)并不能滿足系統(tǒng)容錯(cuò)的設(shè)計(jì)需求。本文在回卷恢復(fù)的基礎(chǔ)上提出了回卷恢復(fù)與層級(jí)冗余任務(wù)進(jìn)程相結(jié)合的機(jī)制。層級(jí)冗余任務(wù)也就是根據(jù)任務(wù)在整個(gè)融合程序中的處理次序和重要性進(jìn)行劃分。根據(jù)任務(wù)類(lèi)型結(jié)構(gòu)進(jìn)行冗余既減輕了硬件開(kāi)銷(xiāo),又充分利用了冗余容錯(cuò)的機(jī)制,提高了整個(gè)系統(tǒng)的可靠性和靈活性。
通過(guò)前面的分析可知,航跡融合程序一般包括時(shí)空配準(zhǔn)、數(shù)據(jù)預(yù)處理、航跡濾波、航跡相關(guān)、航跡合成等功能模塊。這幾個(gè)模塊比較耗時(shí)和容易出錯(cuò)的是航跡濾波、相關(guān)和合成,所以并行的設(shè)計(jì)和相關(guān)容錯(cuò)的設(shè)計(jì)圍繞這三個(gè)功能模塊展開(kāi)。具體過(guò)程如圖4所示,從多源傳感器輸出的航跡先經(jīng)過(guò)報(bào)文接收放到融合程序里進(jìn)行時(shí)空配準(zhǔn),然后通過(guò)簡(jiǎn)單的預(yù)處理去掉錯(cuò)誤異常數(shù)據(jù)和虛假目標(biāo)。把預(yù)處理后的數(shù)據(jù)根據(jù)網(wǎng)格聚類(lèi)劃分為若干處理區(qū)域,再將各個(gè)區(qū)域通過(guò)數(shù)據(jù)分發(fā)模塊分發(fā)到指定的任務(wù)節(jié)點(diǎn)上進(jìn)行濾波、相關(guān)和合成。航跡濾波、航跡關(guān)聯(lián)和航跡合成任務(wù)節(jié)點(diǎn)設(shè)一個(gè)冗余處理進(jìn)程。這個(gè)冗余處理進(jìn)程是通過(guò)數(shù)據(jù)分發(fā)模塊進(jìn)行切換的,如果沒(méi)有任務(wù)節(jié)點(diǎn)出錯(cuò),則不將數(shù)據(jù)推送到冗余進(jìn)程。如果系統(tǒng)的心跳進(jìn)程檢測(cè)到某個(gè)處理單元出現(xiàn)錯(cuò)誤或者負(fù)載太大,就會(huì)分發(fā)數(shù)據(jù)到冗余進(jìn)程,出錯(cuò)任務(wù)進(jìn)程執(zhí)行檢查點(diǎn)/重啟技術(shù)恢復(fù)進(jìn)程,這時(shí)重啟恢復(fù)后的進(jìn)程變?yōu)槿哂噙M(jìn)程,等待下一次程序出錯(cuò)。為了保證程序進(jìn)程切換時(shí)不出現(xiàn)數(shù)據(jù)丟失,要求數(shù)據(jù)分發(fā)進(jìn)程保留發(fā)送到各任務(wù)節(jié)點(diǎn)的最后一次數(shù)據(jù)的拷貝。狀態(tài)檢測(cè)進(jìn)程一旦發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)出現(xiàn)錯(cuò)誤,切換到冗余任務(wù)節(jié)點(diǎn)后,將上一次分發(fā)給出錯(cuò)進(jìn)程但是沒(méi)有處理完的數(shù)據(jù)再次發(fā)送一遍。
圖4 MPI并行容錯(cuò)設(shè)計(jì)架構(gòu)
錯(cuò)誤處理與恢復(fù)流程:
1)心跳監(jiān)控進(jìn)程檢測(cè)到某個(gè)任務(wù)節(jié)點(diǎn)出現(xiàn)異?;蛘咂渌收?,心跳進(jìn)程向數(shù)據(jù)分發(fā)任務(wù)進(jìn)程發(fā)送封裝了故障任務(wù)節(jié)點(diǎn)信息的消息報(bào)。
2)數(shù)據(jù)分發(fā)任務(wù)進(jìn)程停止向故障任務(wù)節(jié)點(diǎn)分發(fā)數(shù)據(jù)。數(shù)據(jù)分發(fā)進(jìn)程通過(guò)比較分發(fā)到故障節(jié)點(diǎn)輸入和輸出的數(shù)據(jù)確定正在故障節(jié)點(diǎn)中處理尚未輸出的數(shù)據(jù)。并將這部分?jǐn)?shù)據(jù)重新分發(fā)到冗余任務(wù)節(jié)點(diǎn),冗余任務(wù)節(jié)點(diǎn)開(kāi)始接收數(shù)據(jù)并正常工作。數(shù)據(jù)分發(fā)進(jìn)程不再向故障任務(wù)節(jié)點(diǎn)分發(fā)數(shù)據(jù),也不再接收故障任務(wù)進(jìn)程輸出的數(shù)據(jù)。
3)任務(wù)節(jié)點(diǎn)管理進(jìn)程向故障任務(wù)節(jié)點(diǎn)發(fā)送重啟進(jìn)程的指令。故障任務(wù)節(jié)點(diǎn)開(kāi)始尋找最近的檢查點(diǎn)位置,然后重新啟動(dòng)進(jìn)程,丟掉進(jìn)程正常工作時(shí)的中間數(shù)據(jù),開(kāi)始等待分發(fā)數(shù)據(jù)。
4)這時(shí),原故障進(jìn)程就變?yōu)槿哂嗳蝿?wù)進(jìn)程。如果再一次故障,繼續(xù)回到1)~3)進(jìn)行處理。
為了測(cè)試驗(yàn)證所設(shè)計(jì)的并行容錯(cuò)算法,將基于MPI的航跡融合程序部署在使用交換機(jī)連接的局域網(wǎng)系統(tǒng)中。局域網(wǎng)有三臺(tái)配置相同的計(jì)算機(jī)(主頻3.4GHZ的i7 2600,2G內(nèi)存,操作系統(tǒng)為Solar?is11)組成。接入4部掃描周期2s的雷達(dá),實(shí)際處理目標(biāo)1500批。將融合后的輸出接入態(tài)勢(shì)軟件顯示。在相同時(shí)間內(nèi),串行處理效果如圖5(a)所示,加入并行容錯(cuò)的執(zhí)行效果如圖5(b)所示。由圖可看出,串行的融合算法執(zhí)行效率低,相同數(shù)據(jù)量輸入條件下,串行的程序?qū)⒋蟛糠謹(jǐn)?shù)據(jù)放入緩沖區(qū),航跡融合速度慢,航跡拖尾短;而并行則能快速執(zhí)行算法,占用內(nèi)存少,航跡拖尾長(zhǎng)。
圖5 相同時(shí)間內(nèi)算法執(zhí)行累積輸出對(duì)比
MPI程序沒(méi)加入容錯(cuò)時(shí),進(jìn)程域中某個(gè)進(jìn)程出現(xiàn)錯(cuò)誤就會(huì)導(dǎo)致所有進(jìn)程全部退出。通過(guò)手動(dòng)停止某個(gè)進(jìn)程的方式可以驗(yàn)證冗余任務(wù)進(jìn)程是否在進(jìn)程出現(xiàn)故障時(shí)接手工作,但是基于檢查點(diǎn)和冗余任務(wù)進(jìn)程相結(jié)合的容錯(cuò)效率則需要進(jìn)一步的驗(yàn)證。
數(shù)據(jù)融合系統(tǒng)并行化雖然有很多的困難,但是對(duì)并行化和相關(guān)容錯(cuò)的需求很迫切。本文首先通過(guò)文獻(xiàn)中關(guān)于MPI并行的論述和分析數(shù)據(jù)融合系統(tǒng)并行化所存在的困難,提出一種適合航跡融合系統(tǒng)的并行容錯(cuò)解決方案,即通過(guò)網(wǎng)格聚類(lèi)劃分并行任務(wù),通過(guò)檢查點(diǎn)和任務(wù)進(jìn)程冗余相結(jié)合的方法設(shè)計(jì)容錯(cuò)方案。整個(gè)設(shè)計(jì)有一定的實(shí)用性,不過(guò)容錯(cuò)效果有待進(jìn)一步的驗(yàn)證和改進(jìn)。