Fast and lock-free concurrent priority queues for multi-thread systems

@article{Sundell2003FastAL,
  title={Fast and lock-free concurrent priority queues for multi-thread systems},
  author={H{\aa}kan Sundell and Philippas Tsigas},
  journal={Proceedings International Parallel and Distributed Processing Symposium},
  year={2003},
  pages={11 pp.-}
}
  • Håkan Sundell, P. Tsigas
  • Published 2003
  • Computer Science
  • Proceedings International Parallel and Distributed Processing Symposium
We present an efficient and practical lock-free implementation of a concurrent priority queue that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. Many algorithms for concurrent priority queues 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 lock-free or wait-free… Expand
Fast and lock-free concurrent priority queues for multi-thread systems
We present an efficient and practical lock-free implementation of a concurrent priority queue that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptiveExpand
The Contention Avoiding Concurrent Priority Queue
TLDR
This work presents the contention avoiding concurrent priority queue (CA-PQ), a data structure that functions as a linearizable concurrent priority with traditional semantics under low contention, but activates contention avoiding techniques that give it more relaxed semantics when high contention is detected. Expand
A survey of concurrent priority queue algorithms
TLDR
It is found that a simple lock-based approach performs reasonable well, even though it does not scale with the number of threads, and better scalability is achieved by non-blocking approaches. Expand
Preemption Adaptivity in Time-Published Queue-Based Spin Locks
TLDR
Results show that time-published locks make it feasible, for the first time, to use queue-based spin locks on multiprogrammed systems with a standard kernel interface. Expand
Synchronization and concurrency in user-level software systems
TLDR
This work expands the options available to programmers for preemption-tolerant synchronization in user-level software applications by furthering the state of the art in locks, nonblocking algorithms, and transactional memory. Expand
NBmalloc: Allocating Memory in a Lock-Free Manner
TLDR
The design and implementation of NBmalloc is shown, a lock-free memory allocator designed to enhance the parallelism in the system, inspired by Hoard, with modular design that preserves scalability and helps avoiding false-sharing and heap-blowup. Expand
Efficient Implementation of Concurrent Data Structures on Multi-core and Many-core Architectures
TLDR
The lock-free BST presented in this thesis is the first to achieve an amortized complexity of O(H(n)+c) for all Set operations where H(n) is the height of a BST on n nodes and c is the contention measure. Expand
Techniques for Building Highly Concurrent Data Structures
TLDR
This dissertation presents several novel techniques for concurrently accessing shared data structures in shared memory multi-processor/multicore machines, and introduces the TL2 finegrained locking scheme based on a global clock, a scheme that deals with many important practical aspects of STM implementation: low overhead, involunerability to inconsistent states, and compatibility with non-custommemorymanagement. Expand
CAS-Based Lock-Free Algorithm for Shared Deques
This paper presents the first lock-free algorithm for shared double-ended queues (deques) based on the single-address atomic primitives CAS (Compare-and-Swap) or LL/SC (Load-Linked andExpand
The Adaptive Priority Queue with Elimination and Combining
TLDR
Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for parallelism of the add() operations, and methods such as Flat Combining have been proposed to reduce contention. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 32 REFERENCES
Fast and lock-free concurrent priority queues for multi-thread systems
We present an efficient and practical lock-free implementation of a concurrent priority queue that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptiveExpand
Scalable and lock-free concurrent dictionaries
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-emptiveExpand
Practical lock-freedom
TLDR
This dissertation introduces and evaluates practical abstractions and data structures that facilitate the development of large-scale lock-free systems and presents an implementation of two useful abstractions that make it easier to develop arbitrary lock- free data structures. Expand
Efficient Wait-Free Implementation of a Concurrent Priority Queue
TLDR
An efficient wait-free implementation of a concurrent priorityqueue in the asynchronous shared memory computational model that is effectively parallel, meaning that all processes can operate effectively on the object, such that the throughput increases as the number of processes increases. Expand
Skiplist-based concurrent priority queues
  • N. Shavit, Itay Lotan
  • Computer Science
  • Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000
  • 2000
TLDR
It is shown that a concurrent skiplist structure, following a simple set of modifications, provides a concurrent priority queue with a higher level of parallelism and significantly less contention than the fastest known heap-based algorithms. Expand
Space efficient wait-free buffer sharing in multiprocessor real-time systems based on timing information
  • Håkan Sundell, P. Tsigas
  • Computer Science
  • Proceedings Seventh International Conference on Real-Time Computing Systems and Applications
  • 2000
TLDR
This paper looks at a simple, elegant and easy-to-implement algorithm that implements a shared buffer but uses unbounded time-stamps, and shows how to bound the time-Stamps by using the timing information that is available in many real-time systems. Expand
Lock-free data structures
TLDR
This thesis presents lock-free data structures, algorithms, and memory management techniques for several common abstract data types that are as efficient, if not more so, than conventional approaches, and thus provide a practical alternative to using spin locks. Expand
Evaluating the performance of non-blocking synchronization on shared-memory multiprocessors
TLDR
The goal of this work was to provide an in depth understanding of how non-blocking can improve the performance of modern parallel applications by using the general translations that are provided in this paper. Expand
Wait-free synchronization
TLDR
A hierarchy of objects is derived such that no object at one level has a wait-free implementation in terms of objects at lower levels, and it is shown that atomic read/write registers, which have been the focus of much recent attention, are at the bottom of the hierarchy. Expand
Priority Queues and Sorting Methods for Parallel Simulation
TLDR
The authors examine the design, implementation, and experimental analysis of parallel priority queues for device and network simulation and develop a new, more general concurrent data structure based on distributed sorted lists, designed to provide dynamically balanced work allocation and efficient use of shared memory resources. Expand
...
1
2
3
4
...