用途:ABD 是基于 Attiya、Bar-Noy、Dolev 1995 年 JACM 论文的原子寄存器模拟方法,在异步消息传递网络上实现无等待、原子的(线性一致的)寄存器,容忍 f<n/2 的崩溃故障,是共享内存到消息传递的经典归约。适用于设计基于法定人数(quorum)的分布式存储、证明线性一致性等场景。
主要能力:三大结构支柱为法定人数交叉(任意两个多数集合至少有一个正确进程重叠)、时间戳(seq, writer_id)字典序全序、写回(读方将最大时间戳值传播给多数集合,把规则语义升级为原子语义)。提供 SWMR 与 MWMR 两种协议:SWMR 写延迟 2d、读延迟 4d,每操作 O(n) 消息;MWMR 写需先查询当前最大时间戳,写读延迟均为 4d。附带正确性论证骨架(终止性、写顺序、最新值、无新旧倒置、线性化、f<n/2 必要性)与复杂度表。扩展包括快速读、拜占庭 ABD(f<n/3 加 PKI)、编码 ABD、可重配置成员。
使用方式:附带可运行 SWMR 模拟脚本,依赖 Python 3.10+ 标准库,无需外部依赖。运行命令:python3 /Users/alice/v/asi/skills/abd/abd_sim.py。脚本用线程与队列模拟 N=5 服务器、1 写者、2 读者,演示写回阶段与一个服务器崩溃下的容错。生产环境可用 etcd 等真实线性一致寄存器(pip install etcd3),或用 dslib(pip install dslib)做分布式系统模拟。
限制:仅资料所述仿真与教学用途;具体部署细节、性能基准、收费情况暂未提供。