CS 662 Theory of Parallel Algorithms
Odd-Even Sort
[To Lecture Notes Index]
San Diego State University -- This page last updated February 20, 1996, 1996
Akl, The Design and Analysis of Parallel Algorithms, section 4.3
Rescheduling Principle
A parallel machine model satisfies the rescheduling principle (or slow down
principle) if given an algorithm with time complexity T on P processors and
given any s, 1 <= s <= p the algorithm can be run in s*T time using at
most
processors.
Models with uniform cost per access of shared memory satisfy the rescheduling
principle.
proof: Draw picture and wave hands
Odd-Even Transposition Sort
Assume each processor PJ contains one element xJ, for J = 1, 2, ..., N
Odd-Even Transposition Sort
- for K = 1 to
do
- for I = 1, 3, 5, ...,
do in parallel
- if xI> xI+1 then swap(xI,xI+1)
- end for
- for I = 2, 4, 6, ...,
do in parallel
- if xI> xI+1 then swap(xI,xI+1)
- end for
- end for
A Better Odd-Even Transposition Sort
Assume we have P processors and N items to sort
Each processor has
items
Pad the last processor with
to insure it has
items
Let SJ be the items in processor PJ
Odd-Even Transposition Sort
for K = 1 to P do in parallel
QuickSort(SK)
end for
for K = 1 to do
for I = 1, 3, 5, ..., do in parallel
(s1, s2, s3, ..., ) = sequential merge(SI, SI+1)
SI = (s1, s2, s3, ..., )
SI+1 = ( , ..., )
end for
for I = 2, 4, 6, ..., do in parallel
(s1, s2, s3, ..., ) = sequential merge(SI, SI+1)
SI = (s1, s2, s3, ..., )
SI+1 = ( , ..., )
end for
end for