近线性时间内同步多个文件系统
Synchronizing Many Filesystems in Near Linear Time
AI总结:
基于文件系统代数理论,提出一种可证明正确的次平方时间同步算法套件,能在初始排序后以线性时空同步任意数量的文件系统副本,支持异步使用及有向无环图路径结构。
摘要:
为多个文件系统副本寻找一个可证明正确的次平方时间同步算法,是操作转换(OT)和无冲突复制数据类型(CRDT)框架中的主要理论问题之一。基于原生包含非交换文件系统命令的文件系统代数理论,我们开发并构建了一套算法套件的概念验证实现,该套件能够同步任意数量的副本。该结果可证明是正确的,且在初始排序阶段之后,同步后的系统以线性空间和时间创建。其工作原理是识别冲突的命令对并请求移除其中一个命令。该方法可以被引导以达到理论上任何可能的同步状态。该算法还允许异步使用。在客户端发送同步请求后,本地副本仍可用于进一步修改。当同步指令到达时,它们可以与自同步请求以来所做的更改合并。该套件同样适用于以有向无环图路径结构代替传统树状结构的文件系统。因此,只要链接不产生循环,我们的算法就适用于具有硬链接或软链接的文件系统。
英文摘要:
Finding a provably correct subquadratic synchronization algorithm for many filesystem replicas is one of the main theoretical problems in Operational Transformation (OT) and Conflict-free Replicated Data Types (CRDT) frameworks. Based on the Algebraic Theory of Filesystems, which incorporates non-commutative filesystem commands natively, we developed and built a proof-of-concept implementation of an algorithm suite which synchronizes an arbitrary number of replicas. The result is provably correct, and the synchronized system is created in linear space and time after an initial sorting phase. It works by identifying conflicting command pairs and requesting one of the commands to be removed. The method can be guided to reach any of the theoretically possible synchronized states. The algorithm also allows asynchronous usage. After the client sends a synchronization request, the local replica remains available for further modifications. When the synchronization instructions arrive, they can be merged with the changes made since the synchronization request. The suite also works on filesystems with directed acyclic graph-based path structure in place of the traditional tree-like arrangement. Consequently, our algorithms apply to filesystems with hard or soft links as long as the links create no loops.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。