Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem
Communications of the ACM
Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Concurrent maintenance of skip lists
Concurrent maintenance of skip lists
Lock-free linked lists using compare-and-swap
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
A Pragmatic Implementation of Non-blocking Linked-Lists
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
Algorithms adapting to point contention
Journal of the ACM (JACM)
Split-ordered lists: lock-free extensible hash tables
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Lock-free linked lists and skip lists
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Long lived adaptive splitter and applications
Distributed Computing
Preserving order in a forest in less than logarithmic time
SFCS '75 Proceedings of the 16th Annual Symposium on Foundations of Computer Science
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
A practical concurrent binary search tree
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Pampoo: an efficient skip-trie based query processing framework for P2P systems
APPT'07 Proceedings of the 7th international conference on Advanced parallel processing technologies
Non-blocking binary search trees
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Concurrent tries with efficient non-blocking snapshots
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
STM in the small: trading generality for performance in software transactional memory
Proceedings of the 7th ACM european conference on Computer Systems
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
Hi-index | 0.00 |
To date, all concurrent search structures that can support predecessor queries have had depth logarithmic in m, the number of elements. This paper introduces the SkipTrie, a new concurrent search structure supporting predecessor queries in amortized expected O(log log u + c) steps, insertions and deletions in O(c log log u), and using O(m) space, where u is the size of the key space and c is the contention during the recent past. The SkipTrie is a probabilistically-balanced version of a y-fast trie consisting of a very shallow skiplist from which randomly chosen elements are inserted into a hash-table based x-fast trie. By inserting keys into the x-fast-trie probabilistically, we eliminate the need for rebalancing, and can provide a lock-free linearizable implementation. To the best of our knowledge, our proof of the amortized expected performance of the SkipTrie is the first such proof for a tree-based data structure.