Read-modify-write networks

  • Authors:
  • Panagiota Fatourou;Maurice Herlihy

  • Affiliations:
  • Department of Computer Science, University of Ioannina, P.O. Box 1186, 45110 Ioannina, Greece;Department of Computer Science, Brown University, Providence, RI

  • Venue:
  • Distributed Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

A read-modify-write register for a set of functions F provices an operation that atomically (1) returns the variable's current value v, and (2) replaces that value with f(v), where f is a function in F.A read-modify-write network is a distributed data structure that implements a concurrent, lock-free, low-contention read-modify-write register. For example, counting networks ([3]) are a family of read-modify-write networks that support atomic increments and decrements.We consider the problem of constructing read-modifywrite networks for particular sets of functions. Of particular interest are the read-modify-write networks fetch&add, which add to the value an arbitrary number, and fetch&mul, which multiply the value by an arbitrary number.We identify a simple algebraic property of the function set F that requires any distributed read-modify-write implementation for F to have high latency. Any such network has sequential executions in which each token traverses a number of switching elements essentially linear in the number of processes. By contrast, there exist counting networks ([9,18]) in which tokens traverse a logarithmic number of switches.We provide a matching upper bound for a large class of read-modify-write networks including fetch&add, fetch&mul, and related networks of interest.