系统冗余
此条目需要补充更多来源。 (2018年11月) |
冗余(英语:redundancy)是指系统为了提升其可靠度,刻意配置重复的零件或是机能。冗余一般是为了备用,或是失效安全的考量,也有可能是为了提升系统性能,像是卫星导航系统接收器,或是多线程电脑处理。
在许多生命攸关系统(像是飞机中的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. Analog Voting Circuit Is More Flexible Than Its Digital Version. elecdesign.com. 2003-12-04 [2014-06-01]. (原始内容存档于2007-03-03).
- ^ The Aerospace Corporation | Assuring Space Mission Success. Aero.org. 2014-05-20 [2014-06-01]. (原始内容存档于2008-04-10).
- ^ 4.0 4.1 Scott D. Sagan. Learning from Normal Accidents (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. Fault-Tolerant Systems. San Francisco, CA: Morgan Kaufmann. 2007: 3. ISBN 0-12-088525-5.
- ^ Fan, Liang Tseng; Wang, Chiu Sen; Tillman, Frank A.; Hwang, Ching Lai. Optimization of Systems Reliability. 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. Determining Component Reliability and Redundancy for Optimum System Reliability. 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).
- ^ A two-stage discrete particle swarm optimization for the problem of multiple multi-level redundancy allocation in series systems. 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) (英语).
- ^ Genetic algorithms for reliability design problems. 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) (英语).