Distributed storage systems employ replication to improve performance and reliability. To provide low latency data access, replicas are often required to accept updates without coordination with each other, and the updates are then propagated asynchronously. This brings the critical challenge of conflict resolution among concurrent updates. Conflict-free Replicated Data Type (CRDT) is a principled approach to addressing this challenge. However, existing CRDT designs are tricky, and hard to be generalized to other data types. A design framework is in great need to guide the systematic design of new CRDTs. To address this challenge, we propose RWF -- the Remove-Win design Framework for CRDTs. RWF leverages the simple but powerful remove-win strategy to resolve conflicting updates, and provides generic design for a variety of data container types. Two exemplar implementations following RWF are given over the Redis data type store, which demonstrate the effectiveness of RWF. Performance measurements of our implementations further show the efficiency of CRDT designs following RWF.
翻译:为了提供低延迟数据访问,通常要求复制者接受更新而不相互协调,然后不同步地传播更新。这在同时更新中带来了解决冲突的关键挑战。无冲突复制数据类型(CRDT)是应对这一挑战的一项原则性办法。然而,现有的CRDT设计很棘手,难以推广到其他数据类型。设计框架非常需要指导新的CRDT的系统设计。为了应对这一挑战,我们提出了RWF -- -- RCDT的移除-Win设计框架。RWF利用简单但有力的消除-双赢战略解决更新冲突,并为各种数据容器类型提供了通用设计。Redis数据类型储存有两种在RCDF之后的例外实施,这显示了RDF的有效性。我们执行的绩效测量还进一步表明CRDT设计在RWF之后的效率。