梁皓 覃慶勇
(廣西捷通高速科技股份有限公司 廣西南寧 530022)
計(jì)算機(jī)系統(tǒng)容錯(cuò)技術(shù)
梁皓1覃慶勇2
(廣西捷通高速科技股份有限公司 廣西南寧 530022)
隨著第三次科技革命的展開(kāi),計(jì)算機(jī)已經(jīng)普遍的出現(xiàn)在人們的日常生活中了。計(jì)算機(jī)的出現(xiàn)不僅豐富了人們的日常生活,而且還對(duì)社會(huì)經(jīng)濟(jì)建設(shè)產(chǎn)生了重大的影響。隨著人們對(duì)計(jì)算機(jī)使用的普遍加強(qiáng),在使用的過(guò)程中不僅對(duì)計(jì)算機(jī)的硬件系統(tǒng)提出了要求,更對(duì)計(jì)算機(jī)系統(tǒng)的穩(wěn)定運(yùn)行提出了很高的要求。只有通過(guò)加強(qiáng)計(jì)算機(jī)系統(tǒng)的容錯(cuò)性,才能夠從根本上保證計(jì)算機(jī)系統(tǒng)的穩(wěn)定性。為此,對(duì)于計(jì)算機(jī)系統(tǒng)容錯(cuò)技術(shù)的研究已經(jīng)成為了當(dāng)下計(jì)算機(jī)科學(xué)主要的研究方向。
計(jì)算機(jī)系統(tǒng);硬件容錯(cuò)技術(shù);軟件容錯(cuò)技術(shù)
隨著電子技術(shù)的發(fā)展,計(jì)算機(jī)已經(jīng)廣泛的存在于人們的日常生活以及工作中了。為了能夠保證計(jì)算機(jī)系統(tǒng)的穩(wěn)定運(yùn)行,需要對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)性進(jìn)行提高,所以對(duì)計(jì)算機(jī)系統(tǒng)容錯(cuò)技術(shù)的研究就變得格外的重要。在計(jì)算機(jī)系統(tǒng)工作的過(guò)程中不可避免的會(huì)出現(xiàn)因?yàn)榉N種因素導(dǎo)致的計(jì)算機(jī)系統(tǒng)遭受損害或者遭受到錯(cuò)誤的指令,計(jì)算機(jī)的容錯(cuò)性就是指計(jì)算機(jī)系統(tǒng)能夠在遭受到突發(fā)情況下,為了保護(hù)計(jì)算機(jī)內(nèi)部的重要的文件的丟失,而采取的有效的手段避免計(jì)算機(jī)系統(tǒng)崩潰的現(xiàn)象。隨著計(jì)算機(jī)在日常的生活以及經(jīng)濟(jì)建設(shè)過(guò)程中的廣泛應(yīng)用,為了避免因?yàn)橛?jì)算機(jī)遭受損害而造成對(duì)企業(yè)以及個(gè)人的不必要的損失,就必須要對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)性進(jìn)行加強(qiáng)。
目前,計(jì)算機(jī)已經(jīng)被廣泛的應(yīng)用在了經(jīng)濟(jì)建設(shè)、國(guó)防建設(shè)以及人們?nèi)粘I钪校捎谑艿酵饨绲母蓴_會(huì)導(dǎo)致計(jì)算機(jī)在一定時(shí)間內(nèi)不能提供穩(wěn)定的服務(wù)。計(jì)算機(jī)系統(tǒng)的故障對(duì)于航空航天、國(guó)防軍事、核能電力、工業(yè)化工以及衛(wèi)生醫(yī)療等部門(mén)都會(huì)造成很?chē)?yán)重的損失。為了避免因計(jì)算機(jī)系統(tǒng)的崩潰而造成的不必要的損失,就必須保證計(jì)算機(jī)能夠在系統(tǒng)運(yùn)行錯(cuò)誤的指令的情況下仍然能夠保證不間斷的為客戶(hù)提供相應(yīng)的服務(wù)。為了保證計(jì)算機(jī)的容錯(cuò)性,計(jì)算機(jī)科學(xué)的工作者就需要對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)性技術(shù)進(jìn)行研究以提高。
通常情況下計(jì)算機(jī)系統(tǒng)發(fā)生的系統(tǒng)錯(cuò)誤可以大體上分為硬件錯(cuò)誤和軟件錯(cuò)誤兩類(lèi)。接下來(lái)我們就對(duì)計(jì)算機(jī)的硬件系統(tǒng)錯(cuò)誤進(jìn)行簡(jiǎn)單的介紹。隨著國(guó)際上電子技術(shù)的發(fā)展以及集成電路工藝的有效的提高,中央處理器發(fā)生瞬時(shí)故障概率在急劇的上升。
硬件系統(tǒng)錯(cuò)誤產(chǎn)生的原因主要可以歸結(jié)為以下的幾個(gè)方面:①晶體管工作電壓的下降造成了集成電路噪聲容限減少的現(xiàn)象,這樣就會(huì)造成在硬件使用的過(guò)程中主板芯片更加容易受到瞬態(tài)故障的影響;②隨著微電子技術(shù)的不斷提高,計(jì)算機(jī)的中央處理器的主頻不斷的提高,在CPU主頻提高的過(guò)程中也增加了其發(fā)生故障的幾率;③目前集成電路工藝逐步的提高,隨著集成度的提高芯片內(nèi)部的晶體管的數(shù)量也在不斷的提高,這樣也就會(huì)增加芯片發(fā)生故障的幾率。
以上我們對(duì)計(jì)算機(jī)硬件系統(tǒng)影響計(jì)算機(jī)系統(tǒng)發(fā)生故障的原因做出了詳細(xì)的闡述,在計(jì)算機(jī)工作的過(guò)程中出了有硬件系統(tǒng)之外還存在著軟件系統(tǒng),因此軟件系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)也會(huì)產(chǎn)生很大的影響。由于在計(jì)算機(jī)軟件系統(tǒng)的生命周期內(nèi),經(jīng)常會(huì)出現(xiàn)因?yàn)樵O(shè)計(jì)的錯(cuò)誤而導(dǎo)致的整個(gè)計(jì)算機(jī)系統(tǒng)的崩潰。
以上我們對(duì)計(jì)算機(jī)系統(tǒng)發(fā)生故障的原因進(jìn)行了詳細(xì)的分析,經(jīng)過(guò)分析可得計(jì)算機(jī)系統(tǒng)的錯(cuò)誤源自于計(jì)算機(jī)的硬件系統(tǒng)以及計(jì)算機(jī)的軟件系統(tǒng)兩個(gè)方面。由于計(jì)算機(jī)的廣泛應(yīng)用,導(dǎo)致了計(jì)算機(jī)系統(tǒng)的崩潰很可能會(huì)對(duì)企業(yè)以及個(gè)人造成嚴(yán)重的經(jīng)濟(jì)損失,所以為了能夠盡量的避免不必要的損失,我們需要對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)技術(shù)進(jìn)行不斷的創(chuàng)新、研究以及突破,以保證我國(guó)經(jīng)濟(jì)建設(shè)的正常進(jìn)行。接下來(lái)我們就從計(jì)算機(jī)的硬件容錯(cuò)技術(shù)以及計(jì)算機(jī)的軟件容錯(cuò)技術(shù)兩個(gè)方面來(lái)對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)技術(shù)進(jìn)行詳細(xì)的介紹。
2.1 計(jì)算機(jī)硬件容錯(cuò)技術(shù)分析
在計(jì)算機(jī)的硬件系統(tǒng)錯(cuò)誤中根據(jù)錯(cuò)誤的發(fā)生的時(shí)間以及狀態(tài)可以將計(jì)算機(jī)的硬件系統(tǒng)錯(cuò)誤分為瞬態(tài)錯(cuò)誤、間歇性錯(cuò)誤以及永久性錯(cuò)誤。其中,硬件系統(tǒng)的瞬態(tài)錯(cuò)誤是計(jì)算機(jī)系統(tǒng)中經(jīng)常發(fā)生的錯(cuò)誤,同時(shí)對(duì)計(jì)算機(jī)系統(tǒng)造成的安全性以及可靠性也會(huì)造成較大的影響。而間歇性錯(cuò)誤是對(duì)瞬態(tài)錯(cuò)誤的發(fā)生頻率加以控制而產(chǎn)生的硬件系統(tǒng)錯(cuò)誤,當(dāng)瞬態(tài)錯(cuò)誤的發(fā)生頻率超過(guò)了設(shè)定的閾值的時(shí)候就成為了間歇性錯(cuò)誤。永久性的錯(cuò)誤一旦發(fā)生就會(huì)對(duì)計(jì)算機(jī)造成嚴(yán)重的影響,并且只有通過(guò)對(duì)原有的電子器件的更換才能解決這些問(wèn)題。一般情況下,計(jì)算機(jī)相關(guān)的電子器件的老化以及電路的短路都會(huì)造成計(jì)算機(jī)硬件的永久性錯(cuò)誤。接下來(lái),我們將從信息冗余量、硬件冗余、時(shí)間冗余以及硬件線(xiàn)程冗余四個(gè)方面來(lái)對(duì)計(jì)算機(jī)硬件系統(tǒng)的容錯(cuò)技術(shù)進(jìn)行分析。
2.1.1 信息冗余
一般情況下計(jì)算機(jī)硬件的信息冗余可以分為糾錯(cuò)編碼以及檢錯(cuò)編碼兩個(gè)部分。對(duì)硬件系統(tǒng)的信息冗余容錯(cuò)技術(shù)主要是通過(guò)在原始數(shù)據(jù)中添加若干的冗余位來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)的故障檢測(cè)以及故障修復(fù)。通過(guò)使用糾錯(cuò)編碼,可以對(duì)計(jì)算機(jī)硬件系統(tǒng)中的故障進(jìn)行檢測(cè)并糾正錯(cuò)誤,而使用檢錯(cuò)編碼能夠?qū)τ?jì)算機(jī)系統(tǒng)中的錯(cuò)誤進(jìn)行檢測(cè)。使用信息冗余的檢錯(cuò)方法能夠有效的避免因?yàn)殄e(cuò)誤恢復(fù)操作而造成的時(shí)間延遲,檢查成本低廉的基礎(chǔ)上還具有處理速度較快的優(yōu)點(diǎn)。
2.1.2 硬件冗余
硬件冗余是根據(jù)動(dòng)態(tài)可重構(gòu)現(xiàn)場(chǎng)可編程門(mén)陣列進(jìn)行開(kāi)發(fā)的一項(xiàng)新的硬件冗余技術(shù),也是計(jì)算機(jī)系統(tǒng)容錯(cuò)技術(shù)開(kāi)發(fā)最多的一項(xiàng)技術(shù)。其中,硬件冗余可以分為很多類(lèi),通常情況下根據(jù)冗余的程度可以將硬件冗余劃分為部分冗余和完全冗余兩類(lèi)。在硬件冗余的完全冗余體系之下又可以分為溫備、冷備、熱備以及雙工四種工作方式。由于硬件冗余是整個(gè)計(jì)算機(jī)容錯(cuò)技術(shù)中開(kāi)發(fā)時(shí)間最長(zhǎng)的一項(xiàng)技術(shù),所以在保證計(jì)算機(jī)穩(wěn)定工作的基礎(chǔ)之上硬件冗余的技術(shù)手段也是最為成熟的。通過(guò)使用硬件冗余技術(shù)能夠很好的將計(jì)算機(jī)系統(tǒng)的穩(wěn)定性以及安全性進(jìn)行提高。
圖1 硬件冗余的四種工作方式
2.1.3 時(shí)間冗余
在不注意系統(tǒng)時(shí)效性的計(jì)算機(jī)系統(tǒng)上能夠通過(guò)使用時(shí)間冗余來(lái)提高沒(méi)有硬件冗余的計(jì)算機(jī)系統(tǒng)的容錯(cuò)性。時(shí)間冗余是指同一硬件的同一數(shù)據(jù)在不同的時(shí)間片內(nèi)執(zhí)行相同的指令集。但是,在使用時(shí)間冗余技術(shù)的時(shí)候會(huì)對(duì)計(jì)算機(jī)系統(tǒng)的延時(shí)時(shí)間造成較大的影響,通常情況下延長(zhǎng)時(shí)間過(guò)短對(duì)使系統(tǒng)達(dá)不到應(yīng)有的容錯(cuò)效果,而延時(shí)時(shí)間過(guò)長(zhǎng)則會(huì)造成其成本的增長(zhǎng)。所以,為了能夠通過(guò)使用時(shí)間冗余來(lái)達(dá)到良好的計(jì)算機(jī)容錯(cuò)效果,我們必須對(duì)計(jì)算機(jī)的系統(tǒng)延時(shí)時(shí)間進(jìn)行合理的掌控。
圖2 時(shí)間冗余容錯(cuò)方法的一般結(jié)構(gòu)
2.2 計(jì)算機(jī)軟件容錯(cuò)技術(shù)的分析
計(jì)算機(jī)的容錯(cuò)技術(shù)除了計(jì)算機(jī)的硬件容錯(cuò)技術(shù)之外還有計(jì)算機(jī)的軟件容錯(cuò)技術(shù)。相對(duì)于硬件容錯(cuò)系統(tǒng)而言計(jì)算機(jī)的軟件容錯(cuò)技術(shù)具有方法多種多樣的優(yōu)勢(shì),但是由于開(kāi)發(fā)的時(shí)間較短,所以相對(duì)于硬件容錯(cuò)技術(shù)而言軟件容錯(cuò)技術(shù)還是不夠成熟。經(jīng)常使用的計(jì)算機(jī)軟件容錯(cuò)技術(shù)有軟件多樣性方法、恢復(fù)塊方法以及防衛(wèi)式程序設(shè)計(jì)方法。按照計(jì)算機(jī)恢復(fù)的不同的方向可以將計(jì)算機(jī)軟件恢復(fù)技術(shù)分為向前恢復(fù)和向后恢復(fù)兩種,向前恢復(fù)是指通過(guò)采取有效的措施來(lái)彌補(bǔ)因系統(tǒng)的故障而造成的不連貫的現(xiàn)象,并且能夠使系統(tǒng)繼續(xù)向前運(yùn)行;向后恢復(fù)主要是指將系統(tǒng)還原到正確的階段部分重新運(yùn)行計(jì)算。
2.2.1 恢復(fù)塊方法
恢復(fù)塊配置方法主要是將功能相同的主塊和后備塊進(jìn)行相互的配置,先將主塊啟動(dòng)運(yùn)行,如果主塊在啟動(dòng)運(yùn)行的過(guò)程中出現(xiàn)故障,我們就需要啟動(dòng)備用塊進(jìn)行程序的運(yùn)行,之后完成整個(gè)程序的測(cè)試過(guò)程。如果在測(cè)試的過(guò)程中出現(xiàn)故障,在使用了主塊和備用塊之后均不能排除故障不能完成測(cè)試,則我們就可以判斷故障為不可恢復(fù)故障。為了保證在測(cè)試的過(guò)程中能夠順利的進(jìn)行,需要保證程序運(yùn)行的主塊和備用塊之間的相互獨(dú)立性,通過(guò)加強(qiáng)主塊和備用塊之間的獨(dú)立性,來(lái)盡量的減少主塊和備用塊之間的錯(cuò)誤的關(guān)聯(lián)。通過(guò)以上的步驟能夠盡量的減少因?yàn)橹鲏K和備用塊之間的錯(cuò)誤關(guān)聯(lián)導(dǎo)致的程序運(yùn)行錯(cuò)誤,盡量的保證測(cè)試計(jì)算結(jié)果的正確。
圖3 恢復(fù)快工作的原理圖
2.2.2 防衛(wèi)式程序設(shè)計(jì)法
防衛(wèi)式程序設(shè)計(jì)法與現(xiàn)存的計(jì)算機(jī)軟件容錯(cuò)技術(shù)不同,它沒(méi)有采用任何的傳統(tǒng)的容錯(cuò)技術(shù)來(lái)實(shí)現(xiàn)計(jì)算機(jī)的容錯(cuò)功能,是一種比較傳統(tǒng)的保守的容錯(cuò)機(jī)制。防衛(wèi)式的程序設(shè)計(jì)法主要的工作步驟是:如果在程序運(yùn)行的過(guò)程中出現(xiàn)相關(guān)的程序運(yùn)行錯(cuò)誤,程序本身會(huì)調(diào)用程序自帶的檢測(cè)、恢復(fù)代碼對(duì)整個(gè)程序進(jìn)行相關(guān)的處理。通過(guò)防衛(wèi)式程序設(shè)計(jì)法能夠?qū)⒔党绦蜻\(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤,進(jìn)行必要的檢測(cè)以及恢復(fù),并使系統(tǒng)自動(dòng)的返回到上一個(gè)正確的狀態(tài)。通過(guò)這種檢測(cè)方法能夠有效的對(duì)程序中出現(xiàn)的錯(cuò)誤進(jìn)行必要的檢測(cè),除此之外還能夠?qū)﹀e(cuò)誤的影響范圍、類(lèi)型等因素進(jìn)行估計(jì),最終達(dá)到錯(cuò)誤恢復(fù)的效果。
隨著信息科學(xué)的逐步發(fā)展,信息對(duì)人們的日常生活以及經(jīng)濟(jì)建設(shè)起到了重大的作用。而在當(dāng)下計(jì)算機(jī)已經(jīng)逐步的深入到了人們生活工作的每個(gè)角落,為了能夠保證計(jì)算機(jī)系統(tǒng)的工作穩(wěn)定性以及可靠性,不可避免的要對(duì)計(jì)算機(jī)系統(tǒng)的容錯(cuò)性進(jìn)行必要的研發(fā)提高。通常情況下,高性能的計(jì)算機(jī)容錯(cuò)系統(tǒng)具有高的可靠性、錯(cuò)誤檢測(cè)、錯(cuò)誤恢復(fù)的低延時(shí)性、性能的低損耗性以及成本的低廉性等特點(diǎn)。
[1]郭耀輝.探析規(guī)則互連多計(jì)算機(jī)系統(tǒng)的容錯(cuò)性及診斷算法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(9):89,91.
[2]鄧玉元,李少根.提高系統(tǒng)容錯(cuò)性的軟件技術(shù)[J].現(xiàn)代電子技術(shù),2006,29(23):33~35.
[3]王高才,王國(guó)軍,陳建二,等.自適應(yīng)路由算法優(yōu)于確定性路由算法[J].小型微型計(jì)算機(jī)系統(tǒng),2005,26(2):181~185.
TP302.8
A
1004-7344(2016)17-0235-02
2016-5-11
梁皓(1978-),男,助理工程師,本科,主要從事Etc通信、監(jiān)控等系統(tǒng)設(shè)計(jì)、建設(shè)和運(yùn)營(yíng)管理工作。
覃慶勇(1979-),男,中級(jí)工程師,本科,主要從事Etc通信、監(jiān)控等系統(tǒng)設(shè)計(jì)、建設(shè)和運(yùn)營(yíng)管理工作。