“部分同步位于同步与异步模型之间。Dwork、Lynch 与 Stockmeyer 给出两种标准形式。第一种形式假设消息延迟和正确进程相对速度存在有限上界,但算法事先不知道这些界的数值;界从执…”
形式陈述 ​
同步分布式模型假设执行被划分为轮次,或存在已知常数上界进程一步的持续时间和消息延迟。典型轮模型中,每轮依次发送、接收并进行本地状态转移;在故障模型给定后,算法可利用“某轮前未收到消息”作有限推断。
直觉
同步模型给算法一个已知最坏时间尺度:正确进程一步、消息传输和时钟偏差在规定界内完成。因此等待超过界限可作为可证明的故障或缺失证据,而不只是猜测。同步不是所有节点锁步执行;异步动作仍可交错,只是最坏延迟被算法知道并能转成轮次。
例子与边界
在无故障同步网络中,直径
若每条边消息至多一轮到达,直径为
推论与应用
轮次状态机与离散时间定义同步执行,消息系统据此获得可靠超时。选主、可靠广播与 Byzantine 协议可用固定轮数分析;纯异步模型中的不可能性常在同步或部分同步假设下恢复活性。实现时必须把理论延迟界、时钟模型和故障类型逐项映射到系统机制。
参考资料
- Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996, Chapters 2–7。
- Hagit Attiya and Jennifer Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd ed., Wiley, 2004, Chapters 2–3。