Optimism for Boosting Concurrency
@article{Gramoli2012OptimismFB, title={Optimism for Boosting Concurrency}, author={Vincent Gramoli and Petr Kuznetsov and Srivatsan Ravi}, journal={arXiv: Distributed, Parallel, and Cluster Computing}, year={2012} }
Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional memory. Yet, it is unclear which of these approaches better leverage the concurrency inherent to multi-cores.
In this paper, we compare the level of concurrency one can obtain by converting a sequential program into a concurrent one using optimistic or…
2 Citations
On the Cost of Concurrency in Transactional Memory
- Computer ScienceOPODIS
- 2011
The Transactional Memory abstraction is proposed as 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.
Think about Performance but Do Not Forget about Concurrency
- Computer Science
- 2014
This position paper argues in favor of studying concurrency rather than performance, arguing that predicting performance requires to be an expert in concurrent algorithms, programming languages and micro-architectures.
References
SHOWING 1-10 OF 55 REFERENCES
McRT-STM: a high performance software transactional memory system for a multi-core runtime
- Computer SciencePPoPP '06
- 2006
A software transactional memory (STM) system that is part of McRT, an experimental Multi-Core RunTime, and a detailed performance analysis of various STM design tradeoffs such as pessimistic versus optimistic concurrency, undo logging versus write buffering, and cache line based versus object based conflict detection are presented.
Apologizing versus asking permission: optimistic concurrency control for abstract data types
- Computer ScienceTODS
- 1990
Several new optimistic concurrency control techniques for objects in decentralized distributed systems are described here, their correctness and optimality properties are proved, and the circumstances under which each is likely to be useful are characterized.
On the Cost of Concurrency in Transactional Memory
- Computer ScienceOPODIS
- 2011
The Transactional Memory abstraction is proposed as 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.
Transactional Memory, 2nd edition
- Computer ScienceTransactional Memory
- 2010
This book presents an overview of the state of the art in the design and implementation of transactional memory systems, as of early spring 2010.
Software transactional memory
- Computer ScienceDistributed Computing
- 1997
STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, and outperforms Herlihy’s translation method for sufficiently large numbers of processors.
Transactional Locking II
- Computer ScienceDISC
- 2006
This paper introduces the transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm based on a combination of commit-time locking and a novel global version-clock based validation technique, which is ten-fold faster than a single lock.
The semantics of progress in lock-based transactional memory
- Computer SciencePOPL '09
- 2009
This paper is the first to formally define the progress semantics of lockbased TMs, which are considered the most effective in practice, and uses this semantics to reduce the problems of reasoning about the correctness and computability power of lock- based TMs to those of simple try-lock objects.
Brief announcement: transaction polymorphism
- Computer ScienceSPAA '11
- 2011
In this work, we present transaction polymorphism, a synchronization technique that consists of providing more control to the programmer than traditional (i.e., monomorphic) transactions to achieve…
Lowering the Overhead of Nonblocking Software Transactional Memory
- Computer Science
- 2006
This work considers the design of low-overhead, obstruction-free software transactional memory for non-garbage-collected languages and eliminates dynamic allocation of transactional metadata and co-locates data that are separate in other systems, thereby reducing the expected number of cache misses on the common-case code path.
NOrec: streamlining STM by abolishing ownership records
- Computer SciencePPoPP '10
- 2010
An ownership-record-free software transactional memory (STM) system that combines extremely low overhead with unusually clean semantics is presented, and the experience suggests that NOrec may be an ideal candidate for such a software system.