Sorting in the Bit Model, Lower Bounds
Tom Kelliher, CS 315
Feb. 3, 1999
Read Sections 1.1.4, 1.1.5.
Sorting in the Bit Model.
 Sorting in the bit model.
 Example problems.
 Lower bound techniques.
Lower bound counterexample, properties of fixedconnection networks.

Why get more detailed? To see how much work (e.g., #number of
transistors) is involved in, for instance, comparison.

A linear array bitlevel model of a compare cell:
Compare, notify.
Assume we have kbit numbers. Run time?

Can we do better? Yes. We can do comparisons in parallel and merge the
partial results:
Compare, notify.
Run time?
Notes:
 Why not use a height 1 tree?
 Fanin and fanout in circuits.
 Runtime for sorting on a linear array of linear array comparators.
Binary tree comparators.
What do they look like?
 Pipelining the linear comparators. Pipelining the compare:
Five in, four out.
A lot of parallel work. Systolic computation.
 Pipelining the sort. Just a linear array of the comparators:
Running time?
 1.2

Consider two algorithms for solving a a problem of size M, one that runs
in M steps on an Mprocessor machine and one that runs in
steps on an processor machine. Which algorithm is more
efficient?
Assume that the cost of running a Pprocessor machine for T steps is
, where and are constants and P = M or
. For what values of and is the first algorithm
cheaper to run? For what values of and is the second
algorithm cheaper to run?
 1.3

Consider two algorithms for solving a problem of size M, one that runs in
M steps on an Mprocessor machine and one that runs in steps
on an processor machine. Which algorithm will run faster on an
Nprocessor machine? (Hint: Your answer depends on the relative sizes of
M and N, and you will need to use the fact that an Nprocessor
machine can simulate a Pprocessor machine with slowdown .)
The following are tools we can sometimes use to characterize a
problemsolving network and, hence, understand its failings.
Assume the bit model, so we have an sorting network in the
following.
 I/O bandwidth.
What is the I/O bandwidth of the sorting network? This makes sorting
.
 Diameter of the network: Defined as the maximum distance between two
vertices in the graph.
What is the diameter of the sorting graph?
Can we construct a sorting problem that will force the two most distant
cells to communicate?
What's the lower bound from this perspective?
 Bisection width of the network: Defined as the number of edges which
must be cut to split the graph in ``half.''
What is the bisection width of the sorting graph?
Can we construct a sorting problem that will force all the data to cross
this boundary?
What's the lower bound from this perspective?
Thomas P. Kelliher
Wed Feb 3 08:18:46 EST 1999
Tom Kelliher