Parallel Implementations of the Selection Problem: A Case Study

  • Authors:
  • Marc Daumas;Paraskevas Evripidou

  • Affiliations:
  • Laboratoire de l'Informatique du Parallélisme UMR CNRS, ENS de Lyon, INRIA 5668, 46, allée d'Italie, 69364 Lyon Cedex 07, FRANCE. Marc.Daumas@ENS-Lyon.Fr;Department of Computer Science, University of Cyprus, P.O. Box 537, Nicosia 134, CYPRUS. Skevos@CS.UCy.ac.Cy

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

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.