Counting Networks

Abstract

Many fundamental multiprocessor coordination problems can be expressed as counting problems: processes must cooperate to assign successive values from a given range, such as addresses in memory or destinations on an interconnection network. Conventional solutions to these problems perform poorly because of synchronization bottlenecks and high memory contention. Motivated by observations on the behavior of sorting networks, we offer a completely new approach to solving such problems. We introduce a new class of networks called counting networks, i.e., networks that can be used to count. We give two counting network constructions of depth log square n, using n log square n gates, avoiding the sequential bottlenecks inherent to former solutions, and substantially lowering the memory contention. Finally, to show that counting networks are not merely mathematical creatures, we provide experimental evidence that they outperform conventional synchronization techniques under a variety of circumstances.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1991
Accession Number
ADA237475

Entities

People

  • James Aspnes
  • Maurice Herlihy
  • Nir Shavit

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Availability
  • Classification
  • Computations
  • Computer Science
  • Computers
  • Construction
  • Consumers
  • Contracts
  • Corporations
  • Multithreading
  • Parallel Computing
  • Parallel Processing
  • Processing Equipment
  • Security
  • Throughput
  • Width

Fields of Study

  • Computer science

Readers

  • Educational Psychology
  • Operations Research
  • Parallel and Distributed Computing.