【24h】

Modular Reasoning for Deterministic Parallelism

机译:确定性平行度的模块化推理

获取原文

摘要

Weaving a concurrency control protocol into a program is difficult and error-prone. One way to alleviate this burden is deterministic parallelism. In this well-studied approach to parallelisation. a sequential program is annotated with sections that can execute concurrently, with automatically injected control constructs used to ensure observable behaviour consistent with the original program. This paper examines the formal specification and verification of these constructs. Our high-level specification defines the conditions necessary for correct execution; these conditions reflect program dependencies necessary to ensure deterministic behaviour. We connect the high-level specification used by clients of the library with the low-level library implementation, to prove that a client's requirements for determinism are enforced. Significantly, we can reason about program and library correctness without breaking abstraction boundaries. To achieve this, we use concurrent abstract predicates, based on separation logic, to encapsulate racy behaviour in the library's implementation. To allow generic specifications of libraries that can be instantiated by client programs, we extend the logic with higher-order parameters and quantification. We show that our high-level specification abstracts the details of deterministic parallelism by verifying two different low-level implementations of the library.
机译:将并发控制协议编织到程序中是困难和错误的。一种缓解这种负担的一种方法是确定性的并行性。在这种研究的顺行方法中。顺序程序用可以同时执行的部分注释,使用自动注入控制构造,用于确保与原始程序一致的可观察行为。本文介绍了这些构建体的正式规范和验证。我们的高级规格定义了正确执行所需的条件;这些条件反映了确保确定性行为所必需的程序依赖性。我们将图书馆客户端使用的高级规范与低级别的库实现连接,证明了客户对确定主义的要求得到强制执行。值得注意的是,我们可以理解程序和图书馆正确性而不破坏抽象边界。为实现这一目标,我们使用基于分离逻辑的并发摘要谓词来封装库的实现中的Racy行为。要允许通过客户端程序实例化的库的通用规范,我们将逻辑扩展到更高阶参数和量化。我们表明我们的高级规范摘要通过验证图书馆的两种不同的低级实现来摘要确定性并行性的细节。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号