Sorting in the Bit Model, Example Problems

Tom Kelliher, CS 315

Feb. 1, 1999

Administrivia

Announcements

Assignment

Read Section 1.1.3.

From Last Time

Algorithm assessment, simulating larger machines, example problems

Outline

  1. Sorting in the bit model.

  2. Example problems.

Coming Up

Lower bounds.

Sorting in the Big Model

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

  2. A linear array bit-level model of a compare cell:

    Compare, notify.

    Assume we have k-bit numbers. Run time?

  3. Can we do better? Yes. We can do comparisons in parallel and merge the partial results:

    Compare, notify.

    Run time?

    Notes:

    1. Why not use a height 1 tree?

    2. Fan-in and fan-out in circuits.

Sorting

  1. Run-time for sorting on a linear array of linear array comparators. Binary tree comparators.

    What do they look like?

  2. Pipelining the linear comparators. Pipelining the compare:

    Five in, four out.

    A lot of parallel work. Systolic computation.

  3. Pipelining the sort. Just a linear array of the comparators:

    Running time?

Example Problems

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 .)



Thomas P. Kelliher
Mon Feb 1 10:06:51 EST 1999
Tom Kelliher