next up previous
Next: 1.2 Our approach to Up: 1 Introduction Previous: 1 Introduction

1.1 Past work on routing

In 1965 Benes [6] showed that the inputs and outputs of an N-node Benes network (two back-to-back butterfly networks) can be connected in any permutation by a set of disjoint paths. Shortly thereafter Waksman [40] devised a simple sequential algorithm for finding the paths in tex2html_wrap_inline1813 time. Given the paths, it is straightforward to route a set of packets from the inputs to the outputs an N-node Benes network in any one-to-one fashion in tex2html_wrap_inline1817 steps using queues of size 1. A one-to-one routing problem like this is also called a permutation routing problem. Although the inputs comprise only tex2html_wrap_inline1819 nodes in an N-node Benes network, it is possible to route any permutation of N packets in tex2html_wrap_inline1825 steps by pipelining tex2html_wrap_inline1827 such permutations. Unfortunately, no efficient parallel algorithm for finding the paths is known.

In 1968 Batcher [4] devised an elegant and practical parallel algorithm for sorting N packets on an N-node shuffle-exchange network in tex2html_wrap_inline1833 stepsgif using queues of size 1. The algorithm can be used to route any permutation of packets by sorting based on destination address. The result extends to routing many-one problems provided that (as is typically assumed) two packets with the same destination can be combined to form a single packet should they meet en route to their destination.

No better deterministic algorithm was found until 1983, when Ajtai, Komlós, and Szemerédi [1] solved a classic open problem by constructing an tex2html_wrap_inline1843 -depth sorting network. Leighton [16] then used this tex2html_wrap_inline1845 -node network to construct a degree 3 N-node network capable of solving any N-packet routing problem in tex2html_wrap_inline1851 steps using queues of size 1. Although this result is optimal up to constant factors, the constant factors are quite large and the algorithm is of no practical use. Hence, the effort to find fast deterministic algorithms has continued. Recently Upfal discovered an tex2html_wrap_inline1853 -step algorithm for routing on an expander-based network called the multibutterfly [37]. The algorithm solves the routing problem directly without reducing it to sorting, and the constant factors are much smaller than those of the AKS-based algorithms. In [18], Leighton and Maggs show that the multibutterfly is fault tolerant and improve the constant factors in Upfal's algorithm.

There has also been great success in the development of efficient randomized packet routing algorithms. The study of randomized algorithms was pioneered by Valiant [38] who showed how to route any permutation of N packets in tex2html_wrap_inline1857 steps on an N-node hypercube with queues of size tex2html_wrap_inline1861 at each node. Valiant's idea was to route each packet to a randomly-chosen intermediate destination before routing it to its true destination. Although the algorithm is not guaranteed to deliver all of the packets within tex2html_wrap_inline1863 steps, for any permutation it does so with high probability. In particular, the probability that the algorithm fails to deliver the packets within tex2html_wrap_inline1865 steps is at most tex2html_wrap_inline1867 , for any fixed constant k. (The value of k can be made arbitrarily large by increasing the constant in the tex2html_wrap_inline1873 bound.) Throughout this paper, we shall use the phrase with high probability to mean with probability at least tex2html_wrap_inline1875 for any fixed constant k, where N is the number of packets.

Valiant's result was improved in a succession of papers by Aleliunas [2], Upfal [36], Pippenger [26], and Ranade [29]. Aleliunas and Upfal developed the notion of a delay path and showed how to route on the shuffle-exchange and butterfly networks (respectively) in tex2html_wrap_inline1881 steps with queues of size tex2html_wrap_inline1883 . Pippenger was the first to eliminate the need for large queues, and showed how to route on a variant of the butterfly in tex2html_wrap_inline1885 steps with queues of size tex2html_wrap_inline1887 . Ranade showed how combining could be used to extend the Pippenger result to include many-one routing problems, and tremendously simplified the analysis required to prove such a result. As a consequence, it has finally become possible to simulate a step of an N-processor CRCW PRAM on an N-node butterfly or hypercube in tex2html_wrap_inline1893 steps using constant-size queues on each edge.

Concurrent with the development of these hypercube-related packet routing algorithms has been the development of algorithms for routing in meshes. The randomized algorithm of Valiant and Brebner can be used to route any permutation of N packets on a tex2html_wrap_inline1897 mesh in tex2html_wrap_inline1899 steps using queues of size tex2html_wrap_inline1901 . Kunde [14] showed how to route deterministically in tex2html_wrap_inline1903 steps using queues of size tex2html_wrap_inline1905 . Also, Krizanc, Rajasekaran, and Tsantilis [13] showed how to randomly route any permutation in tex2html_wrap_inline1907 steps using constant-size queues. Most recently, Leighton, Makedon, and Tollis discovered a deterministic algorithm for routing any permutation in tex2html_wrap_inline1909 steps using constant-size queues [19], thus achieving the optimal time bound in the worst case.



next up previous
Next: 1.2 Our approach to Up: 1 Introduction Previous: 1 Introduction



Bruce Maggs
Mon Jul 22 22:57:44 EDT 1996