Library abstraction for C/C++ concurrency
Library abstraction for C/C++ concurrency
复制标题
C/C 并发的库抽象
DOI:
10.1145/2429069.2429099
复制
发表时间:
2013
期刊:
影响因子:
--
通讯作者:
Batty M
中科院分区:
文献类型:
--
作者:
Batty M
When constructing complex concurrent systems, abstraction is vital: programmers should be able to reason about concurrent libraries in terms of abstract specifications that hide the implementation details. Relaxed memory models present substantial challenges in this respect, as libraries need not provide sequentially consistent abstractions: to avoid unnecessary synchronisation, they may allow clients to observe relaxed memory effects, and library specifications must capture these.In this paper, we propose a criterion for sound library abstraction in the new C11 and C++11 memory model, generalising the standard sequentially consistent notion of linearizability. We prove that our criterion soundly captures all client-library interactions, both through call and return values, and through the subtle synchronisation effects arising from the memory model. To illustrate our approach, we verify implementations against specifications for the lock-free Treiber stack and a producer-consumer queue. Ours is the first approach to compositional reasoning for concurrent C11/C++11 programs.
登录
查看更多内容
DOI:
--
发表时间:
2010
期刊:
影响因子:
--
作者:
Hongseok Yang
通讯作者:
Hongseok Yang
DOI:
--
发表时间:
2012
期刊:
影响因子:
--
作者:
Mark Batty;Mike Dodds
通讯作者:
Mike Dodds
影响因子:
0.6
作者:
Gotsman A
通讯作者:
Gotsman A
影响因子:
1.1
作者:
Filipovic I
通讯作者:
Filipovic I
影响因子:
--
作者:
Sarkar S
通讯作者:
Sarkar S