計算機系統可靠性
正確運行用下列四個標準來判斷:①程式不為故障所破壞或停止;②結果不包括由故障所引起的錯誤;③執行時間不超過一定的限度;④程式運行在允許的領域內。與計算機系統可靠性密切相關的還有系統的可維性和可用性。可維性是指系統可維修的狀況,通常用平均修復時間MTRF來表征。可用性就是計算機系統的使用效率,並以系統在任意時刻能正確運行的機率來表示 計算機系統可靠性廣義的含意包括可靠性、可用性和可維性,統稱為計算機系統的可靠性指標。隨著計算機套用範圍的日益擴大,尤其是實時控制的運用,對計算機系統提出了超過單純靠元件和工藝所能達到的可靠性要求;有的系統可靠性指標雖然為元件和工藝所允許,但實現起來價格昂貴。另一方面,計算機本身的技術和理論的發展又為提高系統可靠性創造了新的條件。於是出現了容錯計算的概念,儘管計算機硬體設備和軟體設備出錯,系統仍能正確執行特定算法(程式)。
系統可靠性計算 計算機系統是由元件組成的。這裡所說的元件含義廣泛,既可指硬體的分系統、部件、設備、插板、組件、電阻、接外掛程式等,又可指生產工藝如焊點、金屬化孔等,還可指軟體的檔案、程式包、子程式等。系統的可靠性直接取決於元件的可靠性和元件之間的連線(拓撲)關係(見電子產品可靠性工程)。
系統可靠性設計 計算機系統可靠性設計是計算機設計過程中必不可少的內容。高的可靠性指標靠容錯和非容錯兩種方法來實現。
非容錯法就是預先消除不可靠的因素,以保障可靠的計算方法,即在允許的成本範圍內選擇或者篩選出最可靠的元件,使用成熟可靠的連線裝配技術,採取有效的措施禁止可能的外界干擾,例如用濾波消除電網干擾等。非容錯法設計不能一次完成。在確定初步方案後,要利用已知或者預測到的元件和互連的可靠性來定量估算系統或者分系統的可靠性。另外還須對系統和分系統進行功能仿真和測試,以保證邏輯設計的正確性,最後完善系統的診斷測試。
容錯法是針對計算機系統運算過程中出現的故障或者低可靠性元件所採取的系統性可靠措施。運行故障有三種類型:永久性失效、瞬間失效和外界干擾。根據故障失效的持續時間、影響範圍和出現頻率,選用不同的防護性冗餘就是容錯法的設計內容。容錯設計是建築在非容錯設計基礎上的,首先要對運行性故障進行調查分類,並確定其等級,然後針對不可靠因素及其程度採用各種有效的容錯措施,包括附加硬體的硬體冗餘、附加軟體的軟體冗餘和重複操作的時間冗餘,最後用分析或者實驗的方法來驗證容錯的效果。
冗餘 冗餘技術是提高計算機系統可靠性的一項重要技術。計算機系統冗餘類似於建築結構中的冗餘,允許一個或幾個構件(元件)失效,而不損傷整個建築。計算冗餘包括靜態和動態硬體冗餘、軟體冗餘、時間冗餘。
① 靜態硬體冗餘:又稱禁止冗餘,它是通過附加元件的辦法來禁止故障,使系統的功能不受影響。常見的靜態硬體冗餘有雙工(同一種功能由二個元件並行承擔)、模3表決冗餘等。
② 動態硬體冗餘:這種冗餘包括二個階段,首先發現故障,其後消除故障而“復常”。在計算機系統中採用動態硬體冗餘時,要求系統具有模組結構和檢測故障的能力,例如設有自校驗碼,部件狀態標誌等。復常的措施可選用糾錯裝置(如海明校驗)、部件切換以及系統適度降級重新組織好元件等技術。為了保證復常成功,還要求系統有一個高可靠性的硬核。硬核範圍內的元件發生故障,將不能復常。
③ 軟體冗餘:用附加軟設備的方法來達到容錯的目的。與硬體冗餘相比,其優點是能在硬體設計完成之後增加系統的容錯功能。常用的軟體冗餘有關鍵程式或者數據多處存儲、程式和微程式上附加測試手段,以及增設程式入口和出口點等。
④ 時間冗餘:簡稱“復執”。在時間允許的條件下,通過重複執行以消除瞬時的偶然性故障是時間冗餘提高可靠性的原理。復執允許在微動作、指令、程式段或者整個作業等各種級別上進行。選取復執方案取決於復執的再啟動點、實現復執可付的代價(包括時間、硬體和軟體),以及復執成功率等因素。
無論是硬體冗餘、軟體冗餘,還是時間冗餘,相互之間並不排斥,大多數的計算機系統具備多種冗餘的特色──混合冗餘。
計算機系統可靠性是計算機科學與技術的一個重要領域。它包括系統可靠性模型的建立、系統可靠性計算與分配、系統故障檢測與診斷、容錯計算、系統正確性證明等理論和技術。由於多機系統、網路系統、分布系統的湧現,互連和通路的可靠性將成為研究系統可靠性的重要課題。微程式、固件化、單片計算機的興起又將進一步促進冗餘技術和容錯計算的發展,新的高級的可靠性措施必將大幅度地提高系統可靠性。自診斷、自修復、替代冗餘、維修再入等技術的廣泛使用,使計算機系統的可靠性分析越來越依賴於計算機。軟體方面的正確性證明和冗餘技術將會有所突破。