“消息传递系统中的选主依赖可区分的允许执行与进程身份。Ω只承诺某个未知时刻后,所有正确进程永久输出同一个正确标识;稳定前不同 oracle 输出并不直接违反其规格。选主任务则要由算法把输出解释…”
形式陈述
固定进程集合
它唯一的稳定性要求是存在某个正确进程
量词中的“同一个、正确、永久”缺一不可。
“
直觉
纯异步系统里,进程永远无法凭有限等待区分“对方崩溃”和“消息很慢”。
它像一枚最终停止摆动的指南针,却没有“已锁定”指示灯。算法必须容忍指南针在任意长的有限前缀中指向错误方向;如果临时 leader 能产生不可撤销外部副作用,还需任期、quorum 或 fencing token 约束旧 leader,而不能把
例子与边界
在部分同步网络中,各进程可用心跳与自适应超时维护当前信任对象。稳定界出现前,网络抖动让 A 信任 B、C 信任 D,随后又交换判断;这仍符合
即使所有进程当前输出
推论与应用
最终领导者把共识的活性依赖压缩成一个精确接口:安全性可在所有异步执行中由轮次和相交证据维持,终止性则在
评估一个超时选主实现时,应分别检查它在何种网络与故障假设下最终稳定、稳定对象是否正确,以及调用协议是否能容忍稳定前的任意错误输出。只演示正常网络下选出一个 leader,没有建立
参考资料
- Tushar D. Chandra, Vassos Hadzilacos, and Sam Toueg, “The Weakest Failure Detector for Solving Consensus,” Journal of the ACM 43(4), 1996, pp. 685–722。
- Tushar D. Chandra and Sam Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” Journal of the ACM 43(2), 1996, pp. 225–267。
- Marcos K. Aguilera, Carole Delporte-Gallet, Hugues Fauconnier, and Sam Toueg, “On Implementing Omega in Systems with Weak Reliability and Synchrony Assumptions,” PODC 2003, pp. 306–314。