冗余技术
冗余是指在正常系統(tǒng)運(yùn)行所需的基礎(chǔ)上加上一定數(shù)量的資源,包括信息、時間、硬件、和軟件。冗余是容錯技術(shù)的基礎(chǔ),通過冗余資源的加入,可以使系統(tǒng)的可靠性得到較大的提高。主要的冗余技術(shù)有結(jié)構(gòu)冗余(硬件冗余和軟件冗余)、信息冗余、時間冗余和冗余附加四種。
1.結(jié)構(gòu)冗余
結(jié)構(gòu)冗余是常用的冗余技術(shù),按其工作方式,可分為靜態(tài)冗余、動態(tài)冗余和混合冗余三種。
-
靜態(tài)冗余。靜態(tài)冗余又稱為屏蔽冗余或被動冗余,常用的有三模冗余和多模冗余。靜態(tài)冗余通過表決和比較來屏蔽系統(tǒng)中出現(xiàn)的錯誤。例如,三模冗余是對三個功能相同,但由不同的人采用不同的方法開發(fā)出的模塊的運(yùn)行結(jié)果進(jìn)行表決,以多數(shù)結(jié)果作為系統(tǒng)的最終結(jié)果。即如果模塊中有一個出錯,這個錯誤能夠被其他模塊的正確結(jié)果“屏蔽”。由于無需對錯誤進(jìn)行特別的測試,也不必進(jìn)行模塊的切換就能實(shí)現(xiàn)容錯,故稱為靜態(tài)容錯。
-
動態(tài)冗余。動態(tài)冗余又稱為主動冗余,它是通過故障檢測、故障定位及故障恢復(fù)等手段達(dá)到容錯的目的。其主要方式是多重模塊待機(jī)儲備,當(dāng)系統(tǒng)檢測到某工作模塊出現(xiàn)錯誤時,就用一個備用的模塊來頂替它并重新運(yùn)行。各備用模塊在其待機(jī)時,可與主模塊一樣工作,也可不工作。前者叫做熱備份系統(tǒng)(雙重系統(tǒng)),后者叫做冷備份系統(tǒng)(雙工系統(tǒng)、雙份系統(tǒng))。在熱備份系統(tǒng)中,兩套系統(tǒng)同時、同步運(yùn)行,當(dāng)聯(lián)機(jī)子系統(tǒng)檢測到錯誤時,退出服務(wù)進(jìn)行檢修,而由熱備份子系統(tǒng)接替工作,備用模塊在待機(jī)過程中其失效率為0;處于冷備份的子系統(tǒng)平時停機(jī)或者運(yùn)行與聯(lián)機(jī)系統(tǒng)無關(guān)的運(yùn)算,當(dāng)聯(lián)機(jī)子系統(tǒng)產(chǎn)生故障時,人工或自動進(jìn)行切換,使冷備份系統(tǒng)成為聯(lián)機(jī)系統(tǒng)。在運(yùn)行冷備份時,不能保證從系統(tǒng)斷點(diǎn)處精確地連續(xù)工作,因?yàn)閭浞輽C(jī)不能取得原來的機(jī)器上當(dāng)前運(yùn)行的全部數(shù)據(jù)。
-
混合冗余。混合冗余技術(shù)是將靜態(tài)冗余和動態(tài)冗余結(jié)合起來,且取二者之長處。它先使用靜態(tài)冗余中的故障屏蔽技術(shù),使系統(tǒng)免受某些可以被屏蔽的故障的影響。而對那些無法屏蔽的故障則采用主動冗余中的故障檢測、故障定位和故障恢復(fù)等技術(shù),并且對系統(tǒng)可以作重新配置。因此,混合冗余的效果要大大優(yōu)于靜態(tài)冗余和動態(tài)冗余。然而,由于混合冗余既要有靜態(tài)冗余的屏蔽功能,又要有動態(tài)冗余的各種檢測和定位等功能,它的附加硬件的開銷是相當(dāng)大的,所以混合冗余的成本很高,僅在對可靠性要求極高的場合中采用。
2.信息冗余
信息冗余是在實(shí)現(xiàn)正常功能所需要的信息外,再添加一些信息,以保證運(yùn)行結(jié)果正確性的方法。例如,檢錯碼和糾錯碼就是信息冗余的例子。這種冗余信息的添加方法是按照一組預(yù)定的規(guī)則進(jìn)行的。符合添加規(guī)則而形成的帶有冗余信息的字稱為碼字,而那些雖帶有冗余信息但不符合添加規(guī)則的字則稱為非碼字。當(dāng)系統(tǒng)出現(xiàn)故障時,可能會將碼字變成非碼字,于是在譯碼過程中會將引起非碼字的故障檢測出來,這就是檢錯碼的基本思想。糾錯碼則不僅可以將錯誤檢測出來,還能將由故障引起的非碼字糾正成正確的碼字。
由此可見,信息冗余的主要任務(wù)在于研究出一套理想的編碼和譯碼技術(shù)來提高信息冗余的效率。編碼技術(shù)中應(yīng)用最廣泛的是奇偶校驗(yàn)碼、海明校驗(yàn)碼和循環(huán)冗余校驗(yàn)碼。
3.時間冗余
時間冗余是以時間(即降低系統(tǒng)運(yùn)行速度)為代價(jià)以減少硬件冗余和信息冗余的開銷來達(dá)到提高可靠性的目的。在某些實(shí)際應(yīng)用中,硬件冗余和信息冗余的成本、體積、功耗、重量等開銷可能過高,而時間并不是太重要的因素時,可以使用時間冗余。時間冗余的基本概念是重復(fù)多次進(jìn)行相同的計(jì)算,或稱為重復(fù)執(zhí)行(復(fù)執(zhí)),以達(dá)到故障檢測的目的。
實(shí)現(xiàn)時間冗余的方法很多,但是其基本思想不外乎是對相同的計(jì)算任務(wù)重復(fù)執(zhí)行多次,然后將每次的運(yùn)行結(jié)果存放起來再進(jìn)行比較。若每次的結(jié)果相同,則認(rèn)為無故障;若存在不同的結(jié)果,則說明檢測到了故障。不過,這種方法往往只能檢測到瞬時性故障而不宜檢測永久性的故障。
4.冗余附加
冗余附加技術(shù)包括:冗余備份程序的存儲及調(diào)用,實(shí)現(xiàn)錯誤檢測和錯誤恢復(fù)的程序,實(shí)現(xiàn)容錯軟件所需的固化程序。
總結(jié)
- 上一篇: 第11章-ThreadSpecificS
- 下一篇: 湖北大学98届计算机网络,我校学子在“H