一文拆解计算机可信任度的量化指标与优化技术

各位书友大家好,欢迎做客我的栏目。

今天和大家聊下计算机可信度的量化和优化。

目录

量化计算机可信任度:两大核心指标

可靠性量化

可用性量化

示例说明

计算机可靠性提升的防御体系


导图

计算机可信任度.jpg

IC曾是计算机中最可靠的组件之一,芯片内部的错误率非常低。但随着特征尺寸的缩小,各种各样的原因导致暂时错误和永久错误出现的频率大大增加。比如制造工艺的复杂度提升导致的缺陷增加、特征尺寸缩小加重老化现象、更小的尺寸加重短沟道,电迁移和氧化层击穿等效应。

量化计算机可信任度:两大核心指标

计算机可信任度分为两个指标:可靠性(reliability)可用性(availability)

模块可靠性是从一个参考初始时刻开始持续实现服务的度量,描述系统在给定时间内不发生故障的概率

计算机故障会导致无法交付指定服务,即故障导致从服务实现切换至服务中断(服务中断表示所提供的服务与服务等级协议SLA中规定的不一致)。

模块可用性的量化方法是在服务实现与服务中断两种状态之间切换时,对服务实现的度量,描述系统在任何时刻可提供服务状态的概率

两者的区别在于,可靠性关注故障发生的概率,可用性进一步关注故障发生后到恢复服务的综合表现。

可靠性量化

使用平均无故障时间(MTTF)指标度量可靠性。

平均无故障时间(MTTF)表示设备开始正常运行到首次发生故障之间的平均运行时间,因此MTTF与模块可靠性的含义相契合。

MTTF的倒数就是故障率,通常以运行10亿小时发生的故障数来表示,或称为FIT。

可用性量化

服务中断由平均修复时间(MTTR)量化,该指标表示从检测到修复完成并恢复正常服务之间的平均时间

平均故障间隔时间MTBF=MTTF+MTTR,该指标表示设备两次故障之间的平均运行时间

对于可修复的非冗余系统,模块可用性可表示为

计算机可用性公式.jpg

图1 计算机可用性量化公式

示例说明

如果一组模块的寿命服务以指数分布,这一组模块的整体故障率就是这些模块故障率之和。指数分布是一种统计模型,用来描述随机事件(如故障)发生的时间间隔。寿命服务以指数分布的意思是模块失效的概率仅与未来的时间间隔有关,与模块已经工作了多长时间无关。换句话说,模块它接下来发生故障的概率是固定的。并且由多个模块组成的系统中,每个模块可能独立失效,因此系统的总失效率是所有模块失效率的总和

我们可以使用上述结论计算整个系统的MTTF。比如磁盘子系统有组件:10个磁盘、1个ATA控制器、1个电源、1个风扇,以及1根ATA电缆。各组件的MTTF分别是:磁盘MTTF为1,000,000小时、ATA控制器MTTF为500,000小时、电源和风扇MTTF为200,000小时、以及ATA电缆MTTF为1,000,000小时。可以先计算各模块的故障率,并累加计算出系统故障率,最后求倒数计算出系统的MTTF。

系统可靠性计算实例1.jpg

可用性计算示例.jpg

图2 计算机可靠性计算示例

设备制造商可能会采用一些营销手段误导用户。比如早期的磁盘制造商将数千个磁盘放在一个房间内,运行几个月的时间,记下故障磁盘的数目。他们计算磁盘MTTF的方法是将所有磁盘累计工作的小时数除以发生故障的磁盘数目,得出的结果远远超过了磁盘寿命。

而且制造商提供的MTTF基于理想的测试环境,实际情况也许更糟。

作者建议对制造商提供的MTTF数据做些转换,使用故障百分比指标衡量可靠性。假定有1000个MTTF为1,000,000小时的磁盘,这些磁盘每天工作24小时,那么一年(8760小时)发生故障的磁盘数为:

数据转换.jpg

图3 故障百分比指标量化可靠性

最后得出每年有0.9%的磁盘发生故障,每5年中有4.5%的磁盘发生故障。

计算机可靠性提升的防御体系

冗余设计

硬件层面的一种改进方案,在关键系统中引入备份硬件,可以在主部件故障时立即切换至备用部件

假设冗余模块的寿命服务以指数分布,并且组件之间的故障没有相关性,则设立一个备份硬件的系统MTTF可表示为:

冗余优化MTTF.jpg

图4 冗余技术改善计算机可靠性

可以看出,如果在修复第一个故障之前发生第二个故障的机会很小,则硬件冗余对MTTF的改进将会很大。

根据前文提到的模块的整体故障率就是这些模块故障率之和的结论,计算机可靠性同样符合Amdahl定律。也就是说系统整体的可靠性优化程度由哪些未优化的部分决定,因此要确保所有组件都有冗余。

容错设计

硬件层面的第二种改进方案。比如ECC内存在存储数据时增加额外的校验位,用来检验错误和纠正单bit错误。

软件层面也可进行容错设计,比如发生故障时重复操作(时间冗余)、数据库中使用的事务日志和回滚日志机制在崩溃恢复时自动恢复事务。

分层思想

系统层面的改进思路。计算机设计中的分层抽象是现代计算机系统设计的和核心理念之一。

分层思想可以用于评估计算机可信任度,并帮助设计更为可靠的计算机。在某一层级看来是完全失效的情况,在更高的层次中可以被视为单一组件错误。比如一个存储器芯片的损坏可能导致整个存储模块的失效,但是在操作系统层来看,该情况只是表现为某一地址空间无法使用并且可以通过内存管理机制绕过受损区域。

分层思想有助于将单一组件故障和系统级故障区分开,用不同的思路去面对;同时有助于故障隔离在一个特定范围内,而不是蔓延到整个系统


感谢您的阅读和陪伴,本文对计算机可靠性进行了全面介绍,希望对您有帮助。欢迎在留言区发表您的意见和看法,同时欢迎您加入我们的讨论,共同交流想法。

关注我 每周日做知识分享

微信公众号(欢迎关注):我想成为大佬

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值