Simple algorithms for routing on butterfly networks with bounded queues

This paper examines several simple algorithms for routing packets on butterfly networks with bounded queues. We show that for any pure queuing protocol, a routing problem in which each of the <italic>N</italic> inputs sends a packet to a randomly chosen output requires <italic>O</italic>(log <italic>N</italic>) steps, with high probability, provided that the queue size is a sufficiently large, but fixed, constant. We also show that for any deterministic non-predictive queuing protocol, there exists a permutation that requires &OHgr;(<italic>N</italic>/<italic>q</italic> log <italic>N</italic>) time to route, where <italic>q</italic> is the maximum queue size. We present a new algorithm for routing a random problem on a fully-loaded butterfly with bounded-size queues in <italic>O</italic>(log <italic>N</italic>) steps, with high probability. The algorithm is simpler than the previous algorithms of Ranade and Pippenger because it does not use ghost messages, it does not compare the ranks or destinations of packets as they pass through a switch, and it cannot deadlock. Finally, using Valiant's idea of random intermediate destinations, we generalize a result of Koch's by showing that, if each wire can support <italic>q</italic> messages, then for any permutation, the expected number of messages that succeed in locking down paths from their origins to their destinations in back-to-back butterflies is &OHgr;(<italic>N</italic>(log <italic>N</italic><supscrpt>1/<italic>q</italic></supscrpt>). The analysis also applies to store-and-forward algorithms that drop packets if they attempt to enter full queues.

[1]  Danny Krizanc Oblivious Routing with Limited Buffer Capacity , 1991, J. Comput. Syst. Sci..

[2]  Bruce M. Maggs,et al.  Randomized Routing and Sorting on Fixed-Connection Networks , 1994, J. Algorithms.

[3]  Bruce M. Maggs,et al.  Universal packet routing algorithms , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

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

[5]  Richard Koch Increasing the Size of a Network by a Constant Factor can Increase Performance by more than a Constant Factor , 1992, SIAM J. Comput..

[6]  Frank Thomson Leighton Introduction to parallel algorithms and architectures: arrays , 1992 .

[7]  Nobuhiko Koike,et al.  Parallel programming on Cenju : a multiprocessor system for modular circuit simulation , 1990 .

[8]  Romas Aleliunas,et al.  Randomized parallel communication (Preliminary Version) , 1982, PODC '82.

[9]  Arif Merchant,et al.  A Markov chain approximation for the analysis of banyan networks , 1991, SIGMETRICS '91.

[10]  T. Suzuki,et al.  Output‐buffer switch architecture for asynchronous transfer mode , 1989 .

[11]  J. Darroch On the Distribution of the Number of Successes in Independent Trials , 1964 .

[12]  Leslie G. Valiant,et al.  A Scheme for Fast Parallel Communication , 1982, SIAM J. Comput..

[13]  Leslie G. Valiant,et al.  Fast probabilistic algorithms for hamiltonian circuits and matchings , 1977, STOC '77.

[14]  Bruce M. Maggs,et al.  Fast algorithms for bit-serial routing on a hypercube , 1990, SPAA '90.

[15]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[16]  R.R. Kock Increasing the size of a network by a constant factor can increase performance by more than a constant factor , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[17]  Allan Borodin,et al.  Routing, merging and sorting on parallel models of computation , 1982, STOC '82.

[18]  Ted H. Szymanski,et al.  Markov chain analysis of packet-switched banyans with arbitrary switch sizes, queue sizes, link multiplicities and speedups , 1989, IEEE INFOCOM '89, Proceedings of the Eighth Annual Joint Conference of the IEEE Computer and Communications Societies.

[19]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[20]  Debasis Mitra,et al.  Randomized Parallel Communications , 1986, ICPP.

[21]  Leslie G. Valiant,et al.  Universal schemes for parallel communication , 1981, STOC '81.

[22]  Reza Rooholamini,et al.  Finding the right ATM switch for the market , 1994, Computer.

[23]  Marc Snir,et al.  The Performance of Multistage Interconnection Networks for Multiprocessors , 1983, IEEE Transactions on Computers.

[24]  L. G. Valiant,et al.  Communication issues in parallel computation , 1990 .

[25]  John N. Tsitsiklis,et al.  The efficiency of greedy routing in hypercubes and butterflies , 1991, SPAA '91.

[26]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .