Abstract
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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Akl, S.G.: Parallel Sorting Algorithms. Academic Press, Orlando (1985)
Muller, D.E., Preparata, F.P.: Bounds and complexities of networks for sorting and for switching. Journal of the ACM 22(2), 195–201 (1975)
Knuth, D.E.: The Art of Computer Programming. Addison-Wesley, Reading (1973)
Batcher, K.E.: Sorting Networks and Their Applications. In: Proceedings of the AFIPS Spring Joint Computer Conference, vol. 32, pp. 307–314. AFIPS Press, Reston (1968)
Hirschberg, D.S.: Fast Parallel Sorting Algorithms. Communications of the ACM 21(8), 657–666 (1978)
Preparata, F.P.: New Parallel Sorting Schemes. IEEE Transactions. on Computers C-27(7), 669–673 (1978)
Leighton, F.T.: Tight bounds on the complexity of parallel sorting. In: Proceedings of the 16th Annual ACM S. on Theory of Computing, May 1983, pp. 71–80. ACM, New York (1983)
Francis, R.S., Pannan, L.J.H.: A parallel partition for enhanced parallel Quicksort. Parallel Computing 18, 543–550 (1992)
Heideberger, P., Norton, A., Robinson, J.T.: Parallel Quicksort Using Fetch-and-Add. IEEE Transaction on Computer, vol C-39(1), 133–138 (1990)
Quinn, M.J.: Parallel Computing Theory and Practice. McGraw-Hill, Inc, New York (1994)
Eddy, W., Schervish, M.: How Many Comparisons Does Quicksort Use. J. Algorithms 19, 402–431 (1995)
Brent, R.P.: The parallel Evaluation of General Arithmetic Expressions. J. of the ACT 21(2), 201–206 (1974)
Gibbons, A., Rytter, W.: Efficient Parallel Algorithms. Cambridge U. Press, Cambridge (1988)
Liu, J., He, J.: A Cost Optimal Parallel Quicksort On CREW PRAM. In: The Proceedings of CATA 2003, Honolulu, Hawaii, pp. 13–16 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, J., Knowles, C., Davis, A.B. (2005). A Cost Optimal Parallel Quicksorting and Its Implementation on a Shared Memory Parallel Computer. In: Pan, Y., Chen, D., Guo, M., Cao, J., Dongarra, J. (eds) Parallel and Distributed Processing and Applications. ISPA 2005. Lecture Notes in Computer Science, vol 3758. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11576235_51
Download citation
DOI: https://doi.org/10.1007/11576235_51
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29769-7
Online ISBN: 978-3-540-32100-2
eBook Packages: Computer ScienceComputer Science (R0)