USEFUL ELEMENTARY
OPERATIONS
In performing data routing and many other operations on a
2D mesh, certain elementary
operations arise quite frequently. It is convenient to review
these operations before discussing
routing algorithms.
Row or Column Rotation
CLASSES OF ROUTING
ALGORITHMS
Our inability to design fast deterministic routing
algorithms with small buffers has led
to an interest in randomized or probabilistic algorithms.
One can prove that if the destination
nodes are randomly distributed in the 2D
GREEDY ROUTING ALGORITHMS
A greedy routing algorithm is one that tries to reduce the
distance of a packet from its
destination with every routing step. The term greedy refers
to the fact that such an algorithm
only considers local short-term gains as oppo
DATA ROUTING ON A 2D ARRAY
In this section, we discuss the three routing problems of
data compaction (packing),
random-access write (RAW), and random-access read
(RAR) introduced in Section 10.1.
To pack a set of a values residing in active processors int
WORMHOLE ROUTING
We have thus far discussed routing schemes in which a
packet moves from node to node
in its entirety. Because each packet is stored in an
intermediate node before being forwarded to the next node
on its path to the destination, this metho
ARBITRARY SYSTEM OF
LINEAR EQUATIONS
Given a set of m linear equations Ax = b, Gaussian
elimination consists of applying a
sequence of row transformation to A and b (multiplying a
row by a constant, interchanging
rows, adding a multiple of one row to anot
STRONGER AND WEAKER
CONNECTIVITIES
One problem with a 2D mesh is its relatively large
diameter. Higher-dimensional
meshes, on the other hand, present difficult
implementation problems. These considerations
have resulted in a wide variety of architectures
THREE OR MORE DIMENSIONS
Our discussions of algorithms in Chapters 911 (as well as
in Sections 2.3 and 2.5) have
been in terms of 1D and 2D processor arrays. These are the
most practical in terms of physical
realization in view of the 2D nature of impleme
IMAGE-PROCESSING ALGORITHMS
In this section, we deal with example algorithms used in
image analysis and computational
geometry applications. Let an image be represented as an
array of binary (black/white)
pixels. By labeling the (connected ) components of
GRAPH ALGORITHMS
An n-node graph can be represented by an n-by-n
adjacency matrix A. Nodes are
numbered from 0 to n 1 with ai j= 1 if there is an edge
from Node i to Node j and 0 otherwise.
This matrix representation is quite suitable for use on a
mesh-co