??计算机系统的硬件故障通常是由元器件的失效引起的。对元器件进行寿命试验并根据实际资料统计得知,元器件的可靠性可分成3个阶段。在第一阶段开始阶段,元器件的工作处于不稳定期,失效率较高;在第二阶段,元器件进入正常工作期,失效率最低,基本保持常数;在第三阶段,元器件开始老化,失效率又重新提高,这就是所谓的“浴盆曲线”。因此,应保证在计算机中使用的元器件处于第二阶段。在第一阶段应对元器件进行老化筛选,而到了第三个阶段,则淘汰该计算机。
??计算机系统的可靠性是指从它开始运行(t=0)到某时刻 t 这段时间内能正常运行的概率,用R(t)表示。所谓失效率,是指单位时间内失效的元件数与元件总数的比例,用λ表示,当λ为常数时,可靠性与失效率的关系为
???????? R(t) = e-λt
??典型的失效率与时间的关系曲线如下图所示:
??两次故障之间系统能正常工作的时间的平均值称为平均无故障时间(MTBF),即
???????? MTBF=1/λ
??通常用平均修复时间(MTRF)来表示计算机的可维修性,即计算机的维修效率,指从故障发生到机器修复平均所需要的时间。计算机的可用性是指计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率A来表示,即
??????A = MTBF / (MTBF + MTRG)
??计算机的RAS是指用可靠性R、可用性A和可维修性S这3个指标衡量一个计算机系统。但在实际应用中,引起计算机故障的原因除了元器件以外还有组装工艺、逻辑设计等因素。因此,不同厂商生产的兼容机即使采用相同的元器件,其可靠性及MTBF也可能相差很大。
??计算机系统是一个复杂的系统,而且影响其可靠性的因素非常复杂,很难直接对其进行可靠性分析。但通过建立适当的数学模型,把大系统分割成若干子系统,可以简化其分析过程。常见的系统可靠性数学模型有以下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
??系统平均无故障时间为
??(3)N模冗余系统。N模冗余系统由N个(N=2n+1)相同的子系统和一个表决器组成,表决器把N个子系统中占多数相同结果的输出作为系统的输出,如下图所示:
??在N个子系统中,只要由n+1个或n+1个以上的子系统能正常工作,系统就能正常工作,输出正确的结果。假设表决器是完全可靠的,每个子系统的可靠性为R0,则N模冗余系统的可靠性为
??提高计算机的可靠性一般采取如下两项措施。
??(1)提高元器件质量,改进加工工艺与工艺结构,完善电路设计。
??(2)发展容错技术,使得在计算机硬件有故障的情况下,计算机仍能继续运行,得出正确的结果。