A Combinatorial Treatment of Balancing Networks

Balancing networks , originally introduced by Aspnes et al. (Proceedings of the 23rd Annual ACM Symposium on Theory of Computing , pp. 348-358, May 1991), represent a new class of distributed, low-contention data structures suitable for solving many fundamental multi-processor coordination problems that can be expressed as balancing problems . In this work, we present a mathematical study of the combinatorial structure of balancing networks, and a variety of its applications. Our study identifies important combinatorial transfer parameters of balancing networks. In turn, necessary and sufficient combinatorial conditions are established, expressed in terms of transfer parameters, which precisely characterize many important and well studied classes of balancing networks such as counting networks and smoothing networks . We propose these combinatorial conditions to be “balancing analogs” of the well known Zero-One principle holding for sorting networks Within the combinatorial framework we develop, our first application is in deriving combinatorial conditions, involving the transfer parameters, which precisely delimit the boundary between counting networks and sorting networks.

[1]  Eli Upfal,et al.  The token distribution problem , 1989, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[2]  Nikolaos Hardavellas,et al.  Notes on Sorting and Counting Networks (Extended Abstract) , 1993, WDAG.

[3]  Moti Yung,et al.  Coins, weights and contention in balancing networks , 1994, PODC '94.

[4]  Miroslaw Kutylowski,et al.  Fast and feasible periodic sorting networks of constant depth , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[5]  Richard A. Brualdi,et al.  Combinatorial matrix theory , 1991 .

[6]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

[7]  Nikolaos Hardavellas,et al.  Contention in counting networks , 1994, PODC '94.

[8]  Allan Gottlieb,et al.  Process coordination with fetch-and-increment , 1991, ASPLOS IV.

[9]  Maurice Herlihy,et al.  Low contention linearizable counting , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[10]  Maurice Herlihy,et al.  Contention in shared memory algorithms , 1993, JACM.

[11]  Hagit Attiya,et al.  Counting networks with arbitrary fan-out , 1992, SODA '92.

[12]  A. Agarwal,et al.  Adaptive backoff synchronization techniques , 1989, ISCA '89.

[13]  Michael E. Saks,et al.  The periodic balanced sorting network , 1989, JACM.

[14]  Marios Mavronicolas,et al.  Proving Correctness for Balancing Networks , 1994, Parallel Processing of Discrete Optimization Problems.

[15]  Trieu-Kien Truong,et al.  VLSI Architectures for Computing Multiplications and Inverses in GF(2m) , 1983, IEEE Transactions on Computers.

[16]  Stephen J. Garland,et al.  A Guide to LP, The Larch Prover , 1991 .

[17]  Maurice Herlihy,et al.  Low contention load balancing on large-scale multiprocessors , 1992, SPAA '92.

[18]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[19]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[20]  Michael Klugerman,et al.  Small-depth counting networks and related topics , 1994 .

[21]  C. Greg Plaxton,et al.  Small-depth counting networks , 1992, STOC '92.

[22]  Larry Rudolph,et al.  Efficient synchronization of multiprocessors with shared memory , 1988, TOPL.

[23]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[24]  Larry Rudolph,et al.  Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors , 1983, TOPL.

[25]  Maurice Herlihy,et al.  Counting networks , 1994, JACM.

[26]  Larry Rudolph,et al.  Efficient synchronization of multiprocessors with shared memory , 1986, PODC '86.

[27]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[28]  Marios Mavronicolas,et al.  A combinatorial treatment of balancing networks , 1994, PODC '94.

[29]  Harold S. Stone Database Applications of the FETCH-AND-ADD Instruction , 1984, IEEE Transactions on Computers.

[30]  Gadi Taubenfeld,et al.  A lower bound on wait-free counting , 1993, PODC '93.

[31]  Chong-Wei Xu,et al.  A Distributed Drafting Algorithm for Load Balancing , 1985, IEEE Transactions on Software Engineering.

[32]  Amnon Barak,et al.  A distributed load‐balancing policy for a multicomputer , 1985, Softw. Pract. Exp..

[33]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[34]  Eli Upfal,et al.  A simple load balancing scheme for task allocation in parallel machines , 1991, SPAA '91.

[35]  Gadi Taubenfeld,et al.  Public data structures: counters as a special case , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[36]  Nikolaos Hardavellas,et al.  Notes on Sorting and Counting Networks , 1993 .