Linearizable counting networks

被引:24
|
作者
Herlihy, M
Shavit, N
Waarts, O
机构
[1] TEL AVIV UNIV,IL-69978 TEL AVIV,ISRAEL
[2] UNIV CALIF BERKELEY,DIV COMP SCI,BERKELEY,CA
关键词
data structures; concurrency; contention; linearizability; counting networks;
D O I
10.1007/s004460050019
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The counting problem requires n asynchronous processes to assign themselves successive values. A solution is linearizable if the order of the values assigned reflects the real-time order in which they were requested. Linearizable counting lies at the heart of concurrent time-stamp generation, as well as concurrent implementations of shared counters, FIFO buffers, and similar data structures. We consider solutions to the linearizable counting problem in a multiprocessor architecture in which processes communicate by applying read-modify-write operations to a shared memory. Linearizable counting algorithms can be judged by three criteria: the memory contention produced, whether processes are required to wait for one another, and how long it takes a process to choose a value (the latency). A solution is ideal if it has low contention, low latency, and it eschews waiting. The conventional software solution, where processes synchronize at a single variable, avoids waiting and has low latency, but has high contention. In this paper we give two new constructions based on counting networks, one with low latency and low contention, but that requires processes to wait for one another, and one with low contention and no waiting, but that has high latency. Finally, we prove that these trade-offs are inescapable: an ideal linearizable counting algorithm is impossible. Since ideal non-linearizable counting algorithms exist, these results establish a substantial complexity gap between linearizable and non-linearizable counting.
引用
收藏
页码:193 / 203
页数:11
相关论文
共 50 条
  • [1] Sequentially consistent versus linearizable counting networks
    Marios Mavronicolas
    Michael Merritt
    Gadi Taubenfeld
    [J]. Distributed Computing, 2008, 21 : 249 - 269
  • [2] Sequentially consistent versus linearizable counting networks
    Mavronicolas, Marios
    Merritt, Michael
    Taubenfeld, Gadi
    [J]. DISTRIBUTED COMPUTING, 2008, 21 (04) : 249 - 269
  • [3] COUNTING NETWORKS
    ASPNES, J
    HERLIHY, M
    SHAVIT, N
    [J]. JOURNAL OF THE ACM, 1994, 41 (05) : 1020 - 1048
  • [4] Counting Phylogenetic Networks
    Colin McDiarmid
    Charles Semple
    Dominic Welsh
    [J]. Annals of Combinatorics, 2015, 19 : 205 - 224
  • [5] Vicinal Counting Networks
    Ranjan, Viresh
    Minh Hoai
    [J]. 2022 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION WORKSHOPS, CVPRW 2022, 2022, : 4220 - 4229
  • [6] Adaptive counting networks
    Tirthapura, S
    [J]. 25TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 2005, : 241 - 250
  • [7] Counting Phylogenetic Networks
    McDiarmid, Colin
    Semple, Charles
    Welsh, Dominic
    [J]. ANNALS OF COMBINATORICS, 2015, 19 (01) : 205 - 224
  • [8] LINEARIZABLE MAPPINGS
    RAMANI, A
    GRAMMATICOS, B
    KARRA, G
    [J]. PHYSICA A-STATISTICAL MECHANICS AND ITS APPLICATIONS, 1992, 180 (1-2) : 115 - 127
  • [9] LINEARIZABLE ORTHOLATTICES
    KRISTOF, J
    [J]. ACTA SCIENTIARUM MATHEMATICARUM, 1985, 49 (1-4): : 387 - 395
  • [10] Cache Networks of Counting Queues
    Li, Yuanyuan
    Ioannidis, Stratis
    [J]. IEEE-ACM TRANSACTIONS ON NETWORKING, 2021, 29 (06) : 2751 - 2764