• 《计算机体系结构量化研究方法》1.7 可信任度


    主要内容

    计算机是在不同的抽象层上设计和构造的。我们可以逐级深入计算机的不同层面,将每个组件放大为一个完整的子系统进行查看,直到深入到独立的晶体管为止。尽管有些故障会波及整个系统,比如掉电,但许多故障可以被限制在模块的单个组件上。因此,在某一层级看来是整个模块完全失效的情况,当从更高层级来看时,可能只是一个模块中的组件故障。这种层级区分有助于找出构建可靠计算机的方法。
      如何判断一个系统的运行是否正常,这是一个难题。随着互联网服务的普及,这个问题变得更为明确。基础设施供应商开始提供服务等级协议(service level agreement,SLA)或服务等级目标(service level objective,SLO),以保证他们的网络或电源服务是可靠的。例如、他们在一个月内无法满足协议的时间超过若干小时,就会向客户做出赔偿。因此,可以使用LA来判断系统是正常运行还是已经宕机。
      系统在SLA规定的两种服务状态之间切换。
      (1)服务完成,即提供了指定服务。
      (2)服务中断、即所提供的服务与SLA不一致。
      两种状态之间的转换由故障(由状态1至状态2)或恢复(由状态2至状态1)导致。对这两种转换进行量化,可以得到可信任度的两种主要度量。
      模块可靠性是对从参考初始时刻开始的连续的服务完成情况的度量(一种等价的说法是、对发生故障之前的时间的度量)。因此,平均无故障时间(mean time to failure,MTTF)是一种可靠性度量。MTTF的倒数就是故障率,通常以运行10亿小时发生的故障数来表示,被称为FIT(failures in time)。因此,1 000 000小时的MTTF相当于109/106=1000FIT。服务中断用平均修复时间(mean time to repair,MTTR)来度量。平均故障间隔时间(mean time between failures,MTBF)就是MTTF+MTTR。尽管MTBF使用得更为广泛,但MTF通常更适用。如果一组模块的生存期呈指数分布,也就是说模块的老化对于故障概率的影响不大,那么这一组模块的整体故障率就是这些模块的故障率之和。
      模块可用性是指在服务完成与服务中断两种状态之间切换时,对服务完成情况的度量。对于可修复的非冗余系统,模块可用性为
      模块可用性=MTTF/(MTTF+MTTR)
      注意,可靠性和可用性现在是可量化指标,而不再是可信任度的同义词。从这些定义出发,如果我们对组件的可靠性做出一些假设,并假设故障之间互相独立,则可以量化地估计一个系统的可靠性。
    在这里插入图片描述
    其实应对故障的主要方法是冗余,或者是时间冗余(重复操作),或者是空间冗余(当一个组件故障的时候由其他组件来进行接管)。
    在这里插入图片描述

  • 相关阅读:
    解题报告 之 SOJ3353 Total Flow
    C# + easyui 写的一个web项目
    4.5 MongoDB 文档存储
    大专毕业,从6个月开发转入测试岗位的一些感悟——写在测试岗位3年之际
    容器_Docker ( 06 )
    day27-完全平方数(背包问题)
    传奇开服教程——传奇微端架设教程-GEE引擎
    数据结构与算法之希尔排序
    C++和汇编混编开发
    2011年408真题复盘
  • 原文地址:https://blog.csdn.net/m0_61843614/article/details/128105289