zoukankan      html  css  js  c++  java
  • VMware Fault-Tolerant Virtual Machine 论文总结

    • Desire

      • 希望搞一个Fault-Tolerant的Machine(Computer)
      • 是从计算机角度出发的FT(对计算机整个运行状态的replication),而不是仅仅是应用层次的FT,
    • Is Worthy?

      • 虚拟机相比直接在物理机层面更不重视硬件特性,适用范围更广。
      • 比state transfer这种方式要好,开销更小,但是实现相比更加复杂
    • Apporaches of Replication

      • state transfer
        • 整个物理状态的传输(比如内存、磁盘)等等
      • replicated state machine
        • 控制开始状态相同,传输外部操作+额外的控制信息
        • 本质是让两者的内部操作相同
    • What state?

      • 内存中的所有内容和寄存器状态,而不是应用层级别
        • 缺点:开销大
        • 优点:对上层应用的支持强(要求低)
      • 通过packet来传输
    • Model

      • replicated state machine
    • 不确定事件

      • Input(输入方式、中断)
        • 设定输入只来自网络
        • 数据包中的内容和中断的时机
          • primary发送发生中断的指令位置,backup接收中断,为了保证正确性,backup需要保证状态总落后于primary
      • weird instructions
        • 比如一些产生随机数,读取本机mac地址(等唯一性结果)
        • 这类指令的结果,backup只能通过primary转发获得相关结果来保证一致性
      • multi-core
        • 多核指令执行顺序不同
        • 尚未解决
    • Output rules

      • 只有当所有的backup接收到消息之后,primary才能output
        • 避免了主机接收到消息后output,但是主机之后死掉了,而且由于网络原因发送给backup的消息也丢了,而导致的backup与primary状态不一致
    • Test-and-Set server

      • 决定在发送故障时哪个服务器go live, 采用cas原理
      • 避免互相认为对方下线,并产生“split brain” 现象
    • 同步程度

      • 部分延迟,backup是略延迟于主VM的
    • Cut-over(Client 应该在主机宕机之后,知道去哪个backup上访问 )

      • backup上线的时候,会模拟主机的一些特性,比如ip,mac等,对外,client不会察觉cut-over
    • Extra Ouputs

      • backup上线的时候,可能会重复输出一些之前主VM已经输出的信息。因为backup无法确认主VM是在output之后下线,还是在output之前下线的。
    • 支持运行时new replica

  • 相关阅读:
    for else
    改变注释字体颜色
    多继承
    模块的查找顺序
    如何跳出多层嵌套
    验证码书写
    正则表达式(一)
    四、列表与超链接
    三、表格与表单
    二、HTML入门
  • 原文地址:https://www.cnblogs.com/backkom-buaa/p/13512812.html
Copyright © 2011-2022 走看看