Affiliation:
1. Massachusetts Institute of Technology, Cambridge
Abstract
Atomic actions (or transactions) are useful for coping with concurrency and failures. One way of ensuring atomicity of actions is to implement applications in terms of
atomic data types
: abstract data types whose objects ensure serializability and recoverability of actions using them. Many atomic types can be implemented to provide high levels of concurrency by taking advantage of algebraic properties of the type's operations, for example, that certain operations commute. In this paper we analyze the level of concurrency permitted by an atomic type. We introduce several local constraints on individual objects that suffice to ensure global atomicity of actions; we call these constraints
local atomicity properties
. We present three local atomicity properties, each of which is
optimal
: no strictly weaker local constraint on objects suffices to ensure global atomicity for actions. Thus, the local atomicity properties define precise limits on the amount of concurrency that can be permitted by an atomic type.
Publisher
Association for Computing Machinery (ACM)
Cited by
75 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Last-use opacity: a strong safety property for transactional memory with prerelease support;Distributed Computing;2022-04-17
2. Version Reconciliation for Collaborative Databases;Proceedings of the ACM Symposium on Cloud Computing;2021-11
3. Bibliography;The Art of Multiprocessor Programming;2021
4. Concurrent objects;The Art of Multiprocessor Programming;2021
5. FPGA-Accelerated Optimistic Concurrency Control for Transactional Memory;Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture;2019-10-12