Linearizable Counting Networks

The counting problem requires n asynchronous processors 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 timestamp generation, as wel...

Full description

Bibliographic Details
Main Authors: Merlihy, Maurice, Shavit, Nir, Waarts, Orli
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149186
_version_ 1826210680733171712
author Merlihy, Maurice
Shavit, Nir
Waarts, Orli
author_facet Merlihy, Maurice
Shavit, Nir
Waarts, Orli
author_sort Merlihy, Maurice
collection MIT
description The counting problem requires n asynchronous processors 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 timestamp 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 processors 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 processors are required to wait for one another, and how long it takes a processor 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 processors synchornize at a single variable, avoids waiting and has low latency, but has high contention. In this paper we give two new counting network constructions, one with low latency and low contention, but that requires processors 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.
first_indexed 2024-09-23T14:53:47Z
id mit-1721.1/149186
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T14:53:47Z
publishDate 2023
record_format dspace
spelling mit-1721.1/1491862023-03-30T03:20:47Z Linearizable Counting Networks Merlihy, Maurice Shavit, Nir Waarts, Orli The counting problem requires n asynchronous processors 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 timestamp 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 processors 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 processors are required to wait for one another, and how long it takes a processor 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 processors synchornize at a single variable, avoids waiting and has low latency, but has high contention. In this paper we give two new counting network constructions, one with low latency and low contention, but that requires processors 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. 2023-03-29T14:35:34Z 2023-03-29T14:35:34Z 1991-11 https://hdl.handle.net/1721.1/149186 25856186 MIT-LCS-TM-459 application/pdf
spellingShingle Merlihy, Maurice
Shavit, Nir
Waarts, Orli
Linearizable Counting Networks
title Linearizable Counting Networks
title_full Linearizable Counting Networks
title_fullStr Linearizable Counting Networks
title_full_unstemmed Linearizable Counting Networks
title_short Linearizable Counting Networks
title_sort linearizable counting networks
url https://hdl.handle.net/1721.1/149186
work_keys_str_mv AT merlihymaurice linearizablecountingnetworks
AT shavitnir linearizablecountingnetworks
AT waartsorli linearizablecountingnetworks