Affiliation:
1. University of Cambridge, Cambridge, United Kingdom
2. Brown University, Providence, RI, USA
Abstract
Traditional transactional memory systems suffer from overly conservative conflict detection, yielding so-called false conflicts, because they are based on fine-grained, low-level read/write conflicts. In response, the recent trend has been toward integrating various abstract data-type libraries using ad-hoc methods of high-level conflict detection. These proposals have led to improved performance but a lack of a unified theory has led to confusion in the literature.
We clarify these recent proposals by defining a generalization of transactional memory in which a transaction consists of coarse-grained (abstract data-type) operations rather than simple memory read/write operations. We provide semantics for both pessimistic (e.g. transactional boosting) and optimistic (e.g. traditional TMs and recent alternatives) execution. We show that both are included in the standard atomic semantics, yet find that the choice imposes different requirements on the coarse-grained operations: pessimistic requires operations be left-movers, optimistic requires right-movers. Finally, we discuss how the semantics applies to numerous TM implementation details discussed widely in the literature.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Decomposing Data Structure Commutativity Proofs with $$m\!n$$-Differencing;Lecture Notes in Computer Science;2021
2. Synthesizing Precise and Useful Commutativity Conditions;Journal of Automated Reasoning;2020-08-29
3. Dynamic Transactional Transformation;Concurrency and Computation: Practice and Experience;2020-04-03
4. Comparative study of high performance software rasterization techniques;Mathematica Montisnigri;2020
5. Wait-free Dynamic Transactions for Linked Data Structures;Proceedings of the 10th International Workshop on Programming Models and Applications for Multicores and Manycores - PMAM'19;2019