Modular Baskets Queue
A modular version of the baskets queue of Hoffman, Shalev and Shavit is presented. It manipulates the head and tail using a novel object called load-link/increment-conditional, which admits implementations based solely on READ/WRITE instructions, as well as versions that internally use CAS. These variants offer flexibility in balancing simplicity and performance, and admits implementations that spread contention. While other components of the queue still require stronger atomic primitives such as CAS or FAI, this separation highlights the potential for designs that mitigate the seemingly inherent bottleneck in previous queue implementations that manipulate the head and tail using read-modify-write (RMW) instructions over a single shared register.
Authors
- Armando Castañeda (ORCID: https://orcid.org/0000-0002-8017-8639)
- Miguel Piña (ORCID: https://orcid.org/0000-0002-2135-2131)
Institutions
- Universidad Nacional Autónoma de México (MX)
Publication Details
- Published
- 2025-06-16
- DOI
- https://doi.org/10.1145/3743642.3743650
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 0.00