基于状态的$infty$P-Set冲突自由复制数据类型

摘要:长时集合(请参阅注释中的注释)的设计是重复的。 尽管如此,我们仍然在这里保留原始论文,因为证明被引用在另一篇提交的论文中。 2P-Set冲突自由复制数据类型(CRDT)支持每个可能元素的两个阶段:在第一阶段,可以将元素添加到集合中,并且随后的添加将被忽略;在第二阶段,元素可以被删除,之后无论后续添加和删除如何,它都将永远处于删除状态。我们将2P-Set一般化,以支持同一元素的无限交替添加和删除的序列。 在不同副本上存在并发添加和删除的情况下,所有副本最终将收敛到遵循因果历史的最长交替添加和删除序列。 在撤消重做框架的上下文中,已经提出了收敛于最长因果序列的相反操作的思路,但是该设计既没有被命名也没有完全发展起来。在本文中,我们直接提出了完整的设计,只使用了基本的状态CRDTs的表述。我们还展示了2P-Set的集合定义与计数器定义的$infty$P-Set的关联性,以及简单的推理。然后我们给出了收敛的详细证明。构建$infty$P-Set的底层“只增长计数器的只增长字典”可以用于构建其他基于状态的CRDTs。此外,本文对于设计基于状态的CRDTs是有用的教学例子,并可能有助于提高基于“最长序列胜出”的CRDTs的知名度。

作者:Erick Lavoie

论文ID:2304.01929

分类:Distributed, Parallel, and Cluster Computing

分类简称:cs.DC

提交时间:2023-05-29

PDF 下载: 英文版 中文版pdf翻译中