【24h】

Speculative Linearizability

机译:投机性的线性化

获取原文

摘要

Linearizability is a key design methodology for reasoning about implementations of concurrent abstract data types in both shared memory and message passing systems. It provides the illusion that operations execute sequentially and fault-free, despite the asynchrony and faults inherent to a concurrent system, especially a distributed one. A key property of linearizability is inter-object composability: a system composed of linearizable objects is itself linearizable. However, devising linearizable objects is very difficult, requiring complex algorithms to work correctly under general circumstances, and often resulting in bad average-case behavior. Concurrent algorithm designers therefore resort to speculation: optimizing algorithms to handle common scenarios more efficiently. The outcome are even more complex protocols, for which it is no longer tractable to prove their correctness. To simplify the design of efficient yet robust linearizable protocols, we propose a new notion: speculative linearizability. This property is as general as linearizability, yet it allows intra-object composability: the correctness of independent protocol phases implies the correctness of their composition. In particular, it allows the designer to focus solely on the proof of an optimization and derive the correctness of the overall protocol from the correctness of the existing, non-optimized one. Our notion of protocol phases allows processes to independently switch from one phase to another, without requiring them to reach agreement to determine the change of a phase. To illustrate the applicability of our methodology, we show how examples of speculative algorithms for shared memory and asynchronous message passing naturally fit into our framework. We rigorously define speculative linearizability and prove our intra-object composition theorem in a trace-based as well as an automaton-based model. To obtain a further degree of confidence, we also formalize and mechanically check the theorem in the automaton-based model, using the I/O automata framework within the Isabelle interactive proof assistant. We expect our framework to enable, for the first time, scalable specifications and mechanical proofs of speculative implementations of linearizable objects.
机译:线性化是一种关键设计方法,了解共享内存和消息传递系统中的并发抽象数据类型的实现。它提供了操作顺序和无故障的错觉,尽管并发系统固有的异步和故障,尤其是分布式。 LineArizability的关键属性是对象间可兼容性:由可直链物体组成的系统本身是可直观的。然而,设计具有可直接的对象非常困难,需要复杂的算法在一般情况下正常工作,并且通常会导致平均例外情况不好。因此,并发算法设计人员令猜测:优化算法以更有效地处理常见场景。结果是更复杂的协议,它不再易于证明他们的正确性。为了简化高效且坚固的可直链协议的设计,我们提出了一种新的概念:投机性的可直链。此属性与LineArizability一般,但它允许内部可组合性:独立协议阶段的正确性意味着它们的构成的正确性。特别是,它允许设计人员仅关注优化的证明,并从现有的非优化的正确性导出总体方案的正确性。我们的协议阶段的概念允许流程独立地从一个阶段切换到另一个阶段,而无需它们达到协议以确定相位的变化。为了说明我们的方法的适用性,我们展示了用于共享内存和异步消息的推测算法的例子如何通过自然适合我们的框架。我们严格地限定了推测性的可直链,并在基于轨迹的和基于自动机的模型中证明了我们的对象内构成定理。为了获得进一步的信心,我们还使用Isabelle交互式助手内的I / O自动机框架进行正式和机械检查基于自动机的模型的定理。我们希望我们的框架能够成为可直链可实现的物体的第一次可扩展规范和机械证明。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号