On the Cost of Concurrency in Transactional Memory
Srivatsan Ravi

TL;DR
This paper investigates the inherent costs of achieving high concurrency in transactional memory systems, aiming to balance ease of programming with efficient utilization of multicore architectures.
Contribution
It analyzes the fundamental costs associated with concurrency in transactional memory, providing insights into the trade-offs involved.
Findings
High concurrency incurs significant overheads
Trade-offs exist between concurrency and performance
Transactional memory can simplify parallel programming
Abstract
Traditional techniques for synchronization are based on \emph{locking} that provides threads with exclusive access to shared data. \emph{Coarse-grained} locking typically forces threads to access large amounts of data sequentially and, thus, does not fully exploit hardware concurrency. Program-specific \emph{fine-grained} locking or \emph{non-blocking} (\emph{i.e.}, not using locks) synchronization, on the other hand, is a dark art to most programmers and trusted to the wisdom of a few computing experts. Thus, it is appealing to seek a middle ground between these two extremes: a synchronization mechanism that relieves the programmer of the overhead of reasoning about data conflicts that may arise from concurrent operations without severely limiting the program's performance. The \emph{Transactional Memory (TM)} abstraction is proposed as such a mechanism: it intends to combine an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
