一致性算法框架
A Framework for Consistency Algorithms
摘要:
我们提出了一个框架,提供确定性的一致性算法给定的内存模型。这种算法检查共享内存并发程序的执行是否在模型定义的公理下是一致的。对于像SC和TSO这样的内存模型,检查一致性是NP完全的。我们的框架表明,尽管硬度,快速确定性一致性算法可以通过采用细粒度复杂性的工具。该框架是基于一个通用的一致性问题,可以实例化不同的内存模型。我们构造了一个在时间O*(2^k)内运行的算法,其中k是执行中检查一致性的写访问次数。这个框架的每个实例都允许一个O*(2^k)时间的一致性算法。通过应用该框架,我们得到了相应的一致性算法SC,TSO,PSO和RMO。此外,我们证明了SC,TSO和PSO的算法在细粒度意义上是最优的:除非指数时间假设失败,否则在时间2^o(k)上运行这些算法没有一致性算法。
英文摘要:
We present a framework that provides deterministic consistency algorithms for given memory models. Such an algorithm checks whether the executions of a shared-memory concurrent program are consistent under the axioms defined by a model. For memory models like SC and TSO, checking consistency is NP-complete. Our framework shows, that despite the hardness, fast deterministic consistency algorithms can be obtained by employing tools from fine-grained complexity. The framework is based on a universal consistency problem which can be instantiated by different memory models. We construct an algorithm for the problem running in time O*(2^k), where k is the number of write accesses in the execution that is checked for consistency. Each instance of the framework then admits an O*(2^k)-time consistency algorithm. By applying the framework, we obtain corresponding consistency algorithms for SC, TSO, PSO, and RMO. Moreover, we show that the obtained algorithms for SC, TSO, and PSO are optimal in the fine-grained sense: there is no consistency algorithm for these running in time 2^o(k) unless the exponential time hypothesis fails.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。