journal article·2025-02-11Open access

Boundary-Aware Concurrent Queue: A Fast and Scalable Concurrent FIFO Queue on GPU Environments

Md. Sabbir Hossain Polak, David A. Troendle, Byunghyun Jang

Applied Sciences· Volume 15· Issue 4

Abstract

This paper presents Boundary-Aware Concurrent Queue (BACQ), a high-performance queue designed for modern GPUs, which focuses on high concurrency in massively parallel environments. BACQ operates at the warp level, leveraging intra-warp locality to improve throughput. A key to BACQ’s design is its ability to replace conflicting accesses to shared data with independent accesses to private data. It uses a ticket-based system to ensure fair ordering of operations and supports infinite growth of the head and tail across its ring buffer. The leader thread of each warp coordinates enqueue and dequeue operations, broadcasting offsets for intra-warp synchronization. BACQ dynamically adjusts operation priorities based on the queue’s state, especially as it approaches boundary conditions such as overfilling the buffer. It also uses a virtual caching layer for intra-warp communication, reducing memory latency. Rigorous benchmarking results show that BACQ outperforms the BWD (Broker Queue Work Distributor), the fastest known GPU queue, by more than 2× while preserving FIFO semantics. The paper demonstrates BACQ’s superior performance through real-world empirical evaluations.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Distributed systems and fault tolerance · Interconnection Networks and Systems · Real-Time Systems Scheduling

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Computer and Information Science, The University of Mississippi, 201 Weir Hall, University, Oxford, MS 38677, USA

Funding

National Science Foundation

References (23)

Show source-provided references
1. Valois, J.D. (1994, January 4–7). Implementing lock-free queues. Proceedings of the Seventh International Conference on Parallel and Distributed Computing Systems, Wailea, HI, USA.
2. Michael, M.M., and Scott, M.L. (1996, January 23–26). Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, PA, USA.10.21236/ADA309412 ↗
3. Tsigas, P., and Zhang, Y. (2001, January 4–6). A simple, fast and scalable non-blocking concurrent fifo queue for shared memory multiprocessor systems. Proceedings of the Thirteenth Annual ACM Symposium on Parallel Algorithms and Architectures, Heraklion, Greece.10.1145/378580.378611 ↗
4. Ladan-Mozes, E., and Shavit, N. (2004). An optimistic approach to lock-free FIFO queues. Distributed Computing: Proceedings of the 18th International Conference, DISC 2004, Amsterdam, The Netherlands, 4–7 October 2004, Springer. Proceedings 18.
5. Moir, M., Nussbaum, D., Shalev, O., and Shavit, N. (2005, January 18–20). Using elimination to implement scalable and lock-free fifo queues. Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, Las Vegas, NV, USA.10.1145/1073970.1074013 ↗
6. Hendler, D., Incze, I., Shavit, N., and Tzafrir, M. (2010, January 13–15). Flat combining and the synchronization-parallelism tradeoff. Proceedings of the Twenty-Second Annual ACM Symposium on Parallelism in Algorithms and Architectures, Thira, Greece.10.1145/1810479.1810540 ↗
7. Herlihy, M., Luchangco, V., and Moir, M. (2003, January 19–22). Obstruction-free synchronization: Double-ended queues as an example. Proceedings of the 23rd International Conference on Distributed Computing Systems, Providence, RI, USA.
8. Wait-free synchronization10.1145/114005.102808 ↗
9. Scogland, T.R., and Feng, W.c. (February, January 31). Design and evaluation of scalable concurrent queues for many-core architectures. Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, Austin, TX, USA.
10. Toward high-throughput algorithms on many-core architectures
11. Herlihy, M., Shavit, N., Luchangco, V., and Spear, M. (2020). The art of Multiprocessor Programming, Newnes.
12. Colvin, R., and Groves, L. (2005, January 16–20). Formal verification of an array-based nonblocking queue. Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’05), Washington, DC, USA.10.1109/ICECCS.2005.49 ↗
13. Shafiei, N. (2009). Non-blocking array-based algorithms for stacks and queues. Distributed Computing and Networking: Proceedings of the 10th International Conference, ICDCN 2009, Hyderabad, India, 3–6 January 2009, Springer. Proceedings 10.
14. Basic techniques for the efficient coordination of very large numbers of cooperating sequential processors10.1145/69624.357206 ↗
15. Morrison, A., and Afek, Y. (2013, January 23–27). Fast Concurrent Queues for x86 Processors. Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’13), Shenzhen, China.10.1145/2442516.2442527 ↗
16. Romanov, R., and Koval, N. (March, January 25). The State-of-the-Art LCRQ Concurrent Queue Algorithm Does NOT Require CAS2. Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP’23), Montreal, QC, Canada.
17. Kerbl, B., Kenzel, M., Mueller, J.H., Schmalstieg, D., and Steinberger, M. (2018, January 12–15). The broker queue: A fast, linearizable fifo queue for fine-granular work distribution on the gpu. Proceedings of the 2018 International Conference on Supercomputing, Beijing, China.10.1145/3205289.3205291 ↗
18. NVIDIA (2024). NVIDIA Ada GPU Architecture, Version 2.02, NVIDIA Corporation. Whitepaper.
19. Xiang, P., Yang, Y., and Zhou, H. (2014, January 15–19). Warp-level divergence in GPUs: Characterization, impact, and mitigation. Proceedings of the 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA), Orlando, FL, USA.10.1109/HPCA.2014.6835939 ↗
20. NVIDIA (2024). CUDA C++ Programming Guide, Release 12.4, NVIDIA Corporation.
21. Haas, A., Kirsch, C.M., Lippautz, M., and Payer, H. (2012, January 21–25). How FIFO is your concurrent FIFO queue?. Proceedings of the 2012 ACM Workshop on Relaxing Synchronization for Multicore and Manycore Scalability (RACES’12), Tucson, AZ, USA.10.1145/2414729.2414731 ↗
22. Kenzel, M., Lemme, S., Membarth, R., Kurtenacker, M., Devillers, H., Steinberger, M., and Slusallek, P. (2023, January 15–19). AnyQ: An Evaluation Framework for Massively Parallel Queue Algorithms. Proceedings of the 2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS), St. Petersburg, FL, USA.10.1109/IPDPS54959.2023.00079 ↗
23. Hazard pointers: Safe memory reclamation for lock-free objects10.1109/TPDS.2004.8 ↗