Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple and correct shared-queue algorithm using compare-and-swap
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
OPODIS'07 Proceedings of the 11th international conference on Principles of distributed systems
Flat combining and the synchronization-parallelism tradeoff
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Laws of order: expensive synchronization in concurrent algorithms cannot be eliminated
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Revisiting the combining synchronization technique
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Hi-index | 0.00 |
We present asymmetric flat-combining, an extension of flat-combining in which the behavior of producers and consumers differs, and use it to implement a linearizable FIFO queue. Unlike a at-combining queue where all queue operations are blocking, in our algorithm enqueue operations are wait-free. Moreover, non-combiner threads performing dequeue operations are able to share the computational load instead of just waiting. Our experimental evaluation shows that the new queue algorithm outperforms the at combining queue and other state of the art queue implementations for most producer-consumer workloads while allowing producer threads to operate in a wait-free manner.