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