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 fixed-connection networks.
-
Why get more detailed? To see how much work (e.g., #number of
transistors) is involved in, for instance, comparison.
-
A linear array bit-level model of a compare cell:
Compare, notify.
Assume we have k-bit 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?
- Fan-in and fan-out in circuits.
- Run-time 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 M-processor machine and one that runs in
steps on an -processor machine. Which algorithm is more
efficient?
Assume that the cost of running a P-processor 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 M-processor machine and one that runs in steps
on an -processor machine. Which algorithm will run faster on an
N-processor machine? (Hint: Your answer depends on the relative sizes of
M and N, and you will need to use the fact that an N-processor
machine can simulate a P-processor machine with slowdown .)
The following are tools we can sometimes use to characterize a
problem-solving 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