Memory Bounds for Concurrent Bounded Queues

被引:0
|
作者
Aksenov, Vitaly [1 ]
Koval, Nikita [2 ]
Kuznetsov, Petr [3 ]
Paramonov, Anton [4 ]
机构
[1] City Univ London, London, England
[2] JetBrains, Amsterdam, Netherlands
[3] Inst Polytech Paris, Telecom Paris, Paris, France
[4] Ecole Polytech Fed Lausanne, Lausanne, Switzerland
关键词
concurrency; memory overhead; bounded queue; memory-optimality;
D O I
10.1145/3627535.3638497
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 nonblocking 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.
引用
收藏
页码:188 / 199
页数:12
相关论文
共 50 条
  • [1] Fast and Portable Concurrent FIFO Queues With Deterministic Memory Reclamation
    Giersch, Oliver
    Nolte, Joerg
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2022, 33 (03) : 604 - 616
  • [2] Restricted Memory-Friendly Lock-Free Bounded Queues
    Koval, Nikita
    Aksenov, Vitaly
    PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 433 - 434
  • [3] SOME BOUNDS FOR QUEUES
    MORI, M
    JOURNAL OF THE OPERATIONS RESEARCH SOCIETY OF JAPAN, 1975, 18 (3-4) : 152 - 181
  • [4] Bounded stacks, bags and queues
    Baeten, JCM
    Bergstra, JA
    CONCUR'97 : CONCURRENCY THEORY, 1997, 1243 : 104 - 118
  • [5] Bounded capacity priority queues
    Atkinson, MD
    Tulley, D
    THEORETICAL COMPUTER SCIENCE, 1997, 182 (1-2) : 145 - 157
  • [6] Implementation and Analysis of Distributed Relaxed Concurrent Queues in Remote Memory Access Model
    Paznikov, A. A.
    Anenkov, A. D.
    PROCEEDINGS OF THE 13TH INTERNATIONAL SYMPOSIUM INTELLIGENT SYSTEMS 2018 (INTELS'18), 2019, 150 : 654 - 662
  • [7] A simple, memory-efficient bounded concurrent timestamping algorithm
    Shikaripura, V
    Kshemkalyani, AD
    ALGORITHMS AND COMPUTATION, PROCEEDINGS, 2002, 2518 : 550 - 562
  • [8] Formal Verification of a Concurrent Bounded Queue in a Weak Memory Model
    Mevel, Glen
    Jourdan, Jacques-Henri
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [9] CAPACITY BOUNDS FOR MULTIRESOURCE QUEUES
    OMAHEN, KJ
    JOURNAL OF THE ACM, 1977, 24 (04) : 646 - 663
  • [10] Exponential Tail Bounds on Queues
    Jhunjhunwala P.
    Hurtado-Lange D.
    Theja Maguluri S.
    Performance Evaluation Review, 2023, 51 (02): : 24 - 26