Back to Search
Start Over
LOFT
- Source :
- PPoPP
- Publication Year :
- 2019
- Publisher :
- ACM, 2019.
-
Abstract
- Concurrent data structures are widely used in modern multicore architectures, providing atomicity (linearizability) for each concurrent operation. However, it is often desirable to execute several operations on multiple data structures atomically. We present a design of a transactional framework supporting linearizable transactions of multiple operations on multiple data structures in a lock-free manner. Our design uses a helping mechanism to obtain lock-freedom, and an advanced lock-free contention management mechanism to mitigate the effects of aborting transactions. When cyclic helping conflicts are detected, the contention manager reorders the conflicting transactions execution allowing all transactions to complete with minimal delay. To exemplify this framework we implement a transactional set using a skip-list, a transactional queue, and a transactional register. We present an evaluation of the system showing that we outperform general software transactional memory, and are competitive with lock-based transactional data structures.
- Subjects :
- 020203 distributed computing
Atomicity
Linearizability
Record locking
Concurrent data structure
Computer science
Distributed computing
020207 software engineering
02 engineering and technology
Transactional leadership
0202 electrical engineering, electronic engineering, information engineering
Non-blocking algorithm
Software transactional memory
Queue
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming
- Accession number :
- edsair.doi...........694e55dbcebd13acedbb9d69842a6ae3