Adding Networks

  • Authors:
  • Panagiota Fatourou;Maurice Herlihy

  • Affiliations:
  • -;-

  • Venue:
  • DISC '01 Proceedings of the 15th International Conference on Distributed Computing
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

An adding network is a distributed data structure that supports a concurrent, lock-free, low-contention implementation of a fetch&add counter; a counting network is an instance of an adding network that supports only fetch&increment.We present a lower bound showing that adding networks have inherently high latency. Any adding network powerful enough to support addition by at least two values a and b, where |a| |b| 0, has sequential executions in which each token traverses 驴(n/c) switching elements, where n is the number of concurrent processes, and c is a quantity we call one-shot contention; for a large class of switching networks and for conventional counting networks the one-shot contention is constant. On the contrary, counting networks have O(log n) latency [4,7].This bound is tight. We present the first concurrent, lock-free, lowcontention networked data structure that supports arbitrary fetch&add operations.