首页 | 本学科首页   官方微博 | 高级检索  
     

支持乱序执行的Raft协议
引用本文:谷晓松,魏恒峰,乔磊,黄宇.支持乱序执行的Raft协议[J].软件学报,2021,32(6):1748-1778.
作者姓名:谷晓松  魏恒峰  乔磊  黄宇
作者单位:计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023;北京控制工程研究所, 北京 100190
基金项目:国家自然科学基金(61932021,61772258);五〇二所空间先进计算与电子信息专业实验室开放基金(OBCandETL-2020-04)
摘    要:PolarFS是阿里巴巴开发的分布式文件系统,它实现了分布式共识协议Raft的一种变体,称为ParallelRaft.ParallelRaft突破了Raft中顺序提交、顺序执行的限制,允许状态机乱序执行用户命令.然而,文献表明,ParallelRaft并未开源,仅有简短的文字描述,更缺乏严格的形式化规约.更进一步,它的正确性也尚未经过必要的数学论证或形式化检验.本文旨在为ParallelRaft提供严格的形式化规约并证明其正确性.具体而言,本文的主要贡献包括:首先,为了理清ParallelRaft与Raft之间的关系,我们提出了允许乱序提交、顺序执行的ParallelRaft-SE (Sequential Execution)协议,并建立了从ParallelRaft-SE到Multi-Paxos的精化关系.其次,我们发现现有的ParallelRaft描述忽略了可能会违反状态一致性的“幽灵日志”问题.因此,我们在ParallelRaft-SE的基础上提出了ParallelRaft-CE (Concurrent Execution)协议.ParallelRaft-CE限制了ParallelRaft-SE在乱序提交阶段的并行度,避免了“幽灵日志”问题,支持乱序执行,并保证乱序执行下的状态机一致性.我们证明了ParallelRaft-CE的正确性.最后,我们使用TLA+给出了ParallelRaft-SE和ParallelRaft-CE的形式化规约,并对协议参与者数量较小的情形使用TLC模型检验与模拟测试工具验证了从ParallelRaft-SE到Multi-Paxos的精化关系以及ParallelRaft-CE的正确性.

关 键 词:Raft  ParallelRaft  Multi-Paxos  共识协议  TLA+  精化关系  模型检验
收稿时间:2020/8/30 0:00:00
修稿时间:2021/1/18 0:00:00

Raft with Out-of-order Executions
GU Xiao-Song,WEI Heng-Feng,QIAO Lei,HUANG Yu.Raft with Out-of-order Executions[J].Journal of Software,2021,32(6):1748-1778.
Authors:GU Xiao-Song  WEI Heng-Feng  QIAO Lei  HUANG Yu
Affiliation:State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing 210023, China;Beijing Institute of Control Engineering, Beijing 100190, China
Abstract:
Keywords:Raft  ParallelRaft  Multi-Paxos  consensus protocols  TLA+  refinement mapping  model checking
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号