Parallel Sorting Algorithms

As we all know that we cannot sort a sequence of n numbers in less than O(n*log(n)) operations, we wonder what the speedup could be when we use p processors.

Recalling the Bucketsort of Lecture 12 and the pipelined sorting method of Lecture 16, we started off analyzing Mergesort, an analysis which will help us when considering Quicksort. One sorting algorithm we would normally not consider is Ranksort because it needs O(n^2) operations. But with n processors, it is straightforward to obtain an O(n) algorithm and with n^2 processors we can sort a sequence of n numbers in O(log(n)) operations, using the parallel summation algorithm.

The analysis of Quicksort shows that Quicksort is better than Mergesort, but the performance of Quicksort depends critically on the choice of the pivot. Therefore, we introduced the idea of Samplesort, ending the lecture with a sketch of a parallel implementation.

Bibliography