Advances in Randomized Parallel Computing pp 85-111 | Cite as

# Efficient Randomized Algorithms for Parallel and Distributed Machines

## Abstract

In this chapter, our goal is to demonstrate the power of randomization in designing efficient parallel algorithms as well as the distributed ones. The specific problems we are concerned with are routing, sorting, PRAM emulation, and selection. We show that with randomization techniques optimal or near optimal routing, sorting and selection algorithms can be obtained for various well-known networks including mesh, hypercube, de Bruijn, and star graph. Using the obtained routing algorithms, optimal emulations of the CRCW PRAM on these networks are also given. We show that using randomization techniques, efficient selection and sorting schemes for processing large files distributed over a network can be developed. The schemes are developed using sampling techniques.

## Keywords

Selection Algorithm Parallel Algorithm Emulation Algorithm Delay Path Communication Delay## Preview

Unable to display preview. Download preview PDF.

## References

- [1]S. Akers, D. Harel, and B. Krishnamurthy, “The Star Graph: An Attractive Alternative to the n-Cube,”
*Proc. International Conference of Parallel Processing*, 1987, pp. 393–400.Google Scholar - [2]R. Aleliunas, “Randomized parallel communication,”
*Proc. Symposium on Principles of Distributed Computing*, 1982, pp. 60–72.Google Scholar - [3]M. Blum, R. Floyd, V.R. Pratt, R. Rivest, and R. Tarjan, “Time Bounds for Selection,”
*Journal of Computer and System Science*, vol. 7, no. 4, 1972, pp. 448–461.MathSciNetCrossRefGoogle Scholar - [4]A. Borodin and J. E. Hopcroft, “Routing, merging and sorting on parallel models of computation,”
*Proc. Symposium on Theory of Computing*, 1982, pp. 338–344.Google Scholar - [5]R.W. Floyd and R.L. Rivest, “Expected Time Bounds for Selection,”
*Comm. of the ACM*, vol. 18, no. 3, March 1975, pp. 165–172.MATHCrossRefGoogle Scholar - [6]G.N. Frederickson, “Tradeoffs for Selection in Distributed Networks,” in
*Proceedings of 2nd ACM Symposium on Principles of Distributed Computing*, 1983, pp. 154–160.Google Scholar - [7]Jr. M. Hall, “Combinatorial Theory,” Second Edition, John Ailey and Sons, New York, 1986.Google Scholar
- [8]C.A.R. Hoare, “Quicksort,”
*Computer Journal*, vol. 5, no. 1, 1962, pp. 10–15.MathSciNetMATHCrossRefGoogle Scholar - [9]R. Karp and V. Ramachandran, “Parallel Algorithms for Shared-Memory Machines,” in
*Handbook of Theoretical Computer Science*, North-Holland, 1990.Google Scholar - [10]C. Kaklamanis, D. Krizanc, L. Narayanan, and Th. Tsantilas, “Randomized Sorting and Selection on Mesh Connected Processor Arrays,”
*Proc. ACM Symposium on Parallel Algorithms and Architectures*, 1991.Google Scholar - [11]A. Karlin and E. Upfal, “Parallel Hashing-An Efficient Implementation of Shared Memory,”
*Proc. Symposium on Theory of Computing*, 1986, pp. 160–166.Google Scholar - [12]D. Krizanc, S. Rajasekaran, and T. Tsantilas, “Optimal Routing Algorithms for Mesh-Connected Processor Arrays,”
*Proc. Aegean Workshop on Computing*, 1988. Springer-Verlag Lecture Notes in Computer Science # 319, pp. 411–422.Google Scholar - [13]M. Kunde, “Routing and Sorting on Mesh-Connected Arrays,” Proc. Aegean Workshop on Computing, 1988. Springer-Verlag Lecture Notes in Computer Science # 319, pp. 423–433.Google Scholar
- [14]T. Leighton, B. Maggs, and S. Rao, “Universal packet routing algorithms,”
*Proc. Symposium on Foundations of Computer Science*, 1988, pp. 256–269.Google Scholar - [15]T. Leighton, F. Makedon, and I.G. Tollis, “A 2n - 2 Step Algorithm for Routing in an n x n Array With Constant Size Queues,”
*Proc. Symposium on Parallel Algorithms and Architectures*, 1989, pp. 328–335.Google Scholar - [16]J.I. Munro and M.S. Paterson, “Selection and Sorting with Limited Storage,”
*Theoretical Computer Science*12, 1980, pp. 315–323.MathSciNetMATHCrossRefGoogle Scholar - [17]A. Menn and A.K. Somani, “An Efficient Sorting Algorithm for the Star Graph Interconnection Network,”
*Proc. International Conference on Parallel Processing*, 1990, vol. 3, pp. 1–8.Google Scholar - [18]D. Nassimi and S. Sahni, “Parallel Permutation and Sorting Algorithms and a New Generalized Connection Network,” JACM, July 1982, pp. 642– 667.Google Scholar
- [19]M. Palis, S. Rajasekaran, and D.S.L. Wei, “Packet Routing; and PRAM Emulation on Star Graphs and Leveled Networks,”
*Journal of Parallel and Distributed Computing*, vol. 20, no. 2, Feb. 1994, pp. 145–157.MATHCrossRefGoogle Scholar - [20]M. Palis, S. Rajasekaran, and D.S.L. Wei, “Emulation of PRAMs on Leveled Networks,” I, Chicago, August, 1991, pp.I-418–421.Google Scholar
- [21]N. Pippenger, “Parallel communication with limited buffers,”
*Proc. Symposium on Foundations of Computer Science*, 1984, pp. 127–136.Google Scholar - [22]M.O. Rabin, “Probabilistic Algorithms,” in: Traub, J.F., ed.,
*Algorithms and Complexity*, Academic Press, New York, 1976, pp. 21–36.Google Scholar - [23]S. Rajasekaran, “Randomized Selection on the Hypercube.”
*Journal of Parallel and Distributed Computing*, 37 (2), 1996, pp. 187–193.MathSciNetCrossRefGoogle Scholar - [24]S. Rajasekaran, “
*k-k*Routing,*k-k*Sorting, and Cut Through Routing on the Mesh,” TR, Dept. of CIS, University of Pennsylvania, Oct. 1991.Google Scholar - [25]S. Rajasekaran and J.H. Reif, “Derivation of Randomized Sorting and Selection Algorithms,” in
*Parallel Algorithm Derivation And Program Transformation*, edited by Paige, Reif, and Wachter, Kluwer Academic Publishers, 1993, pp. 187–205.CrossRefGoogle Scholar - [26]S. Rajasekaran and J.H. Reif, “Optimal and Sub-Logarithmic Time Randomized Parallel Sorting Algorithms,”
*SIAM Journal on Computing*, 18 (3), 1989, pp. 594–607.MathSciNetMATHCrossRefGoogle Scholar - [27]S. Rajasekaran, and S. Sen, “Random Sampling Techniques and Parallel Algorithms Design,” in
*Synthesis of Parallel Algorithms*, editor: Reif, J.H., Morgan-Kaufmann Publishers, San Mateo, California, 1993.Google Scholar - [28]S. Rajasekaran, W. Chen, and S. Yooseph., “Unifying Themes for Selection on Any Network,”
*Journal of Parallel and Distributed Computing*46 (1), 1997, pp. 105–111.MATHCrossRefGoogle Scholar - [29]S. Rajasekaran and D.S.L. Wei, “Selection, Routing and Sorting on the Star Graph,”
*Journal of Parallel and Distributed Computing*, vol. 41, April, 1997, pp. 225–233.Google Scholar - [30]S. Rajasekaran and D.S.L. Wei, “Designing Efficient Distributed Algorithms Using Sampling Techniques,”
*11th International Parallel Processing Symposium, IEEE*, Geneva, Switzerland, April 1–5, 1997 (with S. Rajasekaran).Google Scholar - [31]S. Rajasekaran and D.S.L. Wei, “Efficient Selection and Sorting Schemes for Processing Large Distributed Files in de Bruijn Networks and Hypercubes,” under a second round of review for
*IEEE Transactions on Computers*.Google Scholar - [32]A.G. Ranade, “How to Emulate Shared Memory,”
*Proc. Symposium on Foundations of Computer Science*, 1987, pp. 185–194.Google Scholar - [33]R. Reischuk, “Probabilistic Parallel Algorithms for Sorting and Selection,” SIAM Journal of Computing, 14 (2), 1985, pp. 396–411.MathSciNetMATHCrossRefGoogle Scholar
- [34]J.H. Reif and L.G. Valiant, “A Logarithmic Time Sort for Linear Size Networks,” JACM, volume 34, January, 1987, pp. 60–76.Google Scholar
- [35]L. Shrira, N. Francez, and M. Rodeh, “Distributed K-Selection: From a Sequential to a Distributed Algorithm,” in
*Proceedings of 2nd ACM Symposium on Principles of Distributed Computing*, 1983, pp. 143–153.Google Scholar - [36]R. Solovay, and V. Strassen, “A Fast Monte-Carlo Test for Primality,”
*SIAM Journal on Computing*, vol. 6, 1977, pp. 84–85.MathSciNetMATHCrossRefGoogle Scholar - [37]E. Upfal, “Efficient schemes for parallel communication,”
*Journal of the ACM*, vol. 31, no. 3, 1984, pp. 507–517.MathSciNetMATHCrossRefGoogle Scholar - [38]L.G. Valiant, “A Scheme for Fast Parallel Communication.”
*SIAM Journal on Computing*, 11 (2), 1982, pp. 350–361.MathSciNetMATHCrossRefGoogle Scholar - [39]L.G. Valiant and G.J. Brebner, “Universal Schemes for Parallel Communication,”
*Proc. Symposium on Theory of Computing*, 1981, pp. 263–277.Google Scholar - [40]U. Vishkin, “An Optimal Parallel Algorithm for Selection,” Unpublished manuscript, 1983.Google Scholar
- [41]L.M. Wegner, “Sorting a Distributed File in a Network,” in
*Proc. Princeton Conf. Inform*.*Sci. Syst.*, 1982, pp. 505–509.Google Scholar - [42]D.S.L. Wei, “Fast Parallel Routing and Computation on Interconnection Networks,” Ph.D. Thesis, Univ. of Pennsylvania, Jan. 1991.Google Scholar
- [43]D.S.L. Wei, S. Rajasekaran, Z. Cheng, K. Naik, and S.Y. Kuo, “Efficient Selection and Sorting Schemes Using Coteries for Processing Large Distributed Files,” submitted.Google Scholar