美文网首页
cmu440(10) Fault Tolerance, Logg

cmu440(10) Fault Tolerance, Logg

作者: lqsss | 来源:发表于2018-02-19 16:56 被阅读0次

    真实系统(通常不可靠)

    1. 我们迄今为止忽略了失败
    2. 容错的基本概念
      https://en.wikipedia.org/wiki/Algorithms_for_Recovery_and_Isolation_Exploiting_Semantics
      https://en.wikipedia.org/wiki/Write-ahead_logging
      https://en.wikipedia.org/wiki/Shadow_paging

    什么是容错?

    1. 成功处理分布式系统中的部分故障
    2. 容错〜>可靠的系统
    3. 可靠性意味着以下几点:
      Availability
      Reliability
      Safety
      Maintainability(可维护性)
      问题:什么是部分失败? DS中的某些节点出现故障/无响应 - 但它们都是共享状态的一部分。

    可靠性概念(dependable)

    1. Availability - 系统已准备好立即使用。
    2. Reliability - 系统连续运行而不失败。
    3. Safety - 如果系统发生故障,则不会发生灾难性事件。 (例如进程控制系统)
    4. Maintainability - 当系统发生故障时,可以方便快捷地进行维修(有时,用户不会注意到故障)。 (也称为恢复)
      • 什么是失败? :无法实现其目标的系统=>故障
      • 故障可以是:暂时的,间歇的,永久的

    区分可用性和可靠性:
    系统每小时降低1ms可用率为99.9999%(6个9),但这不可靠。
    系统从不崩溃或宕机,但每8月关闭2周,可用性为96%,但其超级可靠。

    • 可用性是针对任何时刻,任何时刻,系统会根据用户的行为作出正确的操作。
    • 可靠性针对某个时间间隔,在一个相对较长的时间内持续工作而不被打断。

    故障(fault)

    失败(fail)当一个系统不能兑现它的承诺。比如一个分布式系统提供大量的服务,而当这些服务中的一个或者多个不能被(完整地)提供时,系统就失败了。
    错误(error)是系统状态的一部分,有可能会导致失败。
    而造成错误的原因叫故障(fault)

    可维护性能够从错误中恢复的过程 是DS的关键部分。

    类型

    瞬间故障 - 出现一次,然后消失。
    间歇性故障 - 发生,消失,再现; 但是:不遵循真正的模式(最坏的一种)。
    永久性故障 - 一旦发生,只需更换/修理故障组件

    故障模式

    Failure Models

    deviate:偏离

    通过冗余(Redundancy)掩盖故障

    • 策略:使用冗余隐藏其他进程发生的故障。
    1. 信息冗余 - 信息冗余 - 增加额外的位以允许错误检测/恢复(例如,汉明码等)。
    2. 时间冗余 - 执行操作,如果需要,再次执行。 考虑事务如何工作(BEGIN / END / COMMIT / ABORT)。
    3. 物理冗余 - 为系统添加额外的(重复)硬件和/或软件。
      物理冗余:人类有2只肺,2只肾,2只耳,2只眼
    Triple modular redundancy in a circuit (b) A,B,C are circuit elements and V* are voters

    上面是一个在电子电路的容错,来介绍下物理冗余。
    这里的信号依次通过设备A、B、C。如果它们中的一个发生故障,最后结果有可能是错误的。
    如果输入中的两个或者三个是相同的,那么输出等于输入,如果所有的输入都是不同的,那么输入就是未定义的。(三倍模块冗余)

    为什么不选择单选民?
    万一仅有的那个选民发生故障。

    相关文章

      网友评论

          本文标题:cmu440(10) Fault Tolerance, Logg

          本文链接:https://www.haomeiwen.com/subject/cklptftx.html