系统冗余
冗餘(英語:)是指系統為了提昇其可靠度,刻意配置重複的零件或是機能。冗餘一般是為了備用,或是失效安全的考量,也有可能是为了提昇系統性能,像是卫星导航系统接收器,或是多线程電腦處理。
在許多生命攸關系統(像是飛機中的Fly-by-wire及液壓系統)中,控制系統的一些元件會特別配置三組[1],一般稱為三重模塊冗餘(TMR)。若其中一個有問題,其他二個正常,則會依類似投票的機制,以二個正常的模塊為準。在三重模塊冗餘的系統中,至少要有二個模塊有問題才可能造成系統失效。因為模塊的失效率其實很低,而且模塊的失效是互相獨立的,因此二個模塊都失效的機率相當的低,會低於比其他的風險因素(例如人为错误)。冗餘也可以稱為是「多數決系統」[2]或「投票式邏輯」[3]。
有時冗餘不會提高系統的可靠度,反倒會降低系統的可靠度。有冗餘設計的系統是比較複雜的系統,也比較容易被其他問題影響。有冗餘的系統比較容易讓操作者疏忽職責,或是給予系統較大的生產需求,使系統處於過應力,較不安全的情形下[4]。
冗餘的種類
電腦科學中,主要有四種不同的冗餘[6],分別是
另一種由軟體冗餘衍生,但應用在硬體上的冗餘是:
- 不同機能冗餘,像是車輛中同時有機械剎車及油壓剎車。此作法是用軟體中的例子,二個獨立由不同人寫作,有相同功能的模組,針對同一訊號產生相同的輸出
建築結構在進行設計時,一般也會設計冗餘的模組,在只有一個零件損壞的情形下,不會破壞整個結構。沒有設計冗餘的結構稱為fracture critical,意思是單一零件的損壞可能破壞整個結構。像美國西維吉尼亞州和俄亥俄州的Silver Bridge(在1967年倒塌)和华盛顿州的Skagit River Bridge(在2013年倒塌)都是沒有考慮冗餘結構橋樑的例子。
平行系統及組合式系統都有不同程度的冗餘。這些模型是可靠度及安全工程研究的主題。
主動冗餘及被動冗餘
冗餘可以分為被動冗餘及主動冗餘。兩種冗餘都是利用額外的零件,在沒有人為介入的情形下,避免性能低於所需的規則以外。
被動冗餘是用多餘的數量或能力來減少零件損壞的影響。像橋樑上的纜繩及支撐的強度都會較所需的強度要高一些,就是被動冗餘的例子。提昇的強度可以使橋樑不會因為部份元件損壞而倒塌。額外提昇的強度即為安全裕度。
人的耳朵和眼睛也是被動冗餘的例子。一個眼睛若完全沒有視力,不會讓人失明,不過視覺上無法識別遠近。一個耳朵若完全沒有聽力,不會讓人失聰,但無法透過耳朵識別聲音的位置。被動冗餘的系統,若有少量的故障,可能也會伴隨性能的降低。
主動冗餘是用監控個別設備的方式來消除性能降低,監控時也會用投票式邏輯。投票式邏輯會連接到開關,自動調整零件的組態。错误检测与纠正及修正及全球定位系統(GPS)都是主動冗餘的例子。
配電系統就是主動冗餘的例子。有許多高壓電纜連結發電設備及用戶。每一組高壓電纜都會監測負載,也會有斷路器。高壓電纜的組合可以提供的電力超過總用電量。若高壓電纜偵測到負載過載,會切斷斷路器。會由其他的高壓電纜提供用戶所需的電力。
缺點
《高风险技术与“正常”事故》的作者查爾斯·佩羅曾提到:有時冗餘反而會帶來反效果,讓可靠度變低,而不是提昇可靠度。冗餘降低可靠度的可能原因有三個:第一,冗餘安全設備使系統變複雜,比較容易出現故障及意外,再者,冗餘比較容易讓工作者輕忽,最後一點是常常會給予過高的產能壓力,使系統運作在較高,但較不安全的速度下[4]。
投票式邏輯
投票式邏輯會利用性能監控來決定個別模組的配置,目的是讓系統可以在符合整體規格要求的情形下繼續運作。投票式邏輯一般會包括電腦,不過沒有電腦的系統仍然可以使用投票式邏輯,像用斷路器就是非電腦式投票式邏輯的例子。
電力系統會用電力調度來達到主動式冗餘。在一個發電設備出現問題,由電腦系統調整其他發電設備的發電量。這可以避免一些重大事件(例如地震)時的停電。
計算系統中最簡單的投票式邏輯包括二個零件:主要零件及備援零件。二個的軟體都相近,不過正常情形下,備援零件的輸出無效,主要零件會週期性進行自我監控,若一切正常的話,會送出活动中信息給備援零件。若主要零件監測到問題,主要零件的輸出以及活动中信息都會停止。備援零件會監測活动中信息,若活动中信息消失,備援零件會等待一小段時間,之後會用備援零件的輸出代替主要零件。若是投票式邏輯本身有問題,可能會讓二個零件的輸出都同時有效或是無效,或是讓輸出頻繁在有效及無效之間切換。
另一種比較可靠的投票式邏輯是包括三個或是三個以上的奇數個零件。所有零件的機能都相同,透過投票式邏輯來比較所有零件的輸出。若輸出有不一致時,由投票式邏輯決定多數的輸出,和多數輸出不一致的零件,其輸出會類似失效。單一故障不會中斷正常機能。在航空电子系統中有使用此一技術,例如負責航天飞机運作的系統。
計算系統失效的機率
系統中每一個冗餘的零件,都會減少系統失效的機率。
假設失效事件之間是相互獨立的(不論零件A是否失效,不會影響零件B的失效機率),並且只要有一個元件就可以使系統正常運作。
系統失效機率的公式如下:
其中
- :零件個數
- :零件i失效的機率
- :所有零件i失效的機率(系統失效)
學術研究
利用冗餘零件的分配來最佳化系統是歷史悠久且常見的數學規劃問題:
參考資料
- Redundancy Management Technique for Space Shuttle Computers (页面存档备份,存于) (PDF), IBM Research
- R. Jayapal. . elecdesign.com. 2003-12-04 [2014-06-01]. (原始内容存档于2007-03-03).
- . Aero.org. 2014-05-20 [2014-06-01]. (原始内容存档于2008-04-10).
- Scott D. Sagan. (PDF). Organization & Environment. March 2004 [2018-11-22]. (原始内容 (PDF)存档于2004-07-14).
- Kokcharov I. Structural Safety http://www.kokch.kts.ru/me/t6/SIA_6_Structural_Safety.pdf (页面存档备份,存于)
- Koren, Israel; Krishna, C. Mani. . San Francisco, CA: Morgan Kaufmann. 2007: 3. ISBN 0-12-088525-5.
- Fan, Liang Tseng; Wang, Chiu Sen; Tillman, Frank A.; Hwang, Ching Lai. . IEEE Transactions on Reliability. 1967-09, R–16 (2): 81–86 [2021-05-25]. ISSN 1558-1721. doi:10.1109/TR.1967.5217465. (原始内容存档于2021-05-25).
- Tillman, Frank A.; Hwang, Ching-Lai; Kuo, Way. . IEEE Transactions on Reliability. 1977-08, R–26 (3): 162–165 [2021-05-25]. ISSN 1558-1721. doi:10.1109/TR.1977.5220102. (原始内容存档于2021-05-25).
- . Expert Systems with Applications. 2009-07-01, 36 (5): 9192–9200 [2021-05-25]. ISSN 0957-4174. doi:10.1016/j.eswa.2008.12.024. (原始内容存档于2021-05-25) (英语).
- . Microelectronics Reliability. 1998-10-01, 38 (10): 1599–1605 [2021-05-25]. ISSN 0026-2714. doi:10.1016/S0026-2714(98)00028-6. (原始内容存档于2021-05-25) (英语).