Skip to main content

Finding the maximum, merging and sorting in a parallel computation model

  • Nonnumerical Parallel Algorithms
  • Conference paper
  • First Online:
Conpar 81 (CONPAR 1981)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 111))

Included in the following conference series:

Abstract

A model for synchronized parallel computation is described in which all p processors have access to a common memory. this model is used to solve the problems of finding the maximum, merging, and sorting by p processors.

The main results are:

  1. 1.

    Finding the maximum of n elements (1<p≦n) within a depth of 0(n/p+log log p) (optimal for p≦n/log log n).

  2. 2.

    Merging two sorted lists of length m and n (m≦n) within a depth of 0(n/p+log n) for p≦n (optimal for p≦n/log n), 0(log m/log p/n) for p≧n (=0(k) if p=[m1/kn], k>1.

  3. 3.

    Sorting n elements within a depth of 0(n/p log n + log n log p) for p≦n, (optimal for p≦n/log n). 0(log2 n/log p/n + log n) for p ≧ n (=0(k log n) if p=[n1+1/k], k>1).

The depth of 0(k log n) for p = [n1+1/k] processors was also achieved by Hirschberg [Hi78] and Preparata [P78]. Our algorithm is substantially simpler.

All the elementary operations including allocation of processors to their jobs are taken into account in deriving the depth complexity and not only comparisons.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alton, D.A. and Eckstein, D.M.: "Parallel breadth-first search of p sparce graphs". Submitted to Proc. of Humboldt State University Conference on Graph Theory, Combinatorics and Computing. Phillis Clinn (ed.). To be published in 1980 by Utilitas Mathematica, University of Manitoba, Winnipeg.

    Google Scholar 

  2. Batcher, K.E.: "Sorting networks and their applications". Proc. AFIPS Spring Joint Computer Conf., 32, (1968), pp. 307–314.

    Google Scholar 

  3. Eckstein, D.M.: Parallel Processing using depth-first search and breadthfirst search. Ph.D. thesis, Dept. of Computer Science, University of Iowa, Iowa City, Iowa 52242, 1977.

    Google Scholar 

  4. Eckstein, D.M. and Alton, D.A.: "Parallel searching of non sparse graphs". To appear in SIAM J. on Computing.

    Google Scholar 

  5. Even, S.: "Parallelism in tape — sorting". Comm. ACM 17, 4 (April 1974), pp. 202–204.

    Article  MATH  MathSciNet  Google Scholar 

  6. Gavril, F.: "Merging with parallel processors". Comm. ACM 18, 10 (October 1975), pp. 588–591.

    Article  MATH  Google Scholar 

  7. Heller, D.: "A survey of parallel algorithms in numerical linear algebra". SIAM Review 20(4), (October 1978), pp. 740–777.

    Article  MATH  MathSciNet  Google Scholar 

  8. Hirschberg, D.S.: "Fast parallel sorting algorithms". Comm. ACM 21, 8 (August 1978), pp. 657–661.

    Article  MATH  MathSciNet  Google Scholar 

  9. Hirschberg, D.S., Chandra, A.K., and Sarwate, D.V.: "Computing connected components on parallel computers". Comm. ACM 22, 8 (August 1979) pp. 461–464.

    Article  MATH  MathSciNet  Google Scholar 

  10. Knuth, D.E.: The Art of Computer Programming, Vol. 3. Addison Wesley, Reading, Mass., 1973.

    Google Scholar 

  11. Kung, H.T.: The Structure of parallel algorithms. To appear in the forthcoming Advances in Computers, Vol. 19, Academic Press.

    Google Scholar 

  12. Preparata, F.P.: "New Parallel — sorting schemes". IEEE Trans. on Computers, Vol. C-27, (July 1978), pp. 669–673.

    MathSciNet  Google Scholar 

  13. Reghbati (Arjomandi), E. and Corneil, D.G.: "Parallel computations in graph theory". SIAM J. on Computing, Vol. 7,2 (May 1978), pp. 230–237.

    Article  MATH  Google Scholar 

  14. Savage, C.: "Parallel algorithms for graph theoretic problems". Ph.D. thesis, Univ. of Illinois, Urbana, Ill. 61801, 1977.

    Google Scholar 

  15. Valiant, L.G.: "Parallelism in comparison problems". SIAM J. on Computing, Vol. 4,3, (Sept. 1975), pp. 348–355.

    Article  MATH  MathSciNet  Google Scholar 

  16. Winograd, S.: "On the parallel evaluation of certain arithmetic expressions". Journal ACM, Vol. 22,4 (October 1975), pp. 477–492.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

W. Brauer P. Brinch Hansen D. Gries C. Moler G. Seegmüller J. Stoer N. Wirth Wolfgang Händler

Rights and permissions

Reprints and permissions

Copyright information

© 1981 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shiloach, Y., Vishkin, U. (1981). Finding the maximum, merging and sorting in a parallel computation model. In: Brauer, W., et al. Conpar 81. CONPAR 1981. Lecture Notes in Computer Science, vol 111. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0105127

Download citation

  • DOI: https://doi.org/10.1007/BFb0105127

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10827-6

  • Online ISBN: 978-3-540-38715-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics