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 ×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.
| Original language | English |
|---|---|
| Article number | 6844158 |
| Pages (from-to) | 1910-1922 |
| Number of pages | 13 |
| Journal | IEEE Transactions on Parallel and Distributed Systems |
| Volume | 26 |
| Issue number | 7 |
| DOIs | |
| State | Published - 1 Jul 2015 |
Keywords
- combining-based queue
- compare-and-swap
- Concurrent queue
- lock-free queue
- memory reclamation
- swap
Fingerprint
Dive into the research topics of 'Integrating Lock-Free and Combining Techniques for a Practical and Scalable FIFO Queue'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver