Low-Congested Interval Routing Schemes for
Hypercube-Like Networks
∗Serafino Cicerone Gabriele Di Stefano
Department of Electrical Engineering, University of L’Aquila Monteluco di Roio, I-67040 L’Aquila - Italy.
{cicerone,gabriele}@infolab.ing.univaq.it
Michele Flammini
Department of Mathematics, University of L’Aquila Via Vetoio loc. Coppito, I-67100 L’Aquila - Italy.
October 24, 2003
Abstract
In this paper we provide low-congested Interval Routing Schemes (IRS) for some common interconnection networks such as butterflies, wrapped butterflies and cube connected cycles. In particular, by exploiting their hypercube-like structure, we show that 1-IRS and 2-IRS are already sufficient to get schemes with a congestion which is at most c times the optimal one, for low constant values of c. Moreover, a new lower bound on the congestion achievable by schemes for butterfly networks is provided, which improves upon the best previously known one [20].
1
Introduction
Interval Routing Schemes, or simply IRS, have been introduced in [19, 23, 24] with the purpose of minimizing the memory requirements at the various processors of interconnection networks for the distributed representation of the (shortest) paths.
In IRS, node-labels belong to the set {1, . . . , n}, while link-labels are pairs of node-labels representing disjoint intervals of [1, n]. To send a message m from a source u to a destination
v, m is transmitted by u on the (unique) link e = (u, w) such that the label of v belongs to the
interval associated with e.
As proved in [23, 24], for any network G there always exists an IRS which is valid, i.e. such that for all nodes u and v of G, messages from u to v reach v correctly, not necessarily routing along shortest paths.
In [19, 23, 24] it is shown how the IRS can be applied to route messages along shortest paths on particular network topologies, such as trees, rings, etc. In order to enable shortest path
∗Work partially supported by the EU ESPRIT Long Term Research Project ALCOM-IT under contract
routing for every network, in [24] the model has been extended to allow more than one interval to be associated with each link; in particular, a 2-IRS, i.e. a scheme associating at most 2 intervals per link, is proposed for 2-dimensional tori. Other characterization and computational complexity results related to k-IRS and compact routing schemes can be found in [8, 16, 13, 7, 6, 4] (see [9] for a survey).
Low-congested k-IRS have been first considered in [2] and [17]. Such an issue is crucial in parallel computation because good parallel model simulations and efficient routing scheduling algorithms are strongly related to the congestion of the path system routed by the messages [3, 10, 15]. Besides its theoretical interest, the combination of congestion problems with interval routing is relevant also for parallel implementation, since k-IRS have been used in the last generation of INMOS Transputer C104 Router chips together with wormhole routing [12], that is very sensitive to the congestion [3, 10]. Finally, this design goal is important also from a fault-tolerance point of view, as a link failure should not disconnect too many source-destination pairs.
The congestion of the path systems induced by the (not necessarily interval) routing schemes has been extensively investigated in the literature. For instance, in the all-to-all case, the min-imum achievable congestion corresponds to the notion of the edge forwarding index introduced in [11]. A similar vertex forwarding index measure taking into account the load of processors was defined in [1]. Various results on the minimization of the forwarding indeces for various graphs can be found in [1, 5, 11, 18, 20, 22, 21]. The best lower bounds on the edge forwarding index of the networks considered in the paper are as follows: (5/8)2dd2 for wrapped butterflies
of dimension d [20] (and thus with d · 2d nodes), (5/8)2dd2 for unwrapped butterflies [20] and
(5/4)2dd2 for cube connected cycles [17].
Concerning interval routing, in [2] it has been proved that constructing IRS with a low congestion is generally computationally difficult even for 1-IRS, while optimal and nearly optimal solutions have been given for some relevant interconnection networks with respect to the one-to-all and one-to-all-to-one-to-all communication patterns. Moreover, results are presented not related to specific traffic demands and when the communication requests vary over time.
In [17], in the all-to-all case, trade-offs between the number of intervals and the congestion of multi-dimensional IRS have been shown for bounded-degree networks, and optimally congested multi-dimensional IRS are given for cube connected cycles. Moreover, a new lower bound on the edge forwarding index and hence on the minimum congestion has been given for cube connected cycles.
In this paper we show that in the all-to-all case 1-IRS and 2-IRS are already sufficient to get schemes for butterflies, wrapped butterflies, and cube connected cycles with a congestion which is at most c times the optimal one, for low constant values of c. This is accomplished by exploiting their hypercube-like structure.
Moreover, we provide a new lower bound of (3/4)2dd2 on the edge forwarding index of butterfly networks, which improves on the bound (5/8)2dd2 of [20].
Even if we have not explicitly taken into account the length of the paths routed by the mes-sages, all the schemes have a dilation which is at most 2 or 3 times the diameter. Therefore, since the congestion and the maximum path length are asymptotically optimal, efficient scheduling algorithms can be obtained by exploiting the results in [3]. Moreover, if we restrict ourselves to packet routing, it is possible to route all the messages in time proportional to the congestion and thus to the edge forwarding index (see [15]). This is asymptotically optimal, because the edge forwarding index is a lower bound.
The paper is organized as follows. The next section contains the basic definitions. Section 3 shows some preliminary results, together with the new lower bound for the edge forwarding index of butterflies. In Section 4 we give a low-congested 2-IRS for butterflies. In Sections 5 and 6 we give low-congested 1-IRS respectively for wrapped butterflies and cube connected cycles. In Section 7 we present a 1-IRS for butterflies that simulates the scheme given for wrapped butterflies, and finally in Section 8 we give some conclusive remarks and discuss some open questions.
2
Notation and Definitions
The network topology is modeled as an undirected graph G = (V, E) with node set V represent-ing processors and edge set E representrepresent-ing the bidirectional links.
An Interval Labeling Scheme (ILS) [19, 23, 24] is based on a suitable labeling of the nodes and of the edges of the graph. Node labels belong to the set N = {0, 1, . . . , n − 1}, while edge labels represent disjoint intervals in N . An interval in N can be defined as [a, b] = {a, a + 1, . . . , b}. Intervals may wrap-around, that is if a > b then [a, b] = {a, a + 1, . . . , n − 1, 0, . . . , b}. We denote by l(v) the label of node v and by I(u, v) the interval assigned at u to edge {u, v}. The set of all intervals associated with the edges leaving the same node forms a partition of the interval
N . Messages to a destination node v are routed via the edge that is labeled with the interval
[a, b] containing l(v). An ILS is valid if, for all the nodes u and v of G, messages sent from u to v eventually reach v correctly. A valid ILS is sometimes called an Interval Routing Scheme (IRS for short).
In a k-ILS each edge is labeled with up to k intervals in N , always under the assumption that all the intervals associated with the edges emanating from the same node form a partition of N . A message with destination v is then routed on the link such that one of its intervals contains the label of v. A valid k-ILS is also called a k-IRS.
Given two nodes u, v in G, let p(u, v) denote the path used by a given routing strategy to route messages from u to v. A path system P of G is a set containing all possible n(n − 1) paths in G, that is, P = {p(u, v) | (u, v) ∈ V × V, u 6= v}. The set of all path systems of G is denoted as P(G).
Definition 2.1 Given a path system P in G, the congestion C(G, P, e) of an edge e ∈ E is
defined as the number of paths in P containing e, that is C(G, P, e) = |{p(u, v) ∈ P | e ∈ p(u, v)}|. The congestion C(G, P ) of P is the maximum edge congestion, that is C(G, P ) =
maxe∈E C(G, P, e).
As far as lower bounds on the achievable congestion are concerned, the edge forwarding index defined in [11] measures the minimum congestion of a path system in P(G).
Definition 2.2 Given a network G, the edge forwarding index of G is π(G) = minP ∈P(G) C(G, P ).
Any k-IRS for a network G induces a path system P in G in a trivial way. The congestion of the k-IRS is defined as C(G, P ).
Definition 2.3 A k-IRS which induces a path system P in a network G is said to be
c-competitive for a positive real number c if for any other k-IRS with induced path system P0 then CC(G,P(G,P )0) ≤ c + o(c).
The o(c) factor in the definition is included for convenience to eliminate negligible factors from the notation.
3
Preliminaries
In this section we give some preliminary results about k-IRS for hypercubes, which will be useful for determining low-congested schemes for the hypercube-like networks considered in the paper. Moreover, we provide a new lower bound on the edge forwarding index of butterflies.
A hypercube H(d) of dimension d has as nodes the 2d binary strings α ∈ {0, 1}d. Each
node α is joined by an edge to the d nodes α(i) such that 0 ≤ i ≤ d − 1, where if α =
αd−1αd−2. . . α0, α(i) is defined as α(i) = αd−1αd−2. . . αi+1(1 − αi)αi−1. . . α0, i.e. is the string
αd−1αd−2. . . αi+1αiαi−1. . . α0 differing from α only in the bit at position i + 1 (from the right).
For each 0 ≤ i < d, the edges {α, α(i)} are called edges of dimension i.
The following 1-IRS for H(d) will be useful in the next sections to provide low-congested schemes for butterflies, wrapped butterflies and cube connected cycles.
Given α ∈ {0, 1}d, let n
α be the positive integer whose binary encoding is α, i.e.
nα =
Pd−1
i=0αi2i. Then, each node α of H(d) receives node label l(α) = nα, and at
α the interval assigned to the incident edge {α, α(i)}, 0 ≤ i ≤ d − 1, is I(α, α(i)) =
[l(αd−1. . . αi+1αi0 . . . 0), l(αd−1. . . αi+1αi1 . . . 1)].
In [2], using a different definition of congestion as the congestion induced on the directed arcs of the equivalent symmetric directed graph representing the network, the following lemma has been proved.
Lemma 3.1 [2] In the above 1-IRS for H(d), the number of paths crossing any edge in a given
direction is equal to the number of paths crossing the edge in the reverse direction, which is equal to 2d−1.
Rephrasing the lemma, for any given node α in H(d), for any fixed dimension i such that 0 ≤ i ≤ d − 1, the number of paths leaving α along the edge in dimension i is 2d−1 and the number of paths arriving at α through the edge in dimension i is 2d−1. Clearly, as a direct
corollary, such a 1-IRS has congestion 2d, which is optimal as it coincides with π(H(d)).
Given any two intervals of node labels I and I0, let us denote by I ∪ I0 the at most two intervals resulting from the union of I and I0. In order to establish the number of intervals
needed in the schemes for the various hypercube-like networks, we prove that in the 1-IRS for
H(d) just introduced, the union of the interval [l(α), l(α)] with all the intervals associated with
edges {α, α(j)} for 0 ≤ j ≤ i forms a single interval, and analogously the union of all the intervals associated with edges {α, α(j)} for i ≤ j ≤ d − 1 forms another interval.
Lemma 3.2 In the above 1-IRS for H(d), at every node α and for every i such that 0 ≤ i ≤ d−1,
the following hold:
- [l(α), l(α)] ∪Sij=0I(α, α(j)) ≡ I for a suitable interval I; - Sd−1j=i I(α, α(j)) ≡ I0 for a suitable interval I0.
Proof. Given a binary string α = αd−1αd−2. . . α0, let us denote by T (αd−1αd−2. . . αi) the interval of labels [l(αd−1αd−2. . . αi0 . . . 0), l(αd−1αd−2. . . αi1 . . . 1)]. For the sake of brevity we
use Ti instead of T (αd−1αd−2. . . αi). By induction on i, we now prove that the required interval
I is equal to Ti+1.
We note that [l(α), l(α)] = T0 and I(α, α(i)) = T (α
d−1αd−2. . . αi) easily follow from the
definitions of Ti and the 1-IRS for H(d).
Now, by the inductive hypothesis assume that [l(α), l(α)] ∪ Si−1j=0I(α, α(j)) = Ti. Then,
it follows that [l(α), l(α)] ∪ Sij=0I(α, α(j)) = Ti ∪ I(α, α(i)) = T (α
d−1αd−2. . . αi) ∪
T (αd−1αd−2. . . αi) = T (αd−1αd−2. . . αi+1) = Ti+1.
Let us now prove that Sd−1j=i I(α, α(j)) is also an interval I0. From the above definitions, it
follows thatSd−1j=i I(α, α(j)) = [0, 2d−1] \ ([l(α), l(α)] ∪Si−1
j=0I(α, α(j))) = [0, 2d−1] \ Ti, i.e. I0 is
the interval obtained from the complement of Ti. 2
Before presenting the low-congested k-IRS in the next sections, let us finally provide a new lower bound on the edge forwarding index of butterflies.
A butterfly network of dimension d, denoted by BF(d), has as nodes the 2d(d + 1) pairs
(α, i) ∈ {0, 1}d × {0, . . . , d}, where α = α
d−1αd−2. . . α0 is a binary string of length d and
i ∈ {0, . . . , d} is an integer called level. BF(d) has 2d+1d edges: every node (α, i), 0 < i ≤ d, is
joined to node (α, i − 1) by a straight edge and to a node (α(i), i − 1) by a cross edge. Edges between levels i + 1 and i, 0 ≤ i < d, are called edges of dimension i.
All the d + 1 nodes (α, i) having a fixed string α induce a chain and form a row of BF(d). Each row α is numbered from 0 to 2d− 1 according to n
α.
The following lemma establishes a new lower bound on the edge forwarding index of BF(d). To the best of our knowledge the previously known lower bound was 582dd2 [20].
Lemma 3.3 π(BF(d)) ≥ 3
42d(d + 1)2− o(2dd2) for any integer d > 0.
Proof. We prove the lemma by showing that there exists a cut of 2d edges that disconnects a suitable number p of pairs of nodes that wish to communicate.
If we want to disconnect every node (α, i) such that αd−1 = 0 or i = d from all the nodes (β, j) with βd−1= 1 and j < d and vice versa, then it suffices remove the 2d edges of dimension
d−1 incident to the nodes (β, d−1) with βd−1= 1 (that is from part 1ato part 1b in Figure 1.a).
This cut disconnects a number of pairs at least equal to
p = 2 · 2d(d + 1 − 1)
2 ·
2d(d + 1 − 1)
2 .
The same discussion can be repeated if we want to disconnect every node (α, i) such that
αd−1 = 0 or i ≥ d − 1 from all the nodes (β, j) with βd−1 = 1 and j < d − 1. In this case the 2d edges consist of all the edges at dimension d − 2 incident to nodes (β, d − 2) with βd−1= 1.
But this cut has also the effect of disconnecting all the nodes (β, j) with βd−1 = 1, βd−2 = 0
and j < d − 1 from all the nodes (β0, j0) with β0
d−1 = 1, βd−20 = 1 and j0 < d − 1 (that is from
part 2a to part 2b in Figure 1.b). Therefore the cut disconnects a total number of pairs at least
equal to p = 2 · 2d(d + 1 − 2) 2 · 2d(d + 1 − 2) 2 + 2 · 2d(d + 1 − 2) 4 · 2d(d + 1 − 2) 4 .
Proceeding forward, the same cut at dimension d − 3 disconnects a number of pairs at least equal to
2d d + 1 3.2b 3.1b 3.2a d + 1 1b 1a (d + 1) − 1 (d + 1) − 3 2a 2b d + 1 (d + 1) − 2 3.1a (a) (b) (c) 2d
Figure 1: The cut of 2d edges in BF(d) used in Lemma 3.3.
p = 2·2d(d + 1 − 3) 2 · 2d(d + 1 − 3) 2 +2· 2d(d + 1 − 3) 4 · 2d(d + 1 − 3) 4 +2·2· 2d(d + 1 − 3) 8 · 2d(d + 1 − 3) 8 ,
with the last contribution due to pairs 3.1a-3.1b and 3.2a-3.2b in Figure 1.c.
Iterating the above argument, in general for the same kind of cut at a given dimension d − i, 1 ≤ i ≤ d, the number of disconnected pairs is at least
p = 2 · 2d(d+1−i)2 ·2d(d+1−i)2 +Pij=22j−1·2d(d+1−i)
2j ·2 d(d+1−i) 2j = 22d(d+1−i)2 2 + 22d(d + 1 − i)2 Pi j=2 2j+11 = 22d(d+1−i)2 2 + 22d(d + 1 − i)2 123 Pi−2 j=021j = 22d(d+1−i)2 2 + 22d(d + 1 − i)2 123 1− 1 2i−1 1 2 = 22d(d+1−i)2 2 + 22d(d + 1 − i)2(14 −2i+11 ) = 22d(d + 1 − i)2(3 4 −2i+11 ).
By letting i = log d we obtain
p = 3
42
2d(d + 1)2− o(22dd2).
Since the cut consists of 2d edges, for each possible path system P ∈ P(BF(d)) there must exist
at least one edge belonging to the cut traversed by a number of paths in P greater or equal to
p
2d, that is
π(BF(d)) ≥ 3
42
d(d + 1)2− o(2dd2).
4
Butterfly Networks
We now provide efficient schemes for butterfly networks. The network BF(d) has a hypercube-like structure, because collapsing all the nodes in the same row, i.e. all nodes (α, l) with a fixed
α, yields a hypercube H(d) of dimension d [14].
This property is fundamental in the construction of our low-congested k-IRS. In fact, a 2-IRS for BF(d) can be constructed that emulates the 1-2-IRS for H(d) introduced in the previous section between the rows of BF(d). Such an emulation requires one extra interval to cope with the routing inside the rows.
Let us introduce the 2-IRS for BF(d). In such a 2-IRS, the node labeling is defined as follows. Starting from the node (00 . . . 0, 0), which receives label 0, node labels are assigned in increasing order from level 0 to level d and from row 0 to row 2d− 1 until node (11 . . . 1, d) receives label
(d+1)2d−1. More formally, a node at level i in row n
αreceives the integer l(α, i) = nα·(d+1)+i.
Thus, while in the 1-IRS for H(d) a node α receives label nα, here we associate an interval of
labels from nα· (d + 1) to (nα+ 1) · (d + 1) − 1 to all the nodes belonging to row α.
Concerning the interval assignment, consider a row α = αd−1αd−2. . . α0 and for each i,
0 ≤ i < d, let the interval I(α, α(i)) = [l(αd−1. . . αi+1αi0 . . . 0) · (d + 1), l(αd−1. . . αi+1αi1 . . . 1) ·
(d + 1) + d] be the extension of the corresponding one in the 1-IRS for H(d) in which the label of a node α is replaced by the interval of the labels of the nodes belonging to row α. Then, the cross edge from (α, i + 1) to (α(i), i) at dimension i, 0 ≤ i < d, receives only the interval I(α, α(i)), while no interval is associated at (α, i) to edge ((α, i), (α(i), i + 1)), so that from (α, i) it is never used. Moreover, each straight edge at dimension i has at most two intervals defined as follows. Let I ≡ [l(α, 0), l(α, d)] ∪Si−1j=0I(α, α(j)), which by Lemma 3.2 forms a single interval of labels.
Then the edge from (α, i + 1) to (α, i) receives the at most two intervals obtained by deleting from I the interval of the labels from l(α, i + 1) to l(α, d) of the nodes in the same row that are in the opposite direction. Similarly, the straight edge from (α, i) to (α, i+1) receives the interval Sd−1
j=i I(α, α(j)) (again this is an interval by Lemma 3.2), plus the interval [l(α, i + 1), l(α, d)].
In the above 2-IRS, the path followed by the messages from a node (α, i) to a node (β, j) can be determined as follows. Let dM be the highest dimension such that αdM 6= βdM and let
dm be the lowest one. Then the path follows row α until reaching the first node (α, i0) having
an incident arc in dimension dM (i0 = dM if dM ≥ i and i0 = dM + 1 if dM < i). In this
phase only straight edges are used and since we are still in the same row and we do not traverse any cross edge we call it the pre-traversal phase. Then there is a traversal phase in which the path traverses in decreasing order of dimension edges from dimension dM to dimension dm until
arriving at node (β, dm), in such a way that at each intermediate dimension d0 if α
d0 6= βd0 the
edge traversed along dimension d0 is a cross edge, otherwise it is a straight edge. In fact this
has the effect (similarly as in the 1-IRS for H(d)) of changing the bits of α from left to right in order to get β. This traversal phase is the actual one emulating the 1-IRS for H(d). Finally, we have the post-traversal phase in which having reached row β, the path traversing only straight edges arrives at the ultimate destination (β, j).
The above 2-IRS yields a congestion which is at most twice the optimal one.
Theorem 4.1 For any integer d > 0 there exists a 2-IRS for BF(d) with congestion equal to
3
2 · 2d(d + 1)2+ o(2dd2).
Proof. Let us consider first the congestion induced by the above 2-IRS on the cross edges.
By symmetry each cross edge {(α, i + 1), (α(i), i)} with fixed dimension i is charged (in terms of congestion) equally. Thus, in order to estimate the congestion of {(α, i + 1), (α(i), i)},
we calculate the sum of the contributions on all the cross edges in BF(d) along dimension i and then we divide it by the total number of such edges.
Each source destination pair ((α0, i0), (α00, i00)) with α0 6= α00 traverses a cross edge along
dimension i if and only if α0i 6= α00i. Since the total number of source destination pairs in BF(d) differing in bit i is exactly 2 · 2d−1(d + 1) · 2d−1(d + 1), the sum of the congestions of all the
cross edges along dimension i is also 2 · 2d−1(d + 1) · 2d−1(d + 1). As the number of cross edges
in dimension i is 2d, {(α, i + 1), (α(i), i)} then has congestion at most 2d−1(d + 1)2.
Let us now consider the congestion induced by the 2-IRS on the straight edges. For the sake of simplicity we focus only the congestion produced by the source-destination pairs that do not belong to the same row. In fact, the (d + 1)d paths between the nodes belonging to the same row cause an additional congestion to the straight edges in the row at most equal to (d + 1)d, which can be included in the o(2dd2) term.
For any given row α and dimension i, we estimate the contribution to the congestion on edge
{(α, i + 1), (α, i)} separately for each of the three phases mentioned above.
Let us consider the pre-traversal phase, and for each dimension j, 0 ≤ j < d, let aj be the
number of rows β whose most significant dimension for which α is different from β is dM = j. Then ad−1 = 2d/2, ad−2 = 2d/4 and in general aj = 2d/2d−j = 2j. Edge {(α, i + 1), (α, i)} is
charged by the paths from nodes (α, 0), . . . , (α, i) to all the other rows β with dM ≥ i, and by
the paths from nodes (α, i+ 1), . . . , (α, d) to all the rows β with dM < i. This yields a congestion
during the pre-traversal phase at most equal to
d−1X j=i aj(d + 1)(i + 1) + i X j=0 aj(d + 1)(d − i) = (d + 1)(i + 1) d−1X j=i 2j+ (d + 1)(d − i) i X j=0 2j <
(d + 1)(i + 1)2d+ (d + 1)(d − i)2i+1.
Concerning the traversal phase, observe that if a path traverses a cross edge along dimension
i, then during the traversal phase it does not traverse any straight edge at dimension i. Since
the total number of paths (or source destination pairs) is 2d(d + 1) · (2d− 1)(d + 1) (recall that
we are considering only pairs belonging to different rows) and as seen above the total number of paths traversing a cross edge along dimension i is 2 · 2d−1(d + 1) · 2d−1(d + 1), it follows that fewer than 2 · 2d−1(d + 1) · 2d−1(d + 1) paths step through a straight edge in dimension i during the
traversal phase. By symmetry all the straight edges along the same dimension have the same contribution to the congestion during the phase and thus it follows that each such an edge has a contribution which is less than 2d−1(d + 1)2.
Finally, the straight edges of row α in the post-traversal phase are traversed by all the paths from all the other rows β in BF(d) to the nodes in α.
For each dimension j, 0 ≤ j < d, let bj be the number of rows β whose least significant
dimension for which α is different from β is dm = j. Then b0 = 2d/2, b1 = 2d/4 and in general
bj = 2d/2j+1= 2d−j−1. Edge {(α, i + 1), (α, i)} is charged by the paths from the nodes in rows
β with dm≤ i to the nodes (α, i + 1), . . . , (α, d) and from the rows β with dm > i to the nodes
(α, 0), . . . , (α, i). This yields a congestion during the post-traversal phase at most equal to
i X j=0 bj(d + 1)(d − i) + d−1 X j=i+1 bj(d + 1)(i + 1) = (d + 1)(d − i) i X j=0 2d−j+ (d + 1)(i + 1) d−1 X j=i+1 2d−j <
(d + 1)(d − i)2d+ (d + 1)(i + 1)2d−i.
Summing over the three phases, {(α, i + 1), (α, i)} has total congestion at most equal to (d + 1)(i + 1)2d+ (d + 1)(d − i)2i+1+ (d + 1)22d−1+ (d + 1)(d − i)2d+ (d + 1)(i + 1)2d−i=
3
2(d + 1)
22d+ (d + 1)((d − i)2i+1+ (i + 1)2d−i) = 3
22
d(d + 1)2+ o(2dd2).
2
As a consequence of the above theorem and of Lemma 3.3, the following corollary holds. Corollary 4.2 For any integer d > 0 there exists a 2-competitive 2-IRS for BF(d).
A low-congested 1-IRS for butterflies can be determined by simulating wrapped butterflies. Thus, in order to facilitate the understanding of the scheme, we will introduce it in Section 7 after having considered the other networks.
5
Wrapped Butterfly Networks
A wrapped butterfly network of dimension d, WBF(d) for short, is obtained from a normal butterfly BF(d) by collapsing every pair of nodes (α, d) and (α, 0) on the same row in a single node. More precisely, WBF(d) has as its nodes the 2dd pairs (α, i) ∈ {0, 1}d× {0, . . . , d − 1}.
WBF(d) has 2d+1d edges: every node (α, i), 0 < i ≤ d − 1, is joined to node (α, i − 1) by a
straight edge and to a node (α(i), i − 1) by a cross edge (here and in the following, operations on dimensions are considered modulo d).
A 1-IRS can be obtained for WBF(d) by exploiting the fact that the d nodes (α, i) having a fixed string α now induce a cycle along which the messages always travel along a fixed direction, from now on called the forward direction. The scheme is still obtained emulating the 1-IRS for
H(d) in between the rows.
More formally, the node labeling is defined as l(α, i) = nα· d + i, so that we again associate
an interval of labels from nα· d to (nα+ 1) · d − 1 to all the nodes belonging to row α.
Concerning the interval assignment, consider a row α = αd−1αd−2. . . α0 and for each i, 0 ≤
i < d, let the interval I(α, α(i)) = [l(αd−1. . . αi+1αi0 . . . 0) · d, l(αd−1. . . αi+1αi1 . . . 1) · d + d − 1].
Then, the cross edge from (α, i + 1) to (α(i), i), 0 ≤ i < d, receives only the interval I(α, α(i)), while no interval is associated at (α, i) to edge ((α, i), (α(i), i + 1)), so that from (α, i) it is never used. At node (α, i + 1) the straight edge at dimension i toward (α, i) receives the interval which is the complement of I(α, α(i)), while no interval is assigned to the same edge at node (α, i). Hence, the forward direction (which is always used by the messages along the rows) goes from dimension d − 1 to d − 2, from d − 2 to d − 3 and so forth and finally from dimension 0 back to
d − 1.
Given a source (α, i) and a destination (β, j), three phases concerning the path followed by the messages from (α, i) to (β, j) can be identified. In the pre-traversal phase, the path travels along the cycle α traversing straight edges in the forward direction until arriving at node (α, dM + 1), where dM is the highest dimension such that αdM 6= βdM. In the traversal phase
where dm is the lowest dimension for which α and β are different, until arriving at node (β, dm).
Clearly at each intermediate dimension d0 if α
d0 6= βd0 the edge traversed along dimension d0 is
a cross edge, otherwise it is a straight edge. Finally, in the post-traversal phase, having reached row β, the path traversing again straight edges in the forward direction arrives at the ultimate destination (β, j).
The above 1-IRS yields a congestion which is not far from the optimal one.
Theorem 5.1 For any integer d > 0 there exists a 1-IRS for WBF(d) with congestion equal to
3
2 · 2dd2+ O(d2).
Proof. The congestion 2d−1d2 of the cross edges of WBF(d) can be determined exactly in the same manner as for BF(d) by observing that each row has d nodes instead of d + 1.
The estimation of the congestion of the straight edges of WBF(d) is simpler than the one for the 2-IRS for BF(d), thanks to the remarkable property that in the 1-IRS for WBF(d) each edge is crossed only in one direction.
In fact, since the scheme emulates the 1-IRS for H(d) and the cross edges of all the paths from row α to row β correspond in the order to the edges of H(d) followed by the messages from
α to β, by Lemma 3.1 at each node (α, i) of WBF(d) the number of paths entering from edge {(α(i), i + 1), (α, i)} is equal to the number of paths leaving from edge {(α, i), (α(i − 1), i − 1)},
that is 2d−1d2 (see Figure 2). Here the additional d2 factor is due to the fact that each node of
H(d) is replaced by a row of d nodes in WBF(d), so that the total number of paths from row α
to row β now is d2 instead of 1.
d−1 0 1 d−3 d−4 c0 c d−2 2 c . . . 3 4
Figure 2: A row in the 1-IRS given for WBF(d). Each edge entering and leaving the row has congestion equal to c = 2d−1d2. Each edge used in the forward direction has congestion equal
to c0 = (3/2) · 2dd2+ O(d2).
Therefore, since the number of paths finishing at (α, i) equals the one starting at (α, i), then the number x of paths entering (α, i) through the straight edge {(α, i + 1), (α, i)} must be equal to the number of paths leaving (α, i) along the straight edge {(α, i), (α, i − 1)}. Thus, all the straight edges have the same congestion x, and in order to evaluate it, it suffices to determine the congestion of {(α, 0), (α, d − 1)}.
As can be easily checked, such an edge is traversed only by the paths starting at row α (pre-traversal phase) or terminating at α (post-(pre-traversal phase). No path steps through {(α, 0), (α, d− 1)} during the traversal phase.
Edge {(α, 0), (α, d − 1)} is charged by the following paths from α to the other rows β: 2d−2d(d − 1) paths from the d − 1 nodes in α with level i < d − 1 to the d nodes in each of the
2d−1 rows β differing from α for the dimension d − 2, 2d−3d(d − 2) paths from the d − 2 nodes
in α with level i < d − 2 to the 2d−2 rows β differing from α for the dimension d − 3 and not
d − 2, and so on, thus contributingPd−2j=02jd(j + 1) < 2d−1d2. Notice that {(α, 0), (α, d − 1)} is
not traversed by any path from row α to rows β differing from α for the dimension d − 1, as all these paths step through the cross edge in dimension d − 1, i.e. {(α, 0), (α(d − 1), d − 1)}.
Similarly, {(α, 0), (α, d − 1)} is charged by the following paths from all the other rows β to
α: 2d−1d(d − 1) paths from the d nodes in each of the 2d−1 rows β differing from α for the
dimension 0 to d − 2 nodes in α with level i > 0, 2d−2d(d − 2) paths from the 2d−2 rows β
differing from α for the dimension 1 and not 0 to the d − 2 nodes in α with level i > 1, and so on, thus contributingPd−1j=12jdj < 2dd2.
Finally, {(α, 0), (α, d − 1)} is traversed by at most d(d − 1) paths starting and terminating in row α.
This yields on {(α, 0), (α, d−1)} and hence on any straight edge along row α a total congestion at most equal to 2d−1d2+ 2dd2+ d(d − 1) = 3
22dd2+ O(d2). 2
As a consequence of the above theorem, the following corollary holds.
Corollary 5.2 For any integer d > 0 there exists a (12/5)-competitive 1-IRS for WBF(d).
Proof. The corollary trivially follows by observing that as shown in [20] π(WBF(d)) ≥
(5/8)2dd2(1 + o(1)). 2
6
Cube Connected Cycles
A cube connected cycle of dimension d, denoted as CCC(d), is obtained from a hypercube H(d) by replacing each node with a cycle of d nodes and connecting two cycles corresponding to two nodes in H(d) adjacent along dimension i by an edge joining the two cycles for the two nodes assigned to dimension d. An alternative view of CCC(d) is that obtained from WBF(d) by collapsing the two cross edges {(α, i + 1), (α(i), i)} and {(α(i), i + 1), (α, i)} along dimension i to a single edge {(α, i), (α(i), i)}. Hence the two cross edges now form a single vertical edge. More formally, CCC(d) has as its nodes the 2dd pairs (α, i) ∈ {0, 1}d× {0, . . . , d − 1}. CCC(d)
has d(2d+ 2d−1) edges: every node (α, i), 0 ≤ i ≤ d − 1, is joined to node (α, i − 1) by a straight
edge and to a node (α(i), i) by a cross edge (here and in the following, operations on dimensions are considered modulo d).
The 1-IRS for CCC(d) is identical to that of WBF(d), with the only exception be-ing that at each node (α, i) we associate the interval I(α, α(i)) = [l(αd−1. . . αi+1αi0 . . . 0) ·
d, l(αd−1. . . αi+1αi1 . . . 1) · d + d − 1] with edge {(α, i), (α(i), i)}.
All the considerations concerning the paths followed by the messages are now the same except that the paths traversing {(α, i + 1), (α(i), i)} and {(α(i), i + 1), (α, i)} in the 1-IRS for WBF(d) now step through {(α, i), (α(i), i)}. Hence, the following theorem holds.
Theorem 6.1 For any integer d > 0 there exists a 1-IRS for CCC(d) with congestion equal to 2d+1d2+ O(d2).
Proof. The proof is identical to that of Theorem 5.1, except for the following differences.
Since the paths traversing {(α, i + 1), (α(i), i)} and {(α(i), i + 1), (α, i)} in the 1-IRS for
WBF(d) now step through {(α, i), (α(i), i)}, cross edges have double congestion with respect to
As in Theorem 5.1, the number of paths leaving and entering any node (α, i) through the cross edge {(α, i), (α(i), i)} coincide, hence each straight edge in row α has the same congestion. The theorem then follows by observing that while the number of paths from all the other rows β to α that traverse {(α, 0), (α, d − 1)} is still at most 2dd2, the number of paths from α to all the other rows β isPd−1j=12jdj < 2dd2. In fact, also the paths going from α to the rows β differing
from α for the dimension d − 1 now step through {(α, 0), (α, d − 1)}, except clearly those starting
at (α, d − 1). 2
As a consequence of the above theorem, the following corollary holds.
Corollary 6.2 For any integer d > 0 there exists a (8/5)-competitive 1-IRS for CCC(d).
Proof. The corollary trivially follows by observing that as shown in [17] π(CCC(d)) ≥
(5/4)2dd2− o(2dd2). 2
7
A 1-IRS for Butterflies
In this section we give a 1-IRS for BF(d). To define the scheme, we use again the hypercube-like structure of the BF(d), adapting the 1-IRS for H(d − 2) to BF(d).
The idea underlying the scheme consists of joining nodes belonging to the four rows 0ω0, 0ω1, 1ω1, and 1ω0 of BF(d) to form the hypernode ω of H(d − 2). In each hypernode ω we distinguish four satellite nodes: (0ω0, 0), (0ω1, d), (1ω0, d), and (1ω1, 0). All the non-satellite nodes of a hypernode ω form the following cy-cle: (0ω0, d), (0ω0, d − 1), . . . , (0ω0, 1), (0ω1, 0), (0ω1, 1), . . . , (0ω1, d − 1), (1ω1, d), (1ω1, d − 1), . . . , (1ω1, 1), (1ω0, 0), (1ω0, 1), . . . , (1ω0, d − 1).
In any hypernode, all the edges connecting each node to the next one in the cycle are called
cycle edges, as compared with the straight edges which remain the ones along the rows of BF(d).
Informally, like in WBF(d) and CCC(d), any hypernode induces a cycle on which again all the messages are routed along a fixed forward direction, which corresponds to the ordering of the nodes listed above. Then, as for WBF(d) and CCC(d), a 1-IRS can then be obtained as follows.
We assign an interval of labels from nω4(d + 1) to nω4(d + 1) + 4(d + 1) − 1 to all the nodes
belonging to the same hypernode ω, labeling in the order first the four satellite nodes and then the remaining ones in the cycle starting from (0ω0, d) increasingly along the forward direction. The interval assignment is defined in such a way that each satellite node is reached and reaches all the other nodes in the network through its incident straight edge. Hence for instance at (0ω0, 0) we assign the interval containing all the node labels except the one of (0ω0, 0) to edge
{(0ω0, 0), (0ω0, 1)}, while at (0ω0, 1) we assign to {(0ω0, 0), (0ω0, 1)} the interval containing only
the label of (0ω0, 0).
Each node (αdωα0, i) with 2 ≤ i ≤ d − 1 and αd= α0, i.e. such that the forward direction in
its row goes from dimension d − 1 to 0, is used to reach other hypernodes by means of the cross edge {(ω, i), (ω(i), i − 1)}. In fact, the interval of this edge analogous to the previous schemes is
I(ω, ω(i)) = [l(ad−2. . . ai−10 . . . 0) · 4(d + 1), l(ad−2. . . ai−11 . . . 1) · 4(d + 1) + 4(d + 1) − 1].
Finally, at each non-satellite node no interval is assigned to the incident cycle edge opposite the forward direction, while to the one in the forward direction we assign the interval containing all the node labels, except possibly the interval assigned to (exactly) one of its incident non-cycle
edges, i.e. either to one cross edge to reach other hypernodes or to one straight edge to reach a satellite node.
All the cross edges not mentioned in the above description are not used by the routing scheme.
Informally, a message from node (αdωα0, i) to (βdω0β0, j) is sent along the forward direction
through the cycle ω until it reaches either (0ω0, dM+ 1) or (1ω1, dM+ 1), where dM is the most
significant dimension for which ω and ω0 are different. Then, it suitably traverses in decreasing
order of dimension cross or straight edges from dimension dM to dimension dm, where dm is the
lowest dimension for which ω and ω0 are different, until arriving at node (ω0, d
m). Finally, having
reached hypernode ω0, the message follows the corresponding cycle in the forward direction until
it arrives at the ultimate destination (βdω0β0, j).
Starting from the above 1-IRS, it is possible to prove the following theorem.
Theorem 7.1 For any integer d > 0 there exists a 1-IRS for BF(d) with congestion equal to 4 · 2d(d + 1)2+ o(2dd2).
Proof. The congestion of the 1-IRS on the cross edges of BF(d) can be determined in a similar
way as for the previous schemes, by observing that the 1-IRS emulates the 1-IRS for H(d − 2) and each row has 4(d + 1) nodes. The only difference is that now in each hypernode there are two cross edges along any fixed dimension i, 2 ≤ i ≤ d − 2, that are used to leave the hypernode, while the other two cross edges along dimension i are never used in either direction and thus have congestion 0. Summing up the number of paths traversing all the cross edges in dimension
i, i.e. 2 · 4(d + 1)2d−3· 4(d + 1)2d−3, and dividing by the total number 2 · 2d−2 of “used” cross
edges, it yields a congestion equal to 2d(d + 1)2.
Each straight edge incident to a satellite node is traversed in one sense by 4(d + 1)2d−2− 1
paths terminating at the node, and in the other sense by 4(d + 1)2d−2− 1 paths starting at the
node. This yields on the edge a congestion less than 2d+1(d + 1).
The estimation of the congestion of the cycle edges of BF(d) is similar to that of the straight edges of WBF(d). In fact the number of paths entering and leaving each node through non-cycle edges coincide, except for nodes (0ω0, d − 1) and (1ω1, d − 1), for which 2d(d + 1)2 paths leave
through the incident cross edges along dimension d − 2 and no path enters from other non-cycle edges, and for nodes (0ω0, 1) and (1ω1, 1), for which 2d(d + 1)2 paths enter from the incident
cross edges along dimension 1 and no path exits from other non-cycle edges (see Figure 3). Therefore, since the cycle edges are crossed only in the forward direction, denoted as x the congestion of the cycle edge {(0ω0, d), (0ω0, d − 1)}, all the edges of the cycle have congestion x, except the edges {(0ω0, d − 1), (0ω0, d − 2)}, {(0ω0, d − 2), (0ω0, d − 3)}, ... {(0ω0, 2), (0ω0, 1)},
{(1ω1, d − 1), (1ω1, d − 2)}, {(1ω1, d − 2), (1ω1, d − 3)}, ... {(1ω1, 2), (1ω1, 1)}. In fact, for all
the reasons above, these edges have congestion x − 2d(d + 1)2 (again, see Figure 3).
Therefore, in order to prove the claim, it remains to show that the congestion x of edge
{(0ω0, d), (0ω0, d − 1)} is at most 4 · 2d(d + 1)2+ o(2dd2).
As it can be easily checked, {(0ω0, d), (0ω0, d − 1)} is traversed only by the paths starting at hypernode ω (pre-traversal phase) or terminating at ω (post-traversal phase). In fact, all the paths from ω0 to ω00 with ω0 6= ω and ω00 6= ω that step by ω (during the traversal phase)
can touch only edges between {(0ω0, d − 1), (0ω0, d − 2)} and {(0ω0, 2), (0ω0, 1)}, and between
{(1ω1, d − 1), (1ω1, d − 2)} and {(1ω1, 2), (1ω1, 1)}.
Let us consider first the paths from ω toward all the other hypernodes. Edge
1 2 d−1d−2 1ω0 1ω1 0ω1 0ω0 0 1 2 d d−2 2 1 x d−2 (0ω1, d) (1ω1, 0) (1ω0, d) x−c (0ω0, 0) x x−c d−1 0 1 2 . . . . . . . . d−1 d d−1 d−2 . . . . c
Figure 3: The hypernode ω in the 1-IRS given for BF(d). Each edge used by ω to communicate with the other hypernodes has congestion c, whereas each cycle edge in ω has congestion equal either to x or to x − c.
(1ω0, 0), ..., (1ω0, d), (0ω0, d) to all the other hypernodes, i.e. by (d + 4) · (2d−2− 1)4(d + 1) =
2d(d + 1)2+ o(2dd2) paths. Moreover, {(0ω0, d), (0ω0, d − 1)} is traversed by the paths from
nodes (1ω1, d − 2), ..., (1ω1, 2) to all the hypernodes differing from ω for the dimension d − 2, plus the paths from nodes (1ω1, d − 3), ..., (1ω1, 2) to all the hypernodes differing from ω for the dimension d − 3 and not d − 1, ..., plus the paths from node (1ω1, 2) to all the hy-pernodes differing from ω for the dimension 2 and no higher dimension. This gives a total of Pd−2
j=2(j −1)·2j−14(d+1) < 2d(d+1)2paths. Thus, the paths leaving ω contribute to the
conges-tion x of {(0ω0, d), (0ω0, d−1)} at most 2d(d+1)2+o(2dd2)+2d(d+1)2= 2d+1(d+1)2+o(2dd2).
Concerning the paths from all the other hypernodes to ω, observe first that the number of paths that enter ω at a given node (0ω0, i), 1 ≤ i ≤ d − 2, is equal to the number of paths entering ω at node (1ω1, i). In order to estimate x, we proceed separately as follows.
First of all, {(0ω0, d), (0ω0, d − 1)} is traversed by the paths from all the other hypernodes
ω0 to the 2(d + 1) + 1 nodes (0ω0, d), ..., (0ω0, 0), (0ω1, 0), ..., (0ω1, d), and (1ω1, d) that enter at
one of the nodes (1ω1, d−2), ..., (1ω1, 1). As just remarked, such paths by symmetry correspond to the half of all the paths for such destinations arising from all the other hypernodes. So, their contribution to x is at most (1/2)(2d−2− 1)4(d + 1) · (2(d + 1) + 1) = 2d(d + 1)2+ o(2dd2).
Moreover, {(0ω0, d), (0ω0, d − 1)} is traversed by the paths that enter at node (1ω1, 1) from all the hypernodes differing from ω for the dimension 1 to the d−2 nodes (1ω1, d−1), (1ω1, d−2), ..., (1ω1, 2), plus the paths entering at (1ω1, 2) from all the hypernodes differing from ω for the dimension 2 and not 1 to the d − 3 nodes (1ω1, d − 1), ..., (1ω1, 3), plus the paths entering at
{(1ω1, d − 2) from the hypernodes differing from ω only for dimension d − 1 to node (1ω1, d − 1).
This contributes to x at most 12Pd−2j=12d−j−24(d + 1) · (d − j − 1) < 2d−1(d + 1)2.
toward (0ω0, d − 1),..., (0ω0, 2), at node (0ω0, 2) toward (0ω0, d − 1),..., (0ω0, 3) and so forth can be determined symmetrically as above.
Therefore, the contribution to x due to all the paths from all the other hypernodes to ω is at most 2d(d + 1)2+ o(2dd2) + 2d−1(d + 1)2+ 2d−1(d + 1)2 = 2d+1(d + 1)2+ o(2dd2).
Recalling that the paths from ω to the other hypernodes that step through {(0ω0, d), (0ω0, d− 1)} is at most 2d+1(d + 1)2 and that at most 4(d + 1) · (4(d + 1) − 1) paths from nodes in ω
to nodes in ω can step through {(0ω0, d), (0ω0, d − 1)}, we obtain x = 4 · 2d(d + 1)2+ o(2dd2),
hence the theorem. 2
By the above theorem and by Lemma 3.3, the following corollary trivially holds. Corollary 7.2 For any integer d > 0 there exists a (16/3)-competitive 1-IRS for BF(d).
8
Conclusions
In this paper we have given low-congested Interval Routing Schemes for butterflies, wrapped butterflies and cube connected cycles, and a new lower bound on the edge forwarding index of butterflies.
While for BF(d) 2-IRS can be used to further reduce the maximum congestion with respect to 1-IRS, the 2-IRS for WBF(d) and CCC(d) obtained by emulating the one for BF(d) does not improve the congestion of 1-IRS. This is true even for the 3-IRS for WBF(d) and CCC(d) that route shortest paths inside the cycles (in the pre-traversal and post-traversal phases) instead of always using the forward direction. Thus, the construction of these schemes has not been shown in the paper.
Although we have not explicitly taken into account the length of the induced paths, all the schemes have a dilation that is at most 2 or 3 times the diameter D. By the constant competitive ratio and exploiting the results in [3], this means that efficient scheduling algorithms can be applied to route messages in time O(L · π(G) · D), where L is the number of flits per worm.
Moreover, if we restrict ourselves to packet routing, it is possible to route all the messages in time O(π(G)) (see [15]), which is optimal since any routing scheduling algorithm takes Ω(π(G)) steps.
As an open question, it would be worth investigating schemes for the considered networks with a low congestion with respect to other communication patterns, for instance permutations.
References
[1] F.R.K. Chung, E.G. Coffman, M.I. Reiman, and B.E. Simon. The forwarding index of communication networks. IEEE Trans. on Inform. Theory, 33:224–232, 1987.
[2] S. Cicerone, G. Di Stefano, and M. Flammini. Static and dynamic low congested interval routing schemes. In 25th International Colloquium on Automata, Languages, and
Pro-gramming (ICALP), volume 1443 of Lecture Notes in Computer Science, pages 592–603.
Springer-Verlag, July 1998.
[3] R. Cypher, F. Meyer auf der Heide, C. Scheideler, and B. V¨ocking. Universal algorithms for store-and-forward and wormhole routing. In Proceedings of the 28th Annual ACM
Symposium on Theory of Computing, pages 356–365, Philadelphia, Pennsylvania, 22–24
[4] T. Eilam, S. Moran, and S. Zaks. The complexity of characterization of networks sup-porting shortest-path interval routing. In 4th Colloquium on Structural Information and
Communication Complexity (SIROCCO). Carleton University Press, 1997.
[5] C. M. Fiduccia and P. J. Hedrick. Edge congestion of shortest path systems for all-to-all communication. IEEE Transactions on Parallel and Distributed Systems, 8(10):1043–1054, October 1997.
[6] M. Flammini. Deadlock-free interval routing schemes. In 14th Annual Symposium on
The-oretical Aspects of Computer Science (STACS), volume 1200 of Lecture Notes in Computer Science. Springer-Verlag, 1997.
[7] P. Fraigniaud and C. Gavoille. Local memory requirement for universal routing schemes. In 8th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), pages 183–188, 1996.
[8] G.N. Frederickson and R. Janardan. Designing networks with compact routing tables.
Algorithmica, 3:171–190, 1988.
[9] C. Gavoille. A survey on interval routing scheme. Theoretical Computer Science, 245, 2000. [10] R. I. Greenberg and H.-C. Oh. Universal wormhole routing. IEEE Transactions on Parallel
and Distributed Systems, 8(3):254–262, March 1997.
[11] M.C. Heydemann, J.C. Meyer, and D. Sotteau. On forwarding indices of networks. Discrete
Applied Math., 23:103–123, 1989.
[12] The T9000 Transputer Products Overview Manual. INMOS, 1991.
[13] E. Kranakis, D. Krizanc, and S.S. Ravi. On multi-label linear interval routing schemes. In
19th Workshop on Graph Theoretic Concepts in Computer Science (WG), volume 790 of Lecture Notes in Computer Science, pages 338–349. Springer-Verlag, 1993.
[14] T. Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees,
Hyper-cubes. Morgan Kaufman, 1992.
[15] T. Leighton, B. Maggs, and S. Rao. Universal packet routing algorithms. In 29th Annual
Symposium on Foundations of Computer Science, pages 256–271, 1988.
[16] P. Ruzicka. On efficiency of interval routing algorithms. In Mathematical Foundations
of Computer Science (MFCS), volume 324 of Lecture Notes in Computer Science, pages
492–500. Springer-Verlag, 1988.
[17] P. Ruzicka and D. Stefankovic. On the complexity of multidimensional interval routing schemes. Theoretical Computer Science, 245, 2000.
[18] R. Saad. Complexity of the forwarding index problem. SIAM J. on Discrete Math., 6(2):418–427, 1993.
[19] N. Santoro and R. Khatib. Labeling and implicit routing in networks. The Computer
[20] F. Shahrokhi and L. Sz`ekely. Concurrent flows and packet routing in Cayley graphs. In 19th
International Workshop on Graph-Theoretic Concepts in Computer Science (WG), volume
790 of Lecture Notes in Computer Science, pages 327–337. Springer-Verlag, 1994.
[21] F. Shahrokhi and L. Sz`ekely. Integral uniform flows in symmetric networks. In 24th
Inter-national Workshop on Graph-Theoretic Concepts in Computer Science (WG), volume 1517
of Lecture Notes in Computer Science, pages 272–284. Springer-Verlag, 1998. [22] P. Sol´e. Expanding and forwarding. Discrete Applied Math., 58:67–78, 1995.
[23] J. van Leeuwen and R.B. Tan. Routing with compact routing tables. In G. Rozemberg and A. Salomaa, editors, The book of L, pages 259–273. Springer–Verlag, 1986.