BBQ: A Block-based Bounded Queue for Exchanging Data and Profiling
Jiawei Wang, Diogo Behrens, Ming Fu, Lilith Oberhauser, Jonas Oberhauser, Jitang Lei, Geng Chen, Hermann Härtig, Haibo Chen
Abstract
Concurrent bounded queues have been widely used for exchanging data and profiling in operating systems, databases, and multithreaded applications. The performance of state-ofthe-art queues is limited by the interference between multiple enqueues (enq-enq), multiple dequeues (deq-deq), or enqueues and dequeues (enq-deq), negatively affecting their latency and scalability. Although some existing designs employ optimizations to reduce deq-deq and enq-enq interference, they often neglect the enq-deq case. In fact, such partial optimizations may inadvertently increase interference elsewhere and result in performance degradation.
We present Block-based Bounded Queue (BBQ), a novel ringbuffer design that splits the entire buffer into multiple blocks. This eliminates enq-deq interference on concurrency control variables when producers and consumers operate on different blocks. Furthermore, the block-based design is amenable to existing optimizations, e.g., using the more scalable fetch-and-add instruction. Our evaluation shows that BBQ outperforms several industrial ringbuffers. For example, in single-producer/single-consumer micro-benchmarks, BBQ yields 11.3x to 42.4x higher throughput than the ringbuffers from Linux kernel, DPDK, Boost, and Folly libraries. In realworld scenarios, BBQ achieves up to 1.5x, 50.5x, and 11.1x performance improvements in benchmarks of DPDK, Linux io_uring, and Disruptor, respectively. We verified and optimized BBQ on weak memory models with a model-checkingbased framework.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext c04dbc46-ef96-4880-980c-dd9da262fc71Cited by top-tier papers6
- Towards Unified Analysis of GPU ConsistencyHaining Tong, Natalia Gavrilenko, Hernán Ponce de León, Keijo HeljankoASPLOS 2024 · 5 citations
- BWoS: Formally Verified Block-based Work Stealing for Parallel ProcessingJiawei Wang, Bohdan Trach, Ming Fu, Diogo Behrens et al.OSDI 2023 · 5 citations
- Using Dynamically Layered Definite Releases for Verifying the RefFS File SystemMo Zou, Dong Du, Mingkai Dong, Haibo ChenOSDI 2024 · 4 citations
- Blowfish: Elastic Virtual Machine Memory for Disaggregated MemoryYulong Zhang, Yilong Luo, Diyu Zhou, Quan Chen et al.OSDI 2026
- BURST: Seeking High-performance, Interoperability and Scalability in Soft-RDMAHuijun Shen, Zelong Yue, Jian Yang, Zhuo Jiang et al.NSDI 2026
Builds on3
- VSync: push-button verification and optimization for synchronization primitives on weak memory modelsJonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu et al.ASPLOS 2021 · 40 citations
- Making weak memory models fairOri Lahav, Egor Namakonov, Jonas Oberhauser, Anton Podkopaev et al.OOPSLA 2021 · 21 citations
- Scaling concurrent queues by using HTM to profit from failed atomic operationsOr Ostrovsky, Adam MorrisonPPoPP 2020 · 6 citations
Related papers
- Disentangling the Dual Role of NIC Receive RingsBoris Pismenny, Adam Morrison, Dan TsafrirOSDI 2025 · 2 citations
- RB2: Narrow the Gap between RDMA Abstraction and Performance via a Middle LayerHaifeng Sun, Yixuan Tan, Yongtong Wu, Jiaqi Zhu et al.INFOCOM 2024 · 1 citation
- SKQ: Event Scheduling for Optimizing Tail Latency in a Traditional OS KernelSiyao Zhao, Haoyu Gu, Ali José MashtizadehUSENIX ATC 2021 · 11 citations
- Count-Based Abstractions for Performance Verification of Contention PointsAmir Seyhani, Aarti Gupta, David Walker, Mina Tahmasbi ArashlooNSDI 2026
- BBQ: A Fast and Scalable Integer Priority Queue for Hardware Packet SchedulingNirav Atre, Hugo Sadok, Justine SherryNSDI 2024 · 12 citations
