Efficient parallel algorithms
Parallel Quicksort Using Fetch-And-Add
IEEE Transactions on Computers
Parallel computing (2nd ed.): theory and practice
Parallel computing (2nd ed.): theory and practice
How many comparisons does Quicksort use?
Journal of Algorithms
The Parallel Evaluation of General Arithmetic Expressions
Journal of the ACM (JACM)
Bounds to Complexities of Networks for Sorting and for Switching
Journal of the ACM (JACM)
Fast parallel sorting algorithms
Communications of the ACM
Parallel Sorting Algorithms
The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information
The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information
Tight bounds on the complexity of parallel sorting
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
IEEE Transactions on Computers
Sorting networks and their applications
AFIPS '68 (Spring) Proceedings of the April 30--May 2, 1968, spring joint computer conference
WEA'08 Proceedings of the 7th international conference on Experimental algorithms
Hi-index | 0.00 |
This paper discusses a parallel quicksort algorithm that is cost optimal, in average, using O(n/log(n)) processors. The cost optimality is mainly due to a cost optimal partitioning algorithm that utilizes all the processors when partitioning the array. A temporary array of the same size as the original array is needed during the partitioning process. The prefix sums are used to determine where a processor can copy its data. We will prove that the algorithm has an average case complexity O(log2n), where n is the size of the data array. We will also discuss the implementation of our algorithm on a shared memory parallel computer and demonstrate that it outperforms other O(log2n) parallel sorting algorithms. In addition, it outperforms the sequential quicksort algorithm starting with two processors.