lecture 4 Primary-Backup Replication
前言
这是关于lecture4 的一些课堂记录
paper
Fault-Tolerant Virtual Machines
更多参考
中文paper
paper解读 1
paper解读 2
Non-det events
- input - packet - data + interupt :: interput 需要一致
- wired instructions
- 多核cpu
记录
把输入和非确定性以日志流形式记录
对于非确定性事件:记录发生时的具体指令
Log entry
- instruction
- type
- data
buffer
从sever有一个buffer缓存主server的instructions,这样保证从server不会先于执行的比主server
bounce buffer?
output
主从都会发送output 但是从不会发给client
output rule
在从server收到log event然后ack后,才发送给client -> 这样保证了如果主down了但是数据只发送给client,从server没有backup的情况
带来的问题 主sever需要等待从的ack,影响了性能
network
两者都认为对方dead :: splitbrain failure
比如test-and-set server 可以决定哪个是主server
也就是说如果任何一个server需要go alive,都需要在test-and-set server取得授权
总结
lecture4主要讲了虚拟机层面的容错系统,其实这个也跟物理machine的主从容错系统非常相似了。值得注意的是,这里replication是bit的复制,是一个非常detail的复制scheme;对比Google File System的容错复制是chunk,只要chunk一致就行,不管机器执行流程的