跳转到内容

计算机系统工程/可靠性模型

来自维基教科书,开放的书籍,开放的世界

什么是系统?

[编辑 | 编辑源代码]

系统是由多个元素组合在一起形成的整体。

  • 河流或交通系统
  • 货币系统
  • 特定领域中的事实、原则和学说的综合集合
  • 标记、编号、测量等的系统
  • 南卡罗来纳大学 - 由哥伦比亚的主校区和许多分校组成
  • 计算机(我们的主要兴趣) - 包括组件:内存、处理器、主板、磁盘、打印机、无线适配器等。

并非每个集合都是一个系统。为了成为一个系统,一个集合需要具有一定的统一性,其组件之间具有功能关系,或者具有某种有用的目的。例如,房间里的一组随机物品,除非满足上述条件之一,否则不会构成一个系统。

系统的元素如下

[编辑 | 编辑源代码]
  • 组件:用于输入处理或输出的操作部件
  • 属性:组件的特性,这些特性描述了系统
  • 关系:组件和属性之间的联系

组件是相互关联的,并协同工作以实现某种目的、目标或功能。每个组件的特性和行为都会影响整个系统的特性。例如,计算机内存的速度、磁盘访问时间和容量都会影响计算机的整体速度。每个组件的特性都依赖于至少一个其他组件。例如,内存性能取决于总线速度(带宽)。每个组件的子集(或子系统)都以相同的方式相互关联,但系统不能被分成独立的子集。

通常,系统具有组件层次结构。一个系统由组件组成,而这些组件又由更小的组件组成。较低的层次结构称为子系统。一个例子是硬盘驱动器。驱动器是计算机的一个组件,但它具有多个磁盘、读写头、缓冲区以及许多其他更小的组件。

系统可以分类为

[编辑 | 编辑源代码]
  • 自然和人造(人造)
  • 物理和概念
  • 静态和动态
  • 封闭和开放

工程学关注的是为了造福人类而对有限资源的经济利用。这是通过考虑以下几个方面来解决问题的。在系统工程领域,必须定义与真实客户需求相关的产品和系统需求。例如,设计满足客户通信需求的电子邮件系统,必须很好地定义以满足这些需求。工程学还必须解决整个系统,包括所有元素,并从生命周期角度出发。必须考虑整个层次结构,包括各个层次之间的交互以及同一层次上的各个元素之间的交互。计算机系统中这方面的示例是内存层次结构,由二级缓存、主内存和硬盘上的虚拟内存组成。通常需要将各种相关学科在一个及时且同步的方式中组织成一项工程工作,例如系统的机械和电气方面的不同方面。最后,建立对过程的规范化方法(管理过程以获得结果)至关重要。这包括适当的审查、评估和反馈,以确保有序和高效的进展。

系统的生命周期由以下组成

[编辑 | 编辑源代码]

以下是对该过程应用示例:第三世界国家的独裁者通常想乘坐豪华汽车。然而,这种喜好并不得到太多支持。加油站并不普遍,经济可能无法支持许多接受过汽车维修培训的技工。因此,从工程学的角度来看,这个系统将需要更多的设计和资金才能变得可行。

系统工程概述

[编辑 | 编辑源代码]
  • 自顶向下:将系统作为一个整体来看
  • 以生命周期为导向
1. Design, development production/construction, distribution, operation, maintenance &
support, retirement, phaseout, disposal
2. Past emphasis on design & acquisition, with little emphasis on production, operation,
maintenance, support & disposal
3. Example: If an old computer goes to a landfill (taking up space and polluting the
groundwater), a better design would allow the recovery of gold, lead, and other materials
upon disposal.
  • 更好地定义系统需求 - 将客户需求追溯到各个组件
  • 跨学科
1. Systems usually require multiple disciplines
2. Example: In the development of a computer game, a company has 3 employees – an artist,
a musician, & a programmer.

可靠性

[编辑 | 编辑源代码]
“Reliability is the probability of a device performing adequately for the period of time intended under the operating conditions encountered.” – NASA

系统可靠性的数学模型

[编辑 | 编辑源代码]
Reliability, R(t), is the probability of a system not failing during the period [0,t].

测试大量系统。

危险函数,h(t)

分离变量并积分

摘要 F(t) 是失效分布函数 R(t) = 1-F(t) 是可靠性 f(t) 是失效密度函数 h(t) 是危险函数

f(t) 和 h(t) 的区别

在 2 到 3 时刻

危险函数

[编辑 | 编辑源代码]

危险函数的形状表明了物品如何老化。它有一个直观的解释,即物品在时刻 t 所承受的风险量

递增危险函数 这可能是最可能的情况,因为物品会随着时间的推移而磨损或退化。例如,看看会经历磨损或疲劳的机械物品,例如随着时间的推移,汽车轮胎上的橡胶会变薄。

递减危险函数 在这种情况下,物品会得到改善;也就是说,物品随着时间的推移不太可能失效。例如,一些金属通过持续使用而“硬化”。此外,随着错误的修复,软件可能会得到改善。

浴缸型失效率 这种情况描述了许多自然系统和制成品。它是三种效应的综合

*early failures due to defects
*late failures due to wear out
*accidents at a constant rate

人类生命特征

MTTF = 800 年对应于失效率

或 1 年内 4000 人中 5 人死亡

指数可靠性分布

[编辑 | 编辑源代码]

回顾

这种分布是最常用的可靠性模型。它对许多电子元件在其大部分寿命中有效,并且是 MIL-HDBK-217 的基础。

无记忆特性

[编辑 | 编辑源代码]

令 T = 物品寿命(随机变量)

这是物品在存活到时刻 s 后失效分布的条件概率,与全新的物品相同。


一个例子是保险丝。保险丝因电源浪涌而失效,但不会随着时间的推移而减弱或退化。无记忆特性及其“用后如新”的假设在适用性上受到限制。为了简单起见,指数分布很容易被误用

*statistical techniques are particularly tractable
*can add failure rates  
*field data often allow an estimation of only this one-parameter distribution

C 提供了对数据集进行指数性快速检查

威布尔分布

[编辑 | 编辑源代码]

瑞典物理学家沃洛迪·威布尔在 1939 年引入了这种分布。它是指数分布的推广,适用于对具有恒定、严格递增和严格递减危险函数的寿命进行建模。

请注意,威布尔分布可以匹配浴缸曲线的不同阶段。

程序: 1. 收集失效数据。2. 将数据对威布尔分布进行最佳拟合

如果物品仍在磨合期

*Improve supplier quality
*Burn in the system longer
*Be more careful while manufacturing

在通用电气,灯泡的灯丝即使只有 1% 的差异也会导致寿命缩短 25%。

如果归因于随机失效(事故)

*Make stronger components
*Derate – use components at less than the rated value
*Use newer technology (i.e. software control, longer-life transistors instead of vacuum tubes, etc.)
*Make components less environmentally sensitive (i.e. better packaging)
*NPN transistors <   PNP transistors

例如,卤素灯和紧凑型荧光灯使用不同的技术来延长寿命。此外,白炽长寿命灯泡的额定功率可能如下进行

如果物品处于磨损区域

*Use stronger, longer-lived components
*Use newer technology, etc.
*Use a different architecture

系统可靠性度量

[编辑 | 编辑源代码]

平均故障间隔时间 (MTTF) 这意味着只有大约 37% 的物品在超过 1 个 MTTF 后存活。但是,这种分布有一个非常长的尾部


可修复系统

[编辑 | 编辑源代码]

平均维修时间 (MTTR)

平均故障间隔时间 (MTBF)

请注意,MTBF 和 MTTF 通常被一些作者几乎互换使用。

稳态可用性

[编辑 | 编辑源代码]

例如,如果一个系统在两年内只有 15 分钟的停机时间,那么

可靠性模型

[编辑 | 编辑源代码]

对于串联系统

如果 A 工作且 B 工作且 C 工作且 D 工作,则系统工作。

例如,如果


在时间方面,


假设


观察到,对于恒定失效率(指数)模型,可以使用威布尔分布

但这要困难得多。

  • 非常简单
  • 非常有吸引力
  • 非常具有欺骗性

元件可靠性 = 0.9

如果任何一个元件工作,系统就工作,如果两个元件都失效,系统就失效。R = 1-P(fail)

   = 1-P(first fails & second fails)
   = 1-P(first fails)P(second fails)
   = 1-P(.1)(.1)			 note independence
   = .99

示例:灯泡

串联系统

并联系统

冗余的用途

[编辑 | 编辑源代码]
  • 为了提高可靠性、可用性
  • 消除单点故障
Important in military systems
Becoming important in commercial systems
Important in high availability systems in which the part being repaired must be shut down
  • 可降级容错

另一个例子

系统失效的概率 = (A 失效的概率)AND (B 失效的概率)


观察到这不是指数的。

组合的串联-并联系统

[编辑 | 编辑源代码]

串联-并联系统简化

[编辑 | 编辑源代码]

组合串联或并联元件可靠性以获得等效可靠性,并简化系统。请参阅以下示例

1) 简化 D、E

2) 简化 B、C 和 I、F

3) 简化 II、III

检查以下具有相同元件的 4 元件系统的两种不同配置。元件失效率为


结论:通过在尽可能低的级别上使系统冗余,我们可以在可靠性方面获得最大的收益。通常,使模块冗余比复制系统更好。

系统设计

[编辑 | 编辑源代码]

使模块冗余以实现可靠性目标。

示例:调幅信号拾取

串联系统

冗余设计 I 元件级串联-并联

如果一个元件失效,功能参数可能会发生变化 - 很可能。

冗余设计 II 并联串联

相同的功能参数

组合输出

并联子系统之间的接口增加了设计复杂性(从而降低了可靠性)。

可靠性估计

[编辑 | 编辑源代码]

元件计数可靠性模型假设系统是串联的;这种模型低估了冗余系统的可靠性。对于冗余系统,元件计数模型用于估计串联子系统和接口的可靠性。然后在考虑冗余结构的同时计算可靠性。

再次使用我们的调幅信号拾取示例

地面移动环境 (GM)

串联子系统

接口 

系统可靠性估计

单工系统

简单冗余系统(忽略接口问题)

R = 0.9876

注意: 在某些情况下,接口可靠性可能主导冗余子系统可靠性,并决定整体系统可靠性。在这种情况下,单一系统可能比冗余系统更可靠。

非串联/并联系统简化

[编辑 | 编辑源代码]

使用分解

  • 找到关键组件,并根据关键组件是否良好将系统进行分区。
  • 关键组件将系统的可靠性结构绑定在一起。

全概率定律

示例

选择 A 作为关键组件。

如果 A 良好

串联/并联系统

如果 A 不好

串联系统


便捷符号

注意

  • 如果选择“错误”的关键组件,组件分解技术有效,但简化程度不那么大。
  • 可以重复选择新的关键组件以进一步简化子系统。

并联冗余

[编辑 | 编辑源代码]

只要 1 个模块工作,该系统就能正常工作。

M-out-of-N 系统可靠性

如果至少有 M 个模块工作,该系统就能正常工作。


它最多可以容忍 N-M 个故障,因此

投票系统

[编辑 | 编辑源代码]

投票器比较所有 N 个模块的输出并输出多数结果。这被称为 N 模冗余 (NMR)。NMR 系统通常具有奇数个模块,因此 。如果 (n+1) 个模块工作(最多可以有 n 个故障),并且投票器工作,则系统就能正常工作。

简单投票器

模拟信号或数字投票

投票器比较输入信号(或数字值),并选择中间值作为其输出。正常操作如下

但是,可能会出现错误情况

注意: 可靠性计算假定最坏情况

  • 所有模块都以相同的逻辑方向发生故障
  • 没有补偿故障(即,一个模块卡在 1,而另一个卡在 0)

三模冗余 (TMR)

[编辑 | 编辑源代码]

示例

NMR 系统可靠性比较

以 MTTF 为单位度量时间。

下图描述了 NMR 系统在 N 增加时的可靠性

观察


额外的硬件在短期内提高了可靠性,但一旦冗余用完,就只有更多的硬件会发生故障,可靠性就会迅速下降。

对于 TMR 系统


对于冗余系统,MTTF 可能不是可靠性的合适度量标准。需要根据任务时间查看 R(t)。

级联 TMR

[编辑 | 编辑源代码]

投票器提供一个简单的故障点,因此设计可能可以将投票器复制三次 (TMR)。

系统可靠性由第一阶段的 3 个并联模块、最后一阶段的投票器以及中间阶段的并联投票器-模块决定。

NMR 系统

[编辑 | 编辑源代码]

在 NMR 系统中,故障模块会不断累积,直到它们成为多数,系统发生故障。可以通过清除所有故障模块来延长系统寿命。这可以通过混合冗余(使用备件)或自适应投票(也称为更改投票)来实现。本质上,必须首先检测到故障模块。

该系统具有以下属性

  • N+S 个模块(S 个备件)
  • 差异检测器将投票输出与模块输出进行比较
  • 开关选择来自 N 个模块的输出以提供给投票器
  • 如果模块发生故障,差异检测器会告诉开关用备用模块替换故障模块

这种配置通常与 TMR 系统一起使用。如果切换了太多备件,其复杂性会增加到其可靠性主导系统可靠性的程度。

N 元编程 (TMR)

[编辑 | 编辑源代码]

假设我们有 3 个程序员编写代码,然后对结果进行投票。在 TMR 系统中,每个程序都可以在完全不同的硬件集上执行。但是,软件的劳动强度大,生产成本非常高。N 元编程会大幅增加此成本,无法保护免受规范错误,并且会引入时间和协调问题,因为每个程序都不相同。

自适应投票

[编辑 | 编辑源代码]

在自适应投票中,将投票输出与模块输出进行比较。当模块发生故障时,它将与另一个模块一起被移除(这样做是为了保持奇数个模块)。然后,投票器将更改为选择剩余模块中的多数。这种方法可以与混合冗余结合使用,以将良好的模块切换回系统。投票(特别是 TMR)在许多容错、超高可靠性计算机系统中使用。

备用冗余

[编辑 | 编辑源代码]

  • 使用 A 操作
  • A 发生故障时切换到 B
  • A 和 B 独立

一般而言,A 和 B 可以不同(例如,A 可以是在线电源,而 B 可以是发电机)。需要注意的是,B 在备用模式下也可能发生故障,或者开关也可能发生故障。检查以下简单情况。假设


可靠性如下


回想一下,以上是全概率定律。


因此,

每次设备发生故障并切换到新的设备时,故障序列都会形成一个从头开始的过程。这被称为更新过程。两次故障之间的时间服从指数分布,其中 X 是表示两次故障之间时间的随机变量。假设我们有 n 个系统,如下所示

回想一下,对于泊松过程,i) 非重叠区间的事件是独立的 ii) P(小区间 h 中有事件) = P(h 中没有事件) = iii) 两次事件之间的时间 X 服从指数分布,iv) 区间 T 中的事件数量 n(T) 服从泊松分布。

还要回忆一下(对于 iii)


此外,

正如您可能已经推断的那样,这个故障序列是一个泊松过程。因此,


对于 n 个组件系统


作为概述,比较以下两个单元的比较

  • 备用冗余
  • 并联冗余
  • 单工系统


  • 备用冗余
  • 并联冗余
  • 单一系统:R = p

华夏公益教科书