1. Integrating Lock-Free and Combining Techniques for a Practical and Scalable FIFO Queue
- Author
-
Young Ik Eom and Changwoo Min
- Subjects
Queue management system ,Computer science ,Distributed computing ,Parallel computing ,Multilevel feedback queue ,Bottleneck ,Computational Theory and Mathematics ,Multilevel queue ,Hardware and Architecture ,Signal Processing ,Non-blocking algorithm ,Double-ended queue ,Priority queue ,Queue - Abstract
Concurrent FIFO queues can be generally classified into lock-free queues and combining-based queues. Lock-free queues require manual parameter tuning to control the contention level of parallel execution, while combining-based queues encounter a bottleneck of single-threaded sequential combiner executions at a high concurrency level. In this paper, we introduce a different approach using both lock-free techniques and combining techniques synergistically to design a practical and scalable concurrent queue algorithm. As a result, we have achieved high scalability without any parameter tuning: on an 80-thread average throughput in our experimental results, our queue algorithm outperforms the most widely used Michael and Scott queue by 14.3 times, the best-performing combining-based queue by 1.6 times, and the best performing $\times$ 86-dependent lock-free queue by 1.7 percent. In addition, we designed our algorithm in such a way that the life cycle of a node is the same as that of its element. This has huge advantages over prior work: efficient implementation is possible without dedicated memory management schemes, which are supported only in some languages, may cause a performance bottleneck, or are patented. Moreover, the synchronized life cycle between an element and its node enables application developers to further optimize memory management.
- Published
- 2015