Issue No.04 - April (2008 vol.57)
pp: 547-561
The Parallel Disks Model (PDM) has been proposed to alleviate the I/O bottleneck that arises in the processing of massive data sets. Sorting has been extensively studied on the PDM model due to the fundamental nature of the problem. Several randomized algorithms are known for sorting. Most of the prior algorithms suffer from undue complications in memory layouts, implementation, or lack of tight analysis. In this paper we present a simple randomized algorithm that, with high probability}, sorts using an asymptotically optimal number of I/O operations and has all the desirable features for practical implementation. Recently, a considerable interest has been shown by researchers in developing algorithms for problem sizes of practical interest. In this paper we also present several novel algorithms for sorting on the PDM that take only a small number of passes through the data.
Sanguthevar Rajasekaran, Sandeep Sen, "Optimal and Practical Algorithms for Sorting on the PDM", IEEE Transactions on Computers, vol.57, no. 4, pp. 547-561, April 2008, doi:10.1109/TC.2007.70810
[1] A. Aggarwal and G. Plaxton, “Optimal Parallel Sorting in Multi-Level Storage,” Proc. ACM-SIAM Symp. Discrete Algorithms, pp.659-668.
[2] A. Aggarwal and J.S. Vitter, “The Input/Output Complexity of Sorting and Related Problems,” Comm. ACM, vol. 31, no. 9, pp.1116-1127, 1988.
[3] L. Arge, “The Buffer Tree: A New Technique for Optimal I/O-Algorithms,” Proc. Fourth Int'l Workshop Algorithms and Data Structures, pp. 334-345, 1995.
[4] L. Arge, P. Ferragina, R. Grossi, and J.S. Vitter, “On Sorting Strings in External Memory,” Proc. ACM Symp. Theory of Computing, 1995.
[5] L. Arge, M. Knudsen, and K. Larsen, “A General Lower Bound on the I/O-Complexity of Comparison-Based Algorithms,” Proc. Third Workshop Algorithms and Data Structures, 1993.
[6] R. Barve, E.F. Grove, and J.S. Vitter, “Simple Randomized Mergesort on Parallel Disks,” Parallel Computing, vol. 23, nos. 4-5, pp. 601-631, 1997.
[7] K. Batcher, “Sorting Networks and Their Applications,” Proc. AFIPS Spring Joint Computing Conf., vol. 32, pp. 307-314, 1968.
[8] G. Chaudhry and T.H. Cormen, “Getting More from Out-of-Core Columnsort,” Proc. Fourth Workshop Algorithm Eng. and Experiments, pp. 143-154, 2002.
[9] G. Chaudhry, T.H. Cormen, and E.A. Hamon, “Parallel Out-of-Core Sorting: The Third Way,” Cluster Computing, to appear.
[10] G. Chaudhry, T.H. Cormen, and L.F. Wisniewski, “Columnsort Lives! An Efficient Out-of-Core Sorting Program,” Proc. 13th Ann. ACM Symp. Parallel Algorithms and Architectures, pp. 169-178, 2001.
[11] R. Dementiev and P. Sanders, “Asynchronous Parallel Disk Sorting,” Proc. ACM Symp. Parallel Algorithms and Architectures, pp. 138-148, 2003.
[12] E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms. W.H.Freeman, 1998.
[13] D. Hutchinson, P. Sanders, and J. Vitter, “Duality between Prefetching and Queued Writing with Parallel Disks,” Proc. Ninth European Symp. Algorithms, pp. 62-73, 2001.
[14] T. Leighton, “Tight Bounds on the Complexity of Parallel Sorting,” IEEE Trans. Computers, vol. 34, no. 4, pp. 344-354, Apr. 1985.
[15] Y. Ma, S. Sen, and D. Scherson, “The Distance Bound for Sorting on Mesh Connected Processor Arrays Is Tight,” Proc. 27th Symp. Foundations of Computer Science, pp. 255-263, 1986.
[16] J.M. Marberg and E. Gafni, “Sorting in Constant Number of Row and Column Phases on a Mesh,” Algorithmica, vol. 3, no. 4, pp.561-572, 1988.
[17] M. Nodine and J. Vitter, “Deterministic Distribution Sort in Shared and Distributed Memory Multirocessors,” Proc. ACM Symp. Parallel Algorithms and Architectures, pp. 120-129, jsv/Papers/catalog node16.html, 1993.
[18] M.H. Nodine and J.S. Vitter, “Greed Sort: Optimal Deterministic Sorting on Parallel Disks,” J. ACM, vol. 42, no. 4, pp. 919-933, 1995.
[19] S. Rajasekaran, “Sorting and Selection on Interconnection Networks,” DIMACS Series in Discrete Math. and Theoretical Computer Science, vol. 21, pp. 275-296, 1995.
[20] S. Rajasekaran, “A Framework for Simple Sorting Algorithms on Parallel Disk Systems,” Theory of Computing Systems, vol. 34, no. 2, pp. 101-114, 2001.
[21] S. Rajasekaran and S. Sen, “PDM Sorting Algorithms that Take a Small Number of Passes,” Proc. Int'l Parallel and Distributed Processing Symp., 2005.
[22] S. Rajasekaran and S. Sen, “A Simple Optimal Randomized Sorting Algorithm for the PDM,” Proc. Int'l Symp. Algorithms and Computation, pp. 543-552, 2005.
[23] P. Sanders, S. Enger, and J. Korst, “Fast Concurrent Access to Parallel Disks,” Proc. ACM-SIAM Symp. Discrete Algorithms, pp.849-858.
[24] I.D. Scherson, S. Sen, and A. Shamir, “Shear Sort: A True Two-Dimensional Sorting Technique for VLSI Networks,” Proc. Int'l Conf. Parallel Processing, pp. 903-908, 1986.
[25] C.P. Schnorr and A. Shamir, “An Optimal Sorting Algorithm for Mesh Connected Computers,” Proc. 18th Ann. ACM Symp. Theory of Computing, pp. 255-263, 1986.
[26] C.D. Thompson and H.T. Kung, “Sorting on a Mesh Connected Parallel Computer,” Comm. ACM, vol. 20, no. 4, pp. 263-271, 1977.
[27] L. Valiant and G. Brebner, “Universal Schemes for Parallel Communication,” Proc. 13th ACM Symp. Theory of Computing, pp. 263-277, 1981.
[28] J.S. Vitter and D.A. Hutchinson, “Distribution Sort with Randomized Cycling,” Proc. 12th Ann. SIAM/ACM Symp. Discrete Algorithms, 2001.
[29] J.S. Vitter and E.A.M. Shriver, “Algorithms for Parallel Memory I: Two-Level Memories,” Algorithmica, vol. 12, nos. 2-3, pp. 110-147, 1994.