Affiliation:
1. ARM, UK
2. Imperial College London, UK
Abstract
Weak memory models provide a complex, system-centric semantics for concurrent programs, while transactional memory (TM) provides a simpler, programmer-centric semantics. Both have been studied in detail, but their
combined
semantics is not well understood. This is problematic because such widely-used architectures and languages as x86, Power, and C++ all support TM, and all have weak memory models.
Our work aims to clarify the interplay between weak memory and TM by extending existing axiomatic weak memory models (x86, Power, ARMv8, and C++) with new rules for TM. Our formal models are backed by automated tooling that enables (1) the synthesis of tests for validating our models against existing implementations and (2) the model-checking of TM-related transformations, such as lock elision and compiling C++ transactions to hardware. A key finding is that a proposed TM extension to ARMv8 currently being considered within ARM Research is incompatible with lock elision without sacrificing portability or performance.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference54 articles.
1. Verification of Transactional Memory in POWER8
2. Weak ordering---a new definition
3. Jade Alglave Luc Maranget Susmit Sarkar and Peter Sewell. 2010. Fences in Weak Memory Models. In Computer Aided Verification (CAV). 10.1007/978-3-642-14295-6_25 Jade Alglave Luc Maranget Susmit Sarkar and Peter Sewell. 2010. Fences in Weak Memory Models. In Computer Aided Verification (CAV). 10.1007/978-3-642-14295-6_25
4. Herding Cats
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Crucible: Graphical Test Cases for Alloy Models;2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE);2023-10-09
2. Integrating Testing into the Alloy Model Development Workflow;2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS);2023-10-01
3. Live Programming for Finite Model Finders;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
4. A Study of Symmetry Breaking Predicates and Model Counting;Tools and Algorithms for the Construction and Analysis of Systems;2020
5. Modular transactions;Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming;2019-02-16