Counting Networks
Name
MIT-LCS-TM-451.pdf
Size
7.75 MB
Format
Adobe PDF
Checksum (MD5)
79f2f67c4ef09c2665abc95fc79bd9fd
Author(s) • •
Aspnes, James
Herlihy, Maurice
Shavit, Nir
Date Issued
June 1991
Series/Report no.
MIT-LCS-TM-451
Abstract
Many fundamental multi-processor coordination problems can be expressed as counting problems: processes must cooperate to assign successive values from a given range, such as addresses in memory of 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^2 n, using n log^2 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 creatueres, we provide experimental evidence that they outperform conventional synchronization techniques under a variety of circumstances.
Persistent DSpace Link