Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Wait-free data structures in the asynchronous PRAM model
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lock-free data structures
Operating System Concepts, 4th Ed.
Operating System Concepts, 4th Ed.
High performance dynamic lock-free hash tables and list-based sets
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
Safe memory reclamation for dynamic lock-free objects using atomic reads and writes
Proceedings of the twenty-first annual symposium on Principles of distributed computing
WOSP '02 Proceedings of the 3rd international workshop on Software and performance
Priority Inheritance Protocols: An Approach to Real-Time Synchronization
IEEE Transactions on Computers
A Pragmatic Implementation of Non-blocking Linked-Lists
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
Fast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Correction of a Memory Management Method for Lock-Free Data Structures
Correction of a Memory Management Method for Lock-Free Data Structures
Lock-free linked lists and skip lists
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Lock-free dynamic hash tables with open addressing
Distributed Computing - Special issue: PODC 02
Lock-free parallel and concurrent garbage collection by mark&sweep
Science of Computer Programming
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
Lock-free deques and doubly linked lists
Journal of Parallel and Distributed Computing
NOBLE: non-blocking programming support via lock-free shared abstract data types
ACM SIGARCH Computer Architecture News
Supporting lock-free composition of concurrent data objects
Proceedings of the 7th ACM international conference on Computing frontiers
Non-blocking binary search trees
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Lock-Free parallel garbage collection
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Non-blocking k-ary search trees
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Towards a software transactional memory for graphics processors
EG PGV'10 Proceedings of the 10th Eurographics conference on Parallel Graphics and Visualization
Brief announcement: a contention-friendly, non-blocking skip list
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Fast concurrent lock-free binary search trees
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
We present an efficient and practical lock-free implementation of a concurrent dictionary that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. Many algorithms for concurrent dictionaries are based on mutual exclusion. However, mutual exclusion causes blocking which has several drawbacks and degrades the system's overall performance. Non-blocking algorithms avoid blocking, and are either lockfree or wait-free. Our algorithm is based on the randomized sequential list structure called Skiplist, and implements the full set of operations on a dictionary that is suitable for practical settings. In our performance evaluation we compare our algorithm with the most efficient non-blocking implementation of dictionaries known. The experimental results clearly show that our algorithm outperforms the other lockfree algorithm for dictionaries with realistic sizes, both on fully concurrent as well as pre-emptive systems.