Skip to content

原子广播

Atomic broadcast · Total-order broadcast

所有正确进程以同一总序交付广播消息。

条目类型
模型

形式陈述

原子广播(又称全序广播)是在可靠广播之上增加全局排序约束的广播原语。令 broadcast_p(m)deliver_p(m) 分别表示进程 p 广播和交付带唯一标识的消息 mDp 表示 p 已交付消息的本地序列。一种常用的 uniform crash-fault 规格要求:

  • 有效性:若正确进程 p 广播 m,则 p 最终交付 m
  • 统一一致性:若任意进程交付 m,则每个正确进程最终交付 m
  • 统一完整性:任意进程至多交付 m 一次,且仅在某进程确实广播过 m 时交付;
  • 统一全序:对任意进程 p,q,它们在执行任一前缀中的交付序列满足 DpDqDqDp,其中 表示“是前缀”。

前三条给出可靠传播;第四条等价于所有交付序列都是某个共同全序的前缀。特别地,对任意 p,q,m,m,只要两进程都交付两条消息,就有

deliverp(m)<deliverp(m)deliverq(m)<deliverq(m).

前缀表述还排除一个进程先交付共同序列中更晚的消息。Non-uniform 规格只量化正确进程;讨论归约或容错边界时必须固定同一版本。FIFO 或因果版本则额外要求共同全序尊重发送者顺序或因果顺序。

直觉

可靠广播只保证正确进程最终看到同一批消息,却允许它们以不同次序看到;而副本状态一般依赖操作先后——“存入 100 再翻倍”与“翻倍再存入 100”结果不同。原子广播让每个副本沿同一消息序列前进。副本在现实时间上可以快慢不同,但从相同初始状态出发的确定性状态机,只要交付到同一前缀就处于相同状态。

把每次全序交付追加到下一个索引,就得到复制日志的 committed 序列;反过来,按索引交付日志新提交条目也可提供全序广播。两者是同一排序能力的不同接口面,日志另暴露索引、提交与应用位置。本页仍只规定消息交付性质,不吸收日志的本地尾部和恢复语义。

例子与边界

正例:节点 A 广播 x、节点 B 并发广播 y。合法的结果是所有正确节点都先交付 x 后交付 y,或都先 yx;系统可任选其一。非法的结果是 A 按 x,y 交付而 B 按 y,x 交付——若两副本据此更新一个不可交换的对象(如追加日志),状态立即分叉。这个反例同时说明为什么仅有可靠广播不足以实现复制:消息集合相同而顺序不同,对有序敏感的状态机就是不同的执行。

边界在于,全序只承诺“大家采用同一个顺序”,不承诺顺序从何而来。它既不自动尊重实时先后,也不自动尊重 FIFO 或因果先后:即使同一发送者先广播 m、再广播 m,只要所有进程都先交付 m,普通全序规格仍然成立。因而原子广播与 FIFO、因果广播约束不同维度;要既统一并发消息的顺序,又保留因果先后,必须额外采用因果全序广播规格。

原子广播也不等于“一次选一个值”。广播接口面对任意长消息流,需要为每条合法消息提供不饿死的交付保证;一个 one-shot 决定只能确定共同序列的第一个位置。

推论与应用

原子广播是状态机复制的直接排序手段。它与分布式共识在固定成员、可靠传播及匹配的 crash/termination 规格下可相互归约(见共识与原子广播等价性)。

从原子广播到 one-shot 共识:每个进程广播自己的提议,并决定它交付的第一条消息。完整性保证决定值确曾被提议,前缀全序保证所有决定者看到相同首条消息,有效性与一致性保证正确进程最终取得首条消息并决定。

从共识到原子广播:先可靠传播待排序消息;对槽位 1,2, 依次运行共识,让每个实例决定一批尚未交付的消息,再按消息标识的确定性顺序交付决定批次并过滤重复。一个实例的一致性给出一个槽位的共同内容,连续实例给出共同序列。交付活性还依赖明确的反饥饿条件:可靠传播最终让正确进程获知消息,正确进程持续启动后续实例,每个实例终止,而且提案规则包含所有 pending 消息或以公平批处理保证旧消息最终入选。缺少这些条件,反复共识可以保持全序安全,却永久跳过某条消息。

这一等价性把FLP 不可能性传导过来——纯异步崩溃模型中不存在保证终止的确定性原子广播,实用协议需借部分同步、故障检测器或随机化取得活性。

参考资料
  • Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 14–17, total-order broadcast and consensus。
  • Tushar D. Chandra and Sam Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” Journal of the ACM 43(2), 1996,Full paper, atomic broadcast and consensus transformations。
关系图谱8 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系

限定层次等价

并列辨析