計(jì)算機(jī)容錯(cuò)技術(shù)及應(yīng)用淺析
計(jì)算機(jī)故障指的是因?yàn)橛?jì)算機(jī)部件的物理實(shí)現(xiàn)、環(huán)境影響、操作錯(cuò)誤或者是設(shè)計(jì)缺陷等原因,引起計(jì)算機(jī)系統(tǒng)的硬件或者軟件的錯(cuò)誤的狀態(tài),下面是小編搜集整理的一篇探究計(jì)算機(jī)容錯(cuò)技術(shù)及應(yīng)用的論文服務(wù),歡迎閱讀查看。
摘要:從計(jì)算機(jī)誕生開始道現(xiàn)在,對(duì)于計(jì)算機(jī)容錯(cuò)技術(shù)的研究就沒有中斷過,F(xiàn)在因?yàn)橛?jì)算機(jī)系統(tǒng)的廣泛應(yīng)用,使得其對(duì)于可靠性的要求越來越高,這就使得容錯(cuò)技術(shù)的研究更加受到重視。文中主要從硬件和軟件兩個(gè)方面對(duì)計(jì)算機(jī)容錯(cuò)技術(shù)進(jìn)行了分析。
關(guān)鍵詞:計(jì)算機(jī);容錯(cuò)技術(shù);可靠性
隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用變得越來越廣泛,在很多領(lǐng)域中對(duì)計(jì)算機(jī)的可靠性要求相當(dāng)高,例如科學(xué)研究、金融系統(tǒng)、交通運(yùn)輸管理、軍事等領(lǐng)域?qū)τ谟?jì)算機(jī)的可靠性的要求都相當(dāng)高。如果計(jì)算機(jī)出現(xiàn)故障,會(huì)導(dǎo)致很多嚴(yán)重的后果,不僅僅是會(huì)帶來各種經(jīng)濟(jì)損失,嚴(yán)重的還有可能會(huì)危及到人們的生命安全。所以,于計(jì)算機(jī)的可靠性,國(guó)家和社會(huì)都給予了高度的關(guān)注,并且投入了大量的人力與經(jīng)濟(jì)資源對(duì)計(jì)算機(jī)的可靠性進(jìn)行研究。
一、概述
一般情況下,為了能夠提高計(jì)算機(jī)的可靠性,主要是采用避錯(cuò)和容錯(cuò)這兩種方法。避錯(cuò)的方法主要盡可能的讓計(jì)算機(jī)遠(yuǎn)離各種故障。然而要避錯(cuò)就有著相當(dāng)嚴(yán)格的要求,例如對(duì)于計(jì)算機(jī)的各個(gè)元器件都要盡可能的好,在設(shè)計(jì)上盡可能的不出現(xiàn)瑕疵,制造工藝要盡可能的先進(jìn),同時(shí)在質(zhì)量管理方面也有著較高的要求。但是即使這些方面都做到了最好,這樣的計(jì)算機(jī)還必須要經(jīng)受各種工作環(huán)境中的因素的考驗(yàn),而有很多環(huán)境因素都不是計(jì)算機(jī)本身所能夠抗衡的(如電磁干擾、強(qiáng)震動(dòng)等等),仍然不可避免的會(huì)出現(xiàn)各種故障。那么這就要求,必須要能夠在計(jì)算機(jī)出現(xiàn)故障的情況下能夠容忍故障的存在,也就是容錯(cuò)技術(shù)。最早提出容錯(cuò)技術(shù)的是計(jì)算機(jī)之父馮·諾依曼。容錯(cuò)技術(shù)指的是當(dāng)計(jì)算機(jī)發(fā)生硬件或者軟件上的故障時(shí),計(jì)算機(jī)能夠通過一定的方法檢測(cè)出故障,然后通過一定的方法來對(duì)故障進(jìn)行容忍,使得故障不會(huì)影響到計(jì)算機(jī)的正常運(yùn)行,或者是在能夠完成指定任務(wù)的前提下進(jìn)行降級(jí)運(yùn)行。
計(jì)算機(jī)故障指的是因?yàn)橛?jì)算機(jī)部件的物理實(shí)現(xiàn)、環(huán)境影響、操作錯(cuò)誤或者是設(shè)計(jì)缺陷等原因,引起計(jì)算機(jī)系統(tǒng)的硬件或者軟件的錯(cuò)誤的狀態(tài)。容錯(cuò)技術(shù)主要包括了故障檢錯(cuò)技術(shù)、故障診斷技術(shù)、故障恢復(fù)技術(shù)者幾個(gè)方面。計(jì)算機(jī)系統(tǒng)要容錯(cuò),首先就必須要能夠檢測(cè)到故障的存在,也就必須要用到故障檢錯(cuò)技術(shù)。但是在能夠檢測(cè)出故障的同時(shí)還必須要能夠判斷和定位故障所在的位置,此時(shí)就需要故障診斷技術(shù)來對(duì)故障所在位置進(jìn)行定位。在前面的基礎(chǔ)上就需要對(duì)故障進(jìn)行恢復(fù),通過故障恢復(fù)技術(shù)將系統(tǒng)從故障狀態(tài)恢復(fù)到無故障時(shí)的狀態(tài)下繼續(xù)正常運(yùn)行。
計(jì)算機(jī)容錯(cuò)技術(shù)最基本的方法就是冗余技術(shù),冗余技術(shù)主要包括了硬件硬件冗余、軟件冗余、時(shí)間冗余以及信息冗余這幾種。
二、硬件錯(cuò)誤容錯(cuò)方法分析
計(jì)算機(jī)硬件錯(cuò)誤主要有永久性錯(cuò)誤、瞬態(tài)錯(cuò)誤和間歇性錯(cuò)誤這三種。其中永久性錯(cuò)誤主要是因?yàn)橛?jì)算機(jī)的硬件出現(xiàn)老化以及電路短路的原因所引起的。當(dāng)永久性錯(cuò)誤發(fā)生時(shí),一些原定的功能就會(huì)失效,如果不對(duì)損壞的部分進(jìn)行替換,那么故障是不能夠恢復(fù)的`。瞬態(tài)錯(cuò)誤是計(jì)算機(jī)所發(fā)生的硬件錯(cuò)誤中最多的一種錯(cuò)誤,而且這種錯(cuò)誤還呈現(xiàn)出一種幾何級(jí)數(shù)的增長(zhǎng),這種錯(cuò)誤對(duì)于計(jì)算機(jī)系統(tǒng)的可靠性的影響相當(dāng)嚴(yán)重。間歇性錯(cuò)處于永久性錯(cuò)誤和瞬態(tài)錯(cuò)誤之間,這種錯(cuò)誤的主要表現(xiàn)時(shí),瞬態(tài)錯(cuò)誤發(fā)生的頻率過高,超過了計(jì)算機(jī)系統(tǒng)所能夠容忍的范圍。
(一)硬件冗余方法
硬件冗余主要分為部分冗余和完全系統(tǒng)冗余這兩種。而完全系統(tǒng)冗余中又可以分為冷備、溫備、熱備以及雙工這4種。例如完全系統(tǒng)冗余中的雙系統(tǒng)主要就有雙系統(tǒng)冷備、雙系統(tǒng)溫備、雙系統(tǒng)熱備以及雙系統(tǒng)雙工這四種工作方式。其中雙系統(tǒng)雙工的方式主要應(yīng)用于對(duì)于計(jì)算機(jī)系統(tǒng)的安全性以及實(shí)時(shí)性的要求較高的系統(tǒng)中。如果要求不高,那么則可以根據(jù)具體的情況選用其他的幾種工作方式。如今所使用的硬件冗余之中還有三模、四模冗余技術(shù)應(yīng)用的較為廣泛。
在當(dāng)前硬件冗余技術(shù)中研究的較多的是FPGAs。在這種方法中將整個(gè)硬件系統(tǒng)根據(jù)抽象的層次分為兩層:硬件層(PL)以及配置層(CL)。就當(dāng)前而言,硬件冗余的方法是研究體系較為完善,提升可靠性效果最好,但是也是成本最高的方法。
(二)信息冗余方法
信息冗余的方法是在原始的數(shù)據(jù)中附加上具有故障檢測(cè)或者故障恢復(fù)的冗余數(shù)據(jù)信息。這些冗余信息具備有錯(cuò)誤檢測(cè)或者錯(cuò)誤糾正的能力。這種方法主要用于信息傳輸、存儲(chǔ)以及處理的過程之中。目前比較新的信息冗余編碼方式主要有RED-FECMechanism、ABFT、check-sum EDAC。
(三)時(shí)間冗余
如果沒有采用硬件冗余的方法,并且對(duì)于實(shí)時(shí)性的要求不高的系統(tǒng)中,可以使用時(shí)間冗余的發(fā)放來實(shí)現(xiàn)容錯(cuò)。在具體的系統(tǒng)中時(shí)間冗余的主要工作方式有兩種:(1)RSHW,這種方式指的是在同一硬件上對(duì)于同一組數(shù)據(jù)在不同的時(shí)間段上執(zhí)行同一指令集;(2)采用數(shù)據(jù)延遲設(shè)備和表決電路,將這兩者進(jìn)行結(jié)合,間數(shù)據(jù)的處理結(jié)果按照延遲時(shí)間的不同而復(fù)制出多個(gè)不同的版本,然后將這些所復(fù)制出來的信息遞交給表決器進(jìn)行對(duì)比,從中選出合適的結(jié)果,如圖1:
三、軟件錯(cuò)誤容錯(cuò)方法
對(duì)于任何一個(gè)計(jì)算機(jī)系統(tǒng),光考慮它的硬件系統(tǒng)的可靠性是不夠的,因?yàn)橛?jì)算機(jī)系統(tǒng)是硬件以及軟件的結(jié)合體,硬件可靠性高,而軟件的可靠性不足,那么這樣的系統(tǒng)也是不可靠的。但是在軟件的可靠性研究方面現(xiàn)在要遠(yuǎn)遠(yuǎn)落后與硬件可靠性的研究,F(xiàn)在軟件錯(cuò)誤容錯(cuò)方法主要有以下幾種:
(一)N-version programming 方法
這種方法中,認(rèn)為對(duì)于同一個(gè)軟件的不同版本應(yīng)該讓不同的團(tuán)隊(duì)進(jìn)行獨(dú)立設(shè)計(jì),在設(shè)計(jì)的過程中說采用的方法、開發(fā)語(yǔ)言和開發(fā)環(huán)境以及開發(fā)工具等都應(yīng)該不同。這樣做的目的就是為了能夠減少這個(gè)軟件的不同版本在表決點(diǎn)上出現(xiàn)相關(guān)性錯(cuò)誤的概率。但是每一個(gè)版本的軟件在設(shè)計(jì)的過程中都需要遵循這樣的幾個(gè)原則:(1)總體設(shè)計(jì)上要相同;(2)多樣化的模塊之間必須使用統(tǒng)一接口;(3)實(shí)現(xiàn)多樣性封裝;(4)必須要保證各個(gè)版本軟件在設(shè)計(jì)上的獨(dú)立性。
(二)采用恢復(fù)塊
這是一種向后恢復(fù)的方法。這種方法要求軟件系統(tǒng)能夠提供多個(gè)具有相同功能的模塊,其中一個(gè)作為主塊,其余的作為后備塊。進(jìn)行測(cè)試時(shí),先讓主塊投入運(yùn)行,如果主塊不能夠通過驗(yàn)收測(cè)試,那么通過相關(guān)的功能讓后備塊投入運(yùn)行。這個(gè)過程中,會(huì)一直重復(fù)直到后備塊耗盡或者是有一個(gè)后備塊能夠通過測(cè)試為止,或者是當(dāng)某一個(gè)程序的故障超出了當(dāng)初軟件設(shè)計(jì)時(shí)的預(yù)期,產(chǎn)生了不可恢復(fù)的后果。這種方法要求在進(jìn)行設(shè)計(jì)時(shí)要能夠保證各塊之間的獨(dú)立性,防止出現(xiàn)相關(guān)性錯(cuò)誤。同時(shí)還必須要注意的是驗(yàn)收測(cè)試程序,必須要能夠保證它的正確性才能夠獲得正確的結(jié)果。
(三)防衛(wèi)式程序設(shè)計(jì)方法
在這種方法之中并沒有使用傳統(tǒng)的容錯(cuò)技術(shù)。當(dāng)程序中出現(xiàn)錯(cuò)誤或者不一致性時(shí),這種方法都是程序中說包含的各種錯(cuò)誤檢查代碼與恢復(fù)代碼對(duì)這些錯(cuò)誤進(jìn)行處理。當(dāng)錯(cuò)誤發(fā)生時(shí),程序通過相關(guān)的錯(cuò)誤處理的代碼,將對(duì)程序所出現(xiàn)的錯(cuò)誤狀態(tài)進(jìn)行撤銷,并將程序恢復(fù)到一個(gè)正確的狀態(tài)中去,該種方法主要包括了錯(cuò)誤檢測(cè)、破壞估計(jì)和錯(cuò)誤恢復(fù)這三個(gè)方面。
總之,隨著計(jì)算機(jī)系統(tǒng)規(guī)模的改變以及使用的廣泛,對(duì)系統(tǒng)的可靠性的要求越來越高,因此對(duì)于容錯(cuò)技術(shù)的要求也越來越高。但是因?yàn)楦鞣N原因,當(dāng)前在硬件容錯(cuò)方面的研究要遠(yuǎn)遠(yuǎn)超過軟件容錯(cuò)的研究。因此,在今后應(yīng)該在軟件容錯(cuò)技術(shù)方面多下功夫。
參考文獻(xiàn):
[1]陸陽(yáng),張本宏,魏臻,等.“二乘二取二”和“雙模冗余-比較”結(jié)構(gòu)對(duì)比研究[J].電子測(cè)量與儀器學(xué)報(bào),2009,23,(3)
[2]徐仁佐.軟件可靠性工程[M].北京:清華大學(xué)出版社,2007
【計(jì)算機(jī)容錯(cuò)技術(shù)及應(yīng)用淺析】相關(guān)文章:
1.淺析計(jì)算機(jī)數(shù)字化測(cè)繪技術(shù)及應(yīng)用
2.淺析計(jì)算機(jī)技術(shù)與應(yīng)用
3.淺析計(jì)算機(jī)多媒體技術(shù)的應(yīng)用
4.淺析計(jì)算機(jī)應(yīng)用技術(shù)的現(xiàn)狀及發(fā)展
5.淺析計(jì)算機(jī)應(yīng)用技術(shù)創(chuàng)新
6.淺析計(jì)算機(jī)應(yīng)用技術(shù)的現(xiàn)狀及發(fā)展趨勢(shì)