當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀] 摘要: 隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的可靠性越來(lái)越受到人們的重視,而容錯(cuò)技術(shù)是提高可靠性的一種有效方法。本文研究了計(jì)算機(jī)容錯(cuò)技術(shù)的各種方法,如硬件容錯(cuò)、信息容錯(cuò)、軟件容錯(cuò)等,介紹了TMR(三模冗余

      摘要: 隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的可靠性越來(lái)越受到人們的重視,而容錯(cuò)技術(shù)是提高可靠性的一種有效方法。本文研究了計(jì)算機(jī)容錯(cuò)技術(shù)的各種方法,如硬件容錯(cuò)、信息容錯(cuò)、軟件容錯(cuò)等,介紹了TMR(三模冗余)的原理及其缺點(diǎn),詳細(xì)研究了兩種最基本的軟件容錯(cuò)技術(shù)NVP和RB。這些容錯(cuò)技術(shù)可有效提高計(jì)算機(jī)系統(tǒng)的可靠性。

  計(jì)算機(jī)的應(yīng)用十分廣泛,航空航天、軍事、銀行監(jiān)管系統(tǒng)、交通運(yùn)輸系統(tǒng)以及其他重要的工業(yè)領(lǐng)域?qū)τ?jì)算機(jī)的可靠性要求非常高。計(jì)算機(jī)系統(tǒng)出現(xiàn)故障不僅會(huì)導(dǎo)致國(guó)家財(cái)產(chǎn)的嚴(yán)重?fù)p失,還會(huì)危及人身安全。因此,在這些領(lǐng)域中計(jì)算機(jī)的可靠性越來(lái)越受到人們的重視,國(guó)家非常重視可靠性的研究工作,投入了大量的資源。

  1  基本容錯(cuò)技術(shù)

  一般而言,提高計(jì)算機(jī)的可靠性有兩種比較有效的方法。一種是避錯(cuò),就是避免出現(xiàn)故障,這就需要嚴(yán)格篩選計(jì)算機(jī)元器件,完善設(shè)計(jì),提高制造工藝,以及加強(qiáng)質(zhì)量管理等。但即使是這樣一個(gè)計(jì)算機(jī)系統(tǒng),由于其所在的工作環(huán)境有各種環(huán)境應(yīng)力,如濕度、溫度、電磁干擾、強(qiáng)震動(dòng)等,因此總避免不了出現(xiàn)故障。這就要求在計(jì)算機(jī)出現(xiàn)故障的情況下容忍故障的存在,即第二種方法--容錯(cuò)技術(shù)。容錯(cuò)技術(shù)最早由約翰·馮·諾依曼(John VON Neumann)提出,所謂容錯(cuò)是指在出現(xiàn)一個(gè)或者幾個(gè)硬件或軟件方面的故障或錯(cuò)誤的情況下,計(jì)算機(jī)系統(tǒng)能夠檢測(cè)出故障的存在并采取措施容忍故障,不影響正常工作,或者在能夠完成規(guī)定的任務(wù)的情況下降級(jí)運(yùn)行[1]。

  故障是指由于部件的物理失效、環(huán)境應(yīng)力的作用、操作錯(cuò)誤或不正確的設(shè)計(jì),引起系統(tǒng)的硬件或軟件的錯(cuò)誤狀態(tài)[2]。下面介紹幾種相關(guān)技術(shù)的基本概念。

  故障檢錯(cuò)技術(shù):對(duì)于計(jì)算機(jī)系統(tǒng)的容錯(cuò)首先要用到故障檢錯(cuò)技術(shù),即在計(jì)算機(jī)系統(tǒng)發(fā)生故障的情況下能夠檢測(cè)出故障的存在。

  故障診斷技術(shù): 檢測(cè)出系統(tǒng)存在故障后要進(jìn)行故障的定位,找出故障所在的位置。

  故障恢復(fù)技術(shù): 在檢測(cè)出故障和定位故障的所在位置之后,就要運(yùn)用故障恢復(fù)技術(shù)把系統(tǒng)從故障的狀態(tài)恢復(fù)到無(wú)故障的狀態(tài)繼續(xù)運(yùn)行。

  容錯(cuò)最基本的的方法是冗余技術(shù),所謂冗余就是超過(guò)系統(tǒng)實(shí)現(xiàn)正常功能的額外資源。冗余包括硬件冗余、軟件冗余、時(shí)間冗余和信息冗余。

  1.1  硬件容錯(cuò)技術(shù)

  硬件冗余又包括靜態(tài)硬件冗余(也叫被動(dòng)硬件冗余)、動(dòng)態(tài)硬件冗余(也叫主動(dòng)硬件冗余)和混合冗余(靜態(tài)冗余和動(dòng)態(tài)冗余的結(jié)合)。靜態(tài)硬件冗余常見(jiàn)的形式有三模冗余(TMR),其基本原理是:系統(tǒng)輸入通過(guò)3個(gè)功能相同的模塊,產(chǎn)生的3個(gè)結(jié)果送到多數(shù)表決器進(jìn)行表決,即三中取二的原則,如果模塊中有一個(gè)出錯(cuò),而另外兩個(gè)模塊正常,則表決器的輸出正確,從而可以屏蔽一個(gè)故障,TMR的缺點(diǎn)是,如果3個(gè)模塊的輸出各不相同,則無(wú)法進(jìn)行多數(shù)表決;若有兩個(gè)模塊出現(xiàn)一致的故障,則表決的結(jié)果會(huì)出現(xiàn)錯(cuò)誤。TMR結(jié)構(gòu)如圖1所示。


圖1  TMR結(jié)構(gòu)圖

  三模冗余可推廣到N模冗余(NMR),其基本原理與TMR的原理相同,其中N≥3,且N為奇數(shù),以便進(jìn)行多數(shù)表決。動(dòng)態(tài)冗余是指當(dāng)檢測(cè)到工作的模塊出現(xiàn)錯(cuò)誤時(shí),就切換到一個(gè)備用的模塊,當(dāng)換上的備用模塊又發(fā)生故障時(shí),再切換到另一個(gè)備用模塊,依次類(lèi)推,直到備用的模塊用完。

  1.2  時(shí)間容錯(cuò)技術(shù)

  時(shí)間容錯(cuò)的基本思想是:重復(fù)執(zhí)行指令或者一段程序來(lái)消除故障的影響,以達(dá)到容錯(cuò)的效果,它是用消耗時(shí)間來(lái)?yè)Q取容錯(cuò)的目的。根據(jù)執(zhí)行的是一條指令還是一段程序,分成兩種方法:

  一種是指令復(fù)執(zhí)。當(dāng)檢測(cè)出故障的時(shí)候,重復(fù)執(zhí)行故障指令,若故障是瞬時(shí)的,則在指令復(fù)執(zhí)期間可能不會(huì)出現(xiàn),程序就可以繼續(xù)向前運(yùn)行。指令復(fù)執(zhí)必須保留上一指令結(jié)束的“現(xiàn)場(chǎng)”,包括累加器、PC及其他狀態(tài)寄存器的狀態(tài)。

  另一種是程序卷回。它不是重復(fù)執(zhí)行一條指令,而是重復(fù)執(zhí)行一小段程序。在整段程序中可以設(shè)置多個(gè)恢復(fù)點(diǎn),程序有錯(cuò)誤的情況下可以從一個(gè)個(gè)恢復(fù)點(diǎn)處開(kāi)始重復(fù)執(zhí)行程序。首先檢驗(yàn)一小段程序的計(jì)算結(jié)果,若結(jié)果出現(xiàn)錯(cuò)誤則卷回再重復(fù)執(zhí)行那個(gè)部分,若一次卷回不能解決,可以多次卷回,直到故障消除。

  1.3  信息容錯(cuò)技術(shù)

  信息容錯(cuò)技術(shù)是通過(guò)在數(shù)據(jù)中附加冗余的信息位來(lái)達(dá)到故障檢測(cè)和容錯(cuò)的目的。通常情況下,附加的信息位越多,其檢錯(cuò)糾錯(cuò)的能力就越強(qiáng),但是這同時(shí)也增加了復(fù)雜度和難度。信息冗余最常見(jiàn)的有檢錯(cuò)碼和糾錯(cuò)碼。檢錯(cuò)碼只能檢查出錯(cuò)誤的存在,不能改正錯(cuò)誤,而糾錯(cuò)碼能檢查出錯(cuò)誤并能糾正錯(cuò)誤。常用的檢錯(cuò)糾錯(cuò)碼有奇偶校驗(yàn)碼、海明碼、循環(huán)碼等。

  1.4  軟件容錯(cuò)技術(shù)

  由于硬件系統(tǒng)的故障主要來(lái)自生產(chǎn)和使用階段,因此容錯(cuò)可以通過(guò)相同部件的重復(fù),即相同資源的累積設(shè)置來(lái)實(shí)現(xiàn);而軟件故障主要來(lái)自說(shuō)明、設(shè)計(jì)和實(shí)現(xiàn)階段,因此程序的簡(jiǎn)單重復(fù)不能實(shí)現(xiàn)容錯(cuò),它只能防止硬件損壞或者環(huán)境干擾等引起的物理性故障,而不能防止軟件本身缺陷造成的故障。實(shí)現(xiàn)軟件容錯(cuò)的基本方法,是將若干個(gè)根據(jù)同一需求說(shuō)明編寫(xiě)的不同程序(即多版本程序),在不同空間同時(shí)運(yùn)行,然后在每一個(gè)設(shè)置點(diǎn)通過(guò)表決或接收測(cè)試進(jìn)行表決。

  最基本的軟件容錯(cuò)技術(shù)是Algirdas Avizienis提出的基于靜態(tài)冗余的N版本編程方法和B. Randell提出的基于動(dòng)態(tài)冗余的恢復(fù)塊技術(shù)。

  1.4.1  軟件的相異性設(shè)計(jì)

  對(duì)于軟件容錯(cuò),考慮的重點(diǎn)是軟件設(shè)計(jì)的相異性和版本的獨(dú)立性。軟件的相異性設(shè)計(jì)是為了防止由于軟件發(fā)生共性故障而采用的一種設(shè)計(jì)方法。軟件設(shè)計(jì)時(shí)的共性越小,出現(xiàn)相同故障的概率也就越小,容錯(cuò)性能就越強(qiáng)。

  相異性設(shè)計(jì)要求,對(duì)于同一需求說(shuō)明的軟件功能,不同的研發(fā)設(shè)計(jì)人員及不同的研發(fā)設(shè)計(jì)小組對(duì)于這同一功能的軟件設(shè)計(jì)禁止談?wù)摵蜏贤ǎ诓煌沫h(huán)境空間中獨(dú)立進(jìn)行設(shè)計(jì);另外,還要求軟件設(shè)計(jì)的多樣性,如采取不同的設(shè)計(jì)方法、開(kāi)發(fā)工具、編程語(yǔ)言、編譯器、算法等。在航空航天、核電站控制以及鐵路交通的控制等對(duì)軟件的可靠性要求很高的場(chǎng)合,軟件的相異性設(shè)計(jì)可以有效提高軟件的容錯(cuò)能力和軟件的可靠性,對(duì)提高整個(gè)系統(tǒng)的可靠性有很重要的作用。

  1.4.2  軟件容錯(cuò)的基本結(jié)構(gòu)

  軟件容錯(cuò)的基本結(jié)構(gòu)有兩種:

  一種是NVP(NVersion Programming)結(jié)構(gòu)(多版本編程設(shè)計(jì)),這種結(jié)構(gòu)方法是Algirdas Avizienis于1977年在參考文獻(xiàn)[6]中提出的,它是一種靜態(tài)冗余方法,其基本的設(shè)計(jì)思想是用N個(gè)具有同一功能而采用不同編程方法的程序執(zhí)行一項(xiàng)運(yùn)算,其結(jié)果通過(guò)多數(shù)表決器輸出。NVP系統(tǒng)中的多版本是指根據(jù)同一需求說(shuō)明由不同的設(shè)計(jì)人員或由不同的設(shè)計(jì)方法、開(kāi)發(fā)工具、編程語(yǔ)言等開(kāi)發(fā)的具有同一功能的軟件版本,即所謂的版本設(shè)計(jì)的相異性。這種容錯(cuò)結(jié)構(gòu)方法有效避免了由于軟件共性故障所造成的系統(tǒng)出錯(cuò),提高了軟件的可靠性。NNP結(jié)構(gòu)如圖2所示。


圖2  NVP結(jié)構(gòu)

  另一種是RB(Recovery Block,恢復(fù)快結(jié)構(gòu)),它是Randell于1975年在參考文獻(xiàn)[7]中提出的一種的軟件容錯(cuò)技術(shù),它是一種動(dòng)態(tài)冗余方法。在RB結(jié)構(gòu)中,有主程序塊和一些備用程序塊構(gòu),這里的主程序塊和備用程序塊采用不同編程方法但具有相同的功能。每個(gè)主程序塊都可以用一個(gè)根據(jù)同一需求說(shuō)明設(shè)計(jì)的備用程序塊替換。首先運(yùn)行主程序塊,然后進(jìn)行接收測(cè)試,如果測(cè)試通過(guò)則將結(jié)果輸出給后續(xù)程序,否則調(diào)用第一個(gè)備用塊,依次類(lèi)推,在N個(gè)備用程序塊替換完后仍沒(méi)有通過(guò)測(cè)試,則要進(jìn)行故障處理。RB結(jié)構(gòu)如圖3所示。


圖3  RB結(jié)構(gòu)

  其他的軟件容錯(cuò)結(jié)構(gòu)都是基于這兩個(gè)基本結(jié)構(gòu)而來(lái)的,例如NVPP(多版本階段程序設(shè)計(jì)),它要求程序的版本運(yùn)行分多個(gè)階段進(jìn)行,而且每個(gè)階段運(yùn)行的程序都包括適當(dāng)?shù)陌姹緮?shù)量。運(yùn)行一個(gè)階段后,要通過(guò)表決程序來(lái)對(duì)這一階段運(yùn)行的程序進(jìn)行表決,如果得到正確的結(jié)果就結(jié)束運(yùn)行,否則繼續(xù)下一個(gè)階段版本的運(yùn)行,直到得出正確的結(jié)果。

  NVP和RB這兩種基本結(jié)構(gòu)在軟件容錯(cuò)中用得最廣泛,占據(jù)很重要的地位。這里要注意的是,驗(yàn)證表決程序的可靠性以及表決結(jié)果的正確性是個(gè)難點(diǎn),因?yàn)槿绻頉Q程序本身就是錯(cuò)誤的,那表決的結(jié)果就不可信了,所以要用正確性證明技術(shù)來(lái)保證表決程序的正確。

  2  結(jié)論

  本文詳細(xì)介紹了計(jì)算機(jī)容錯(cuò)的各種方法,包括硬件容錯(cuò)、時(shí)間容錯(cuò)、信息容錯(cuò)以及軟件容錯(cuò)等,這些容錯(cuò)方法在其他工業(yè)場(chǎng)合有廣泛的應(yīng)用,現(xiàn)在很多工業(yè)系統(tǒng)都是采用基于三模冗余的容錯(cuò)技術(shù)來(lái)提高系統(tǒng)的可靠性。對(duì)于其他要求可靠性高的場(chǎng)合,計(jì)算機(jī)容錯(cuò)技術(shù)的方法有著良好的應(yīng)用前景。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉