36 3. Terminology
might be of arbitrary size. Unless explicitly mentioned, we assume in the fol-
lowing that the data fields of all messages that have to be routed according
to some routing problem 7~ are of the same size. In this book, we study the
following two models: the
store-and-forward routing
model and the
wormhole
routing
model.
Store-and-Forward Routing. The most commonly used and well under-
stood routing model in the literature is the store-and-forward routing model.
In this model time is partitioned into synchronous
steps.
One step is defined
as the time a message needs to be sent along a link. (It is usually assumed
that every link needs the same amount of time to forward a message. Fur-
thermore, internal computations of processors are usually not counted as time
steps as long as they are bounded by some small polynomial, since it is often
assumed that the time to send a message Mong a link is much higher than the
time needed to execute internal instructions.) A node must store an entire
message before it can forward any part of the message along the next link on
its route. Hence messages can be viewed as single packets.
Wormhole Routing. In wormhole routing, messages are sent as
worms,
each of which consists of a sequence of fixed size packets called
flits.
A flit is
defined as the amount of data that can be sent along a channel in one time
step. The
length
of a worm is the number of flits it contains. We call the first
flit of a worm
head
and the remaining flits
body.
The first flits of a worm store
the header and the remaining flits the data field of a message. In order to
keep the routing hardware in a node small, the capacity of each link to buffer
flits is usually limited to at most one per outgoing channel. Because a link
can not identify which worm a flit belongs to from its contents, the flits of
a worm must arrive on the incoming channel in a contiguous fashion. Since
each channel can only buffer one flit of a worm, if the head of a worm can
not advance then the flits following the head must stall.
Note that
circuit-switching
(i.e., establishing a connection between pairs
of nodes in a network) can be viewed as a special case of wormhole routing
in which the length of each worm is at least as large as the distance between
the worm's source and its destination.
3.4.4 Routing Strategies
We distinguish between two kinds of protocols:
Offtine
protocols and
online
protocols. In case of offline protocols, we allow all processors of a parallel
system to have complete knowledge about the routing problem. This enables
them in principle to develop an optimal strategy for sending the messages
to their destinations (note that we do not count internal computations, but
only communication rounds). In this area, important questions are, how fast
such a strategy can be, and whether (asymptotically) optimal strategies can
be computed in polynomial time. Note that offline protocols are also referred
to as
global control
or
centralized protocols.