An efficient counting network
Costas Busch, Marios Mavronicolas · 2002
Counting networks were introduced as a new class of concurrent, distributed, low contention data structures suitable for implementing shared counters. Their structure is similar to that of sorting networks. High-performance asynchronous multiprocessing requires counting networks to both have small depth and incur low contention. In order to achieve this, we relax in this work the requirement that the input width of the counting network is equal to its output width. More specifically, we present an explicit, deterministic construction of a counting network with t input width and w output width, where t/spl les/w, t=2/sup k/ and w=p2/sup l/. This construction is practical and achieves depth O(lg/sup 2/ t) which is independent from the output width w. Furthermore, by taking w to be /spl Theta/(t lg t) it incurs an amortized contention of the order O((n lg t)/t), where n is the concurrency, which improves by a logarithmic factor over all previously known practical counting network constructions of width t.