A TREE-STRUCTURED DICTIONARY
MACHINE
In dealing with circuit-level designs, we essentially proceed
in a direction that is the
reverse of what is done in the rest of the book: Rather than
defining a general-purpose
parallel architecture (e.g., PRAM, 2D mes
PARALLEL ARCHITECTURES FOR
FFT
an eight-point FFT network that is derived directly from
the
divide-and-conquer computation scheme of Section 8.5.
Each circular node performs a
multiplyadd computation. An inductive proof that this
network does indeed compu
PARALLEL PREFIX NETWORKS
For the sake of brevity and concreteness, we will discuss
the design of circuits for
computing parallel prefix sums with unsigned integer
inputs, i.e., the operator is taken to
be unsigned integer addition. The resulting circuits,
PARALLEL PREFIX COMPUTATION
Parallel prefix computation was defined in Section 2.1,
with several algorithms provided
subsequently in Sections 2.3 (linear array), 2.4 (binary
tree), 2.5 (2D mesh), and 5.4 (PRAM).
Here, we use an alternative formulation in
MESH-CONNECTED COMPUTERS
A 2D mesh of processors was defined in Section 2.2 and
some simple algorithms for it
were presented in Section 2.5. This section covers a
complete definition for the simple 2D
mesh, including variations in control, interprocessor
THE SHEARSORT ALGORITHM
The shearsort algorithm was described without proof, in
Section 2.5. Here, we look at
the algorithm in more detail and provide a proof of its
convergence and correctness. As an
algorithm, shearsort is not very efficient and we will
TYPES OF DATA ROUTING
OPERATIONS
Most of our discussion will focus on packet data routing or
packet switching where a
packet is an atomic unit of data transfer. A packet may be
a complete message, containing
one or more data values, or a part of a longer
ACHIEVING THE LOWER BOUND
In this section, we describe a sorting algorithm, reported
by Schnorr and Shamir
[Schn86], that comes very close to the 3 lower bound of
Section 9.5 in terms of its running
time. However, the mesh has to be quite large for the
al
RECURSIVE SORTING
ALGORITHMS
A recursive algorithm for sorting on a square mesh, based
on four-way divideandconquer strategy, is shown in Fig. 9.10. The algorithm
consists of four phases.
First recursive sorting algorithm on a 2D mesh
1. Sort each of the
VARIANTS OF SIMPLE SHEARSORT
Shearsort can be terminated earlier in some cases because
sorting is complete when no
exchange occurs during a row sort or a column sort. In
practice, one cannot take advantage
of this early termination feature unless some for