**Tom Kelliher, CS 315**

**Feb. 5, 1999**

Will assign homework Monday.

Read 1.2.1, 1.2.2

Linear array sorting example, network properties.

- Network (graph) properties.
- A lower bound counterexample.
- Properties of our fixed-network connection model.

Carry-lookahead addition, parallel prefix computations.

The following are tools we use to establish lower bounds on problems and, hence, show that a particular parallel algorithm is optimal. As we will see, they must be applied with care.

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?

Consider sorting within a complete binary tree:

- Assumption: All bits appear simultaneously.
- I/O bandwidth? Diameter? Bisection width?
- Lower bound for sorting on a binary tree?
- Almost right. Holds for .
- So, how do we beat the lower bound? By counting.

- Problem of unary to binary conversion.
- ``Easy'' if interior cells are word processors.
- Each interior processor need only be a serial adder and we do
bit-wise serial addition with numbers transmitted lsb-first.
Example: Bit-wise addition of 0110 and 0011.

- Example: counting the 1's when
**N = 8**. - Setting the leaf bits:
- Assume we have
**m**1's. - Set the rightmost
**m**leaves. Clear the leftmost**N - m**leaves. - Observation: right 0 leaf is numbered
**N - 1 - m**.This is the bit-wise complement of

**m**. - Use
**N - 1 - m**to find a path to that leave, clearing leaves to the left, setting leaves to the right, and clearing that leave.

- Assume we have

- Processor properties:
- Local control.
- Computation is a function of local storage and local inputs.
- Variations. Processor might know such things as its address,
topology/size of the network, time.
Storage is usually constant, but may vary with size of network.

- A bit processor may perform a constant number of bit operations
per step. Similarly for a word processor.
- Limits on word size usually .
- Packets: indivisible communication data stamped with a key.

- Local control.
- Interconnection properties:
- Connections may not vary with time.
- A constant amount of communication (bits, words, packets, as
appropriate) can occur across a connection per step.
- Bounded-degree network. Sometimes degree will be O.
Size is polynomial in

**N**.

- Connections may not vary with time.
- I/O protocol properties:
- Each input is provided only once.
- I/O is when and where oblivious: the time and location, for each
piece of data, of I/O must be specified in advance.
Without this restriction, we could sort in constant time.

- Each input is provided only once.
- Comment: This model describes systolic VLSI very well. It doesn't
describe general VLSI well since we don't have ``long'' wires. But, how
does one model the communication properties of a long wire?

Fri Feb 5 10:06:30 EST 1999