Memory Bounds for Concurrent Bounded Queues
Aksenov, V.
ORCID: 0000-0001-9134-5490, Koval, N., Kuznetsov, P. & Paramonov, A. (2024).
Memory Bounds for Concurrent Bounded Queues.
In:
Proceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming.
PPoPP '24: 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, March 2 - 6, 2024, Edinburgh, UK.
doi: 10.1145/3627535.3638497
Abstract
Concurrent data structures often require additional memory for handling synchronization issues in addition to memory for storing elements. Depending on the amount of this additional memory, implementations can be more or less memory-friendly. A memory-optimal implementation enjoys the minimal possible memory overhead, which, in practice, reduces cache misses and unnecessary memory reclamation. In this paper, we discuss the memory-optimality of non-blocking bounded queues. Essentially, we investigate the possibility of constructing an implementation that utilizes a pre-allocated array to store elements and constant memory overhead, e.g., two positioning counters for enqueue(..) and dequeue() operations. Such an implementation can be readily constructed when the ABA problem is precluded, e.g., assuming that the hardware supports LL/SC instructions or all inserted elements are distinct. However, in the general case, we show that a memory-optimal non-blocking bounded queue incurs linear overhead in the number of concurrent processes. These results not only provide helpful intuition for concurrent algorithm developers but also open a new research avenue on the memory-optimality phenomenon in concurrent data structures.
| Publication Type: | Conference or Workshop Item (Paper) |
|---|---|
| Additional Information: | © 2024 Copyright held by the owner/author(s). Publication rights licensed to ACM Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org |
| Publisher Keywords: | concurrency, memory overhead, bounded queue, memory-optimality |
| Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science Q Science > QA Mathematics > QA76 Computer software |
| Departments: | School of Science & Technology School of Science & Technology > Department of Computer Science |
| SWORD Depositor: |
Download (605kB) | Preview
Export
Downloads
Downloads per month over past year
Metadata
Metadata