2002 · 45 citations · 22 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel AlgorithmsParallel ComputingData ParallelismDistributed ComputingDistributed Data ProcessingDistributed Memory ParallelismDistributed Memory ProgrammingScalable Algorithm DesignCommunication PrimitivesDistributed MemoryDistributed Memory CommunicationParallel Algorithm AnalysisParallel Algorithm ScalabilityParallel Select AlgorithmsParallel Selection AlgorithmsScalable Parallel Algorithms
A common statistical problem is that of finding the median element in a set of data. This paper presents a fast and portable parallel algorithm for finding the median given a set of elements distributed across a parallel machine. In fact, our algorithm solves the general selection problem that requires the determination of the element of rank i, for an arbitrarily given integer i. Practical algorithms needed by our selection algorithm for the dynamic redistribution of data are also discussed. Our general framework is a distributed memory programming model enhanced by a set of communication primitives. We use efficient techniques for distributing, coalescing, and load balancing data as well as efficient combinations of task and data parallelism. The algorithms have been coded in SPLIT-C and run on a variety of platforms, including the Thinking Machines CM-5, IBM SP-1 and SP-2, Gray Research T3D, Meiko Scientific CS-2, Intel Paragon, and workstation clusters. Our experimental results illustrate the scalability and efficiency of our algorithms across different platforms and improve upon all the related experimental results known to the authors.
22
V. J. Rayward‐Smith, Thomas H. Cormen, Charles E. Leiserson et al. · Journal of the Operational Research Society · 1991 · 17K citations
MPI: A Message-Passing Interface Standard
Message P Forum · 1994 · 2.7K citations
Efficient algorithms for all-to-all communications in multi-port message-passing systems
Jehoshua Bruck, Ching‐Tien Ho, Shlomo Kipnis et al. · 1994 · 78 citations · Full text