首页> 外文会议>International Conference on Distributed Computing >Order out of Chaos: Proving Linearizability Using Local Views
【24h】

Order out of Chaos: Proving Linearizability Using Local Views

机译:从混乱中订购:使用当地视图证明可直接性

获取原文
获取外文期刊封面目录资料

摘要

Proving the linearizability of highly concurrent data structures, such as those using optimistic concurrency control, is a challenging task. The main difficulty is in reasoning about the view of the memory obtained by the threads, because as they execute, threads observe different fragments of memory from different points in time. Until today, every linearizability proof has tackled this challenge from scratch. We present a unifying proof argument for the correctness of unsynchronized traversals, and apply it to prove the linearizability of several highly concurrent search data structures, including an optimistic self-balancing binary search tree, the Lazy List and a lock-free skip list. Our framework harnesses sequential reasoning about the view of a thread, considering the thread as if it traverses the data structure without interference from other operations. Our key contribution is showing that properties of reachability along search paths can be deduced for concurrent traversals from such interference-free traversals, when certain intuitive conditions are met. Basing the correctness of traversals on such local view arguments greatly simplifies linearizability proofs. At the heart of our result lies a notion of order on the memory, corresponding to the order in which locations in memory are read by the threads, which guarantees a certain notion of consistency between the view of the thread and the actual memory. To apply our framework, the user proves that the data structure satisfies two conditions: (1) acyclicity of the order on memory, even when it is considered across intermediate memory states, and (2) preservation of search paths to locations modified by interfering writes. Establishing the conditions, as well as the full linearizability proof utilizing our proof argument, reduces to simple concurrent reasoning. The result is a clear and comprehensible correctness proof, and elucidates common patterns underlying several existing data structures.
机译:证明高度并发数据结构的可直接数据结构,例如使用乐观并发控制的那些是一个具有挑战性的任务。主要困难是关于通过线程获得的内存的视图,因为当它们执行时,线程会在不同时间点观察来自不同点的不同的存储器片段。直到今天,每个线性化证据都从头开始解决了这一挑战。我们为不同步遍历的正确性提出了一个统一的证据,并应用它来证明几个高度并发搜索数据结构的可直链,包括乐观的自平衡二进制搜索树,延迟列表和无锁跳过列表。我们的框架利用帖子的序列推理,考虑到螺纹,就像它遍历数据结构而没有从其他操作的干扰发生干扰。我们的主要贡献表明,当满足某些直观条件时,可以推导出沿着搜索路径的可拆动性的性质,以便从这种无干扰的遍历。基于此类局部视图参数的遍历的正确性大大简化了可直链可以证明。在我们的核心,在内存上的顺序上的概念,对应于线程读取内存中的位置的顺序,这保证了线程和实际存储器之间的一致性概念。要应用我们的框架,请证明数据结构满足两个条件:(1)内存顺序的非循环性,即使在中间内存状态中考虑,(2)将搜索路径保存到通过干扰写入修改的位置。建立条件,以及利用我们证明参数的完整可直线性证明,降低了简单的并行推理。结果是清晰可理解的正确性证明,并阐明了几种现有数据结构的常见模式。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号