计算机系统知识之可靠性
1、计算机可靠性概述
计算机系统的硬件故障通常是由元器件的失效引起的。对元器件进行寿命试验并根据实际资料统计得知,元器件的可靠性可分成3个阶段。在第一阶段开始阶段,元器件的工作处于不稳定期,失效率较高;在第二阶段,元器件进入正常工作期,失效率最低,基本保持常数;在第三阶段,元器件开始老化,失效率又重新提高,这就是所谓的“浴盆曲线”。因此,应保证在计算机中使用的元器件处于第二阶段。在第一阶段应对元器件进行老化筛选,而到了第三个阶段,则淘汰该计算机。
计算机系统的可靠性是指从它开始运行(t=0)到某时刻 t 这段时间内能正常运行的概率,用R(t)表示。所谓失效率,是指单位时间内失效的元件数与元件总数的比例,用λ表示,当λ为常数时,可靠性与失效率的关系为
R(t) = e-λt
典型的失效率与时间的关系曲线如下图所示:
两次故障之间系统能正常工作的时间的平均值称为平均无故障时间(MTBF),即
MTBF=1/λ
通常用平均修复时间(MTRF)来表示计算机的可维修性,即计算机的维修效率,指从故障发生到机器修复平均所需要的时间。计算机的可用性是指计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率A来表示,即
A
=
M
T
B
F
M
T
B
F
+
M
T
R
G
A = \frac{MTBF}{MTBF + MTRG}
A=MTBF+MTRGMTBF
计算机的RAS是指用可靠性R、可用性A和可维修性S这3个指标衡量一个计算机系统。但在实际应用中,引起计算机故障的原因除了元器件以外还有组装工艺、逻辑设计等因素。因此,不同厂商生产的兼容机即使采用相同的元器件,其可靠性及MTBF也可能相差很大。
2、计算机可靠性模型
计算机系统是一个复杂的系统,而且影响其可靠性的因素非常复杂,很难直接对其进行可靠性分析。但通过建立适当的数学模型,把大系统分割成若干子系统,可以简化其分析过程。常见的系统可靠性数学模型有以下3中。
(1)串联系统。假设一个系统由N个子系统组成,当且仅当所有的子系统都能正常工作时系统才能正常工作,这种系统称为串联系统,如下图所示:
设系统中各个子系统的可靠性分别用R1,R2,…,RN来表示,则系统的可靠性R可由下式求得。
R=R1R2…RN
如果系统的各个子系统的失效率分别用λ1,λ2,…,λN来表示,则系统的失效率λ可由下式求得:
λ = λ1+λ2+…+λN
【例1】设计算机系统由CPU、存储器、I/O三部分组成,其可靠性分别为0.95、0.90和0.85,求计算机系统的可靠性。
解:R = R1 • R2 • R3 = 0.95 × 0.90 × 0.85 = 0.73
计算机的可靠性为0.73。
(2)并联系统。假如一个系统由N个子系统组成,只要有一个子系统正常工作,系统就能正常工作,这样的系统称为并联系统,如下图所示。
设每个子系统的可靠性分别以R1,R2,…,RN表示,整个系统的可靠性可由下式求得。
R = 1 - (1-R1) - (1-R2) … (1-RN)
假如所有子系统的失效率均为λ,则系统的失效率μ为
在并联系统中只有一个子系统是真正需要的,其余N-1个子系统称为冗余子系统,随着冗余子系统数量的增加,系统的平均无故障时间也增加了。
【例2】设一个系统由3个相同的子系统构成,其可靠性为0.9,平均无故障时间为10000小时,求系统的可靠性和平均无故障时间。
解:R1 = R2 = R3 = 0.9 λ1 = λ2 = λ3 = 1/10000 = 1×104(小时)
系统可靠性 R = 1 - (1-R1)3 = 0.999
系统平均无故障时间为
M
T
B
F
=
1
μ
=
1
λ
Σ
j
=
1
3
1
j
=
1
λ
×
(
1
+
1
2
+
1
3
)
=
18333
(小时)
MTBF=\frac1\mu=\frac1\lambda {\huge\Sigma}^3_{j=1}\frac1j = \frac1\lambda×(1+\frac12+\frac13)=18333(小时)
MTBF=μ1=λ1Σj=13j1=λ1×(1+21+31)=18333(小时)
(3)N模冗余系统。N模冗余系统由N个(N=2n+1)相同的子系统和一个表决器组成,表决器把N个子系统中占多数相同结果的输出作为系统的输出,如下图所示:
在N个子系统中,只要由n+1个或n+1个以上的子系统能正常工作,系统就能正常工作,输出正确的结果。假设表决器是完全可靠的,每个子系统的可靠性为R0,则N模冗余系统的可靠性为
提高计算机的可靠性一般采取如下两项措施。
(1)提高元器件质量,改进加工工艺与工艺结构,完善电路设计。
(2)发展容错技术,使得在计算机硬件有故障的情况下,计算机仍能继续运行,得出正确的结果。