Skip to main content
Log in

Parallel Implementations of the Selection Problem: A Case Study

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The selection problem has been studied extensively on sequential machines. A linear average time solution and a linear worst-case solution are considered as the standard by most researchers. Theoretical work is also available on parallel models, but it has not been widely implemented on parallel machines. This paper presents an in-depth analysis of the implementation of the standard algorithms, on a number of multiprocessors and supercomputers from the entire spectrum of Flynn's classification, using both an imperative (C based languages with vendor specific parallel extensions) and a functional (SISAL) language. Very interesting results were obtained for all of the experiments performed, leading us to the conclusion that the selection problem has very efficient parallel implementations. Hand-tuned C programs with parallel extensions provided good efficiency but were time-consuming in terms of development. On the other hand, the SISAL code is fully portable and the same program was used on all the machines. The performances of SISAL implementations were comparable to the ones of the hand-tuned C implementations. On all the tests, the routines were able to sustain good speed-up and reasonable efficiency, even with a large number of processors. In two cases (one machine using SISAL, and one using a C-based language), we were able to obtain an efficiency higher than 80% with a configuration close or equal to the maximum number of processors.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  1. B. W. Kernighan and D. M. Ritchie, The C Programming Language, Second Edition, Prentice-Hall (1988).

  2. J. McGraw, S. Skedzielewski, S. Allan, R. Oldehoeft, J. Glauert, C. Kirkham, B. Noyce, and R. Thomas, SISAL: Streams and Iteration in a Single Assignment Language, Version 1.2, Language Reference Manual, Lawrence Livermore National Laboratory (1985).

  3. D. Cann, Retire Fortran? A Debate Rekindled, Comm. ACM 35(8):81–89 (1992).

    Google Scholar 

  4. J. A. Bader and J. Jájá, Practical Parallel Algorithms for Dynamic Data Redistribution, Median Finding, and Selection, Proc. Tenth Int'l. Parallel Proc. Symp., pp. 292–301 (1996).

  5. I. Al-furiah, S. Aluru, S. Goil, and S. Ranka, Practical Algorithm for Selection on Coarse Grained Parallel Computers, IEEE Trans. Parallel and Distrib. Syst. 8(8):813–824 (1997).

    Google Scholar 

  6. E. L. G. Saukas and S. W. Song, A Note on Parallel Selection on Coarse Grained Multi-computers, Algorithmica 24(3–4):371-380 (1999).

    Google Scholar 

  7. L. Carroll, Lawn Tennis Tournament, Saint James Gazette (1883).

  8. D. E. Knuth, The Art of Computer Programming: Seminumerical Algorithms, Addison-Wesley (1973).

  9. R. Sedgewick, Algorithms, Addison-Wesley (1984).

  10. T. H. Cormen, C. E. Leiserson, and R. R. Rivest, Introduction to Algorithms, McGraw-Hill (1991).

  11. M. Blum, R. W. Floyd, V. Pratt, R. R. Rivest, and R. E. Tarjan, Time Bounds for Selection, J. Computer Syst. Sci. 7(4):448–461 (1973).

    Google Scholar 

  12. J. Feo, D. Cann, and R. Oldehoef, A Report on the Sisal Language Project, J. Parallel Distrib. Comput. 10(4):349–366 (1990).

    Google Scholar 

  13. D. Cann and R. R. Oldehoeft, A Guide to Optimizing SISAL Compiler, Technical Report, Lawrence Livermore National Laboratory (1991).

  14. J. J. Dongarra, Performance of Various Computers Using Standard Linear Equations Software, Computer Architecture News 20(3):22–44 (1992).

    Google Scholar 

  15. J. J. Dongarra, Performance of Various Computers Using Standard Linear Equations Software, Report CS-89-85, University of Tennesse (1999).

  16. W. Schönauer, Scientific Computing on Vector Computers, North Holland (1987).

  17. T. Welcome, Programming in LMPS, Technical Report, UCRL-MA-107031, Lawrence Livermore National Laboratory (1991).

  18. M. Ajtai, J. Komlos, W. L. Steiger, and E. Szemeredi, Deterministic Selection in o(log log n) Parallel Time, 18th ACM Symp. Theory of Computation (1986).

  19. R. J. Cole, An Optimally Efficient Selection Algorithm, Information Processing Letters 26(6):295–299 (1988).

    Google Scholar 

  20. C. A. R. Hoare, Algorithms 63: Partition, Comm. ACM 4(7):321 (1961).

    Google Scholar 

  21. R. W. Floyd and R. R. Rivest, Expected Time Bounds for Selection, Comm. ACM 18(3):165–172 (1975).

    Google Scholar 

  22. R. W. Floyd and R. R. Rivest, Algorithm 489: The Algorithm SELECT for Finding the ith Smallest of n Elements, Comm. ACM 18(3):173 (1975).

    Google Scholar 

  23. S. G. Akl, The Design and Analysis of Parallel Algorithms, Prentice-Hall (1989).

  24. C. A. R. Hoare, Algorithms 64: Quicksort, Comm. ACM 4(7):321 (1961).

    Google Scholar 

  25. C. A. R. Hoare, Algorithm 65: Find, Comm. ACM 4(7):321–322 (1961).

    Google Scholar 

  26. D. C. Cann and P. Evripidou, Advanced Array Optimizations for High Performance Functional Languages, IEEE Trans. Parallel and Distrib. Syst. 6(3):229–239 (1995).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Daumas, M., Evripidou, P. Parallel Implementations of the Selection Problem: A Case Study. International Journal of Parallel Programming 28, 103–131 (2000). https://doi.org/10.1023/A:1007511827694

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007511827694

Navigation