Affiliation:
1. University of Surrey, UK
Abstract
Transactional memory (TM) is an intensively studied synchronisation paradigm with many proposed implementations in software and hardware, and combinations thereof. However, TM under relaxed memory, e.g., C11 (the 2011 C/C++ standard) is still poorly understood, lacking rigorous foundations that support verifiable implementations. This paper addresses this gap by developing TMS2-ra, a relaxed operational TM specification. We integrate TMS2-ra with RC11 (the repaired C11 memory model that disallows load-buffering) to provide a formal semantics for TM libraries and their clients. We develop a logic, TARO, for verifying client programs that use TMS2-ra for synchronisation. We also show how TMS2-ra can be implemented by a C11 library, TML-ra, that uses relaxed and release-acquire atomics, yet guarantees the synchronisation properties required by TMS2-ra. We benchmark TML-ra and show that it outperforms its sequentially consistent counterpart in the STAMP benchmarks. Finally, we use a simulation-based verification technique to prove correctness of TML-ra. Our entire development is supported by the Isabelle/HOL proof assistant.
Funder
Engineering and Physical Sciences Research Council
Australian Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference81 articles.
1. Verification of programs under the release-acquire semantics
2. J. Alglave and P. Cousot. 2017. Ogre and Pythia: an invariance proof method for weak consistency models. In POPL G. Castagna and A. D. Gordon (Eds.). ACM 3–18. isbn:978-1-4503-4660-3 J. Alglave and P. Cousot. 2017. Ogre and Pythia: an invariance proof method for weak consistency models. In POPL G. Castagna and A. D. Gordon (Eds.). ACM 3–18. isbn:978-1-4503-4660-3
3. Herding Cats
4. A. Armstrong and B. Dongol . 2017. Modularising Opacity Verification for Hybrid Transactional Memory. In FORTE, A . Bouajjani and A. Silva (Eds.) (LNCS , Vol. 10321). Springer, 33– 49 . A. Armstrong and B. Dongol. 2017. Modularising Opacity Verification for Hybrid Transactional Memory. In FORTE, A. Bouajjani and A. Silva (Eds.) (LNCS, Vol. 10321). Springer, 33–49.
5. A. Armstrong , B. Dongol , and S. Doherty . 2017 . Proving Opacity via Linearizability: A Sound and Complete Method . In FORTE, A. Bouajjani and A. Silva (Eds.) (LNCS, Vol. 10321). Springer, 50– 66 . A. Armstrong, B. Dongol, and S. Doherty. 2017. Proving Opacity via Linearizability: A Sound and Complete Method. In FORTE, A. Bouajjani and A. Silva (Eds.) (LNCS, Vol. 10321). Springer, 50–66.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Verifying Read-Copy Update Under RC11;Software Engineering and Formal Methods;2023
2. Implementing and verifying release-acquire transactional memory in C11;Proceedings of the ACM on Programming Languages;2022-10-31