4.1 History of Store-and-Forward Routing 43
steps, for any permutation it does so with high probability. In particular, the
probability that the algorithm falls to deliver the packets within O(logN)
steps is at most
1/N k,
for any constant k > 0. (The value of k can be made
arbitrarily large by increasing the constant in the O(log N) bound.) In the
following, we use the term "w.h.p." (with high probability) whenever we have
a probability of at least 1 -
1/N k
for any constant k > 0.
Valiant's result was improved in a succession of papers by Aleliunas [A182],
Upfal [Up82], Pippenger [Pi84], and Ranade [Ra87]. Aleliunas and Upfal de-
veloped the notion of a
delay path
and showed how to route on the shuffle-
exchange and butterfly of size N in O(log N) steps, w.h.p., using buffers of
size O(log N). Pippenger was the first to eliminate the need for large buffers,
and showed how to route on a variant of the butterfly in O(logN) steps,
w.h.p., with buffers of size O(1) [Pi84]. Ranade showed how combining can
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 O(log N)
steps, w.h.p., using constant-size buffers on each edge [Ra87]. Borodin
et al.
[BRSU93] further showed that any permutation can be routed in any s-ary
butterfly of size N in time O(log s N), w.h.p.
Concurrent with the development of these hypercube-related packet rout-
ing 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 (v/-N, 2)-mesh in O(v/-N) steps using
buffers of size O(log N). Kunde [Ku88] showed how to route deterministi-
cally in (2 + e)v/-N steps using buffers of size O(1/e). Krizanc
et al.
[KRT88]
showed how to route any permutation in 2v/-N + O(log N) steps, w.h.p., us-
ing constant-size buffers. Furthermore, Leighton
et al.
[LMT89] discovered a
deterministic algorithm for routing any permutation in 2v/N- 2 steps using
constant-size buffers, thus achieving the optimal time bound in the worst
case. In case of d-dimensional meshes, the results by Kunde [Ku91] and Suel
[Su94] imply that there is a deterministic protocol for routing any permuta-
tion in optimal time using constant size buffers. Kaklamanis
et al.
[KKR93a]
present a randomized hot-potato protocol that routes any permutation and
randomly chosen function in a d-dimensional torus of side length n in time
d. n + O(log 2 n), w.h.p.
4.1.2 Universal Routing
In the last years, also
universal
routing protocols have been developed, that is,
protocols that can be used for any communication pattern in any network.
The advantage of these protocols is that they can be quickly adapted to
topology changes that occur if new processors are added or some break down.
In 1988, Leighton
et al.
[LMR88] showed that for any simple path collection
with congestion C and dilation D there is an offline routing scheme that