Checking Concurrent Data Structures Under the C/C++11 Memory Model

Checking Concurrent Data Structures Under the C/C++11 Memory Model
复制标题

检查C/C 11内存模型下的并发数据结构

DOI:
--
复制
发表时间:
2017
期刊:
ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming
影响因子:
--
通讯作者:
Brian Demsky
Brian Demsky
中科院分区:
--
文献类型:
--
作者:
Peizhao Ou;Brian Demsky

文献摘要

参考文献

被引文献

相似文献

并发数据结构通常可以在多核处理器上提供更好的性能,但是与它们的顺序对应物相比,设计和测试难度更大。 C/C ++ 11标准引入了一个弱记忆模型,并支持低级原子操作,例如比较和交换(CAS)。尽管低水平的原子操作可以显着提高并发数据结构的性能,但它们引入了非直觉行为,可以增加制定代码的困难。在本文中,我们为使用原子操作的并发数据结构开发了一个正确的模型。基于此正确性模型,我们提出CDSSPEC,这是C/C ++ 11内存模型下并发数据结构的规范检查器。我们已经对10个并发数据结构进行了评估,其中CDSSPEC检测到了3个已知错误和93%的注射错误。
Concurrent data structures often provide better performance on multi-core processors but are significantly more difficult to design and test than their sequential counterparts. The C/C++11 standard introduced a weak memory model with support for low-level atomic operations such as compare and swap (CAS). While low-level atomic operations can significantly improve the performance of concurrent data structures, they introduce non-intuitive behaviors that can increase the difficulty of developing code. In this paper, we develop a correctness model for concurrent data structures that make use of atomic operations. Based on this correctness model, we present CDSSPEC, a specification checker for concurrent data structures under the C/C++11 memory model. We have evaluated CDSSPEC on 10 concurrent data structures, among which CDSSPEC detected 3 known bugs and 93% of the injected bugs.
彻底修改 C11 和 OpenCL 中的 SC 原子
DOI: 10.1145/2837614.2837637
发表时间: 2016
期刊: --
影响因子: --
作者:
Batty M
通讯作者: Batty M
DOI: 10.1145/2429069.2429099
发表时间: 2013
期刊: --
影响因子: --
作者:
Batty M
通讯作者: Batty M