Portable randomized list ranking on multiprocessors using MPI
We describe a simple multiprocessor list ranking algorithm with low communication volume and simple communication pattern. With p processors the algorithm performs < 4p (pipelined) communication rounds involving only point-to-point communication. For lists with N elements the algorithm runs in O(N ln p/p+p) time. Experiments with an implementation using MPI on a network of workstations and an IBM SP-2 comparing the algorithm to the well-known pointer jumping algorithm are reported. On the NOW the new algorithm is significantly better than pointer jumping. On the IBM SP-2 only the new algorithm was able to produce (modest) speed-up.
Unable to display preview. Download preview PDF.
- 2.A. Geist, A. Beguein, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine — A User's Guide and Tutorial for Networked Parallel Computing. MIT Press, 1994.Google Scholar
- 4.J. JáJá. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.Google Scholar
- 7.M. Reid-Miller. List ranking and list scan on the cray C-90. In Proceedings of the 6th ACM Symposium on Parallel Algorithms and Architectures (SPAA), pages 104–113, 1994.Google Scholar
- 8.J. F. Sibeyn. From parallel to external list ranking. Technical Report MPI-I-91-1-021, Max-Planck Institut für Informatik, 1997.Google Scholar
- 9.J. F. Sibeyn, F. Guillaume, and T. Seidel. Practical parallel list ranking. In Solving Irregularly Structured Problems in Parallel (IRREGULAR'97), volume 1253 of Lecture Notes in Computer Science, pages 25–36, 1997.Google Scholar
- 10.M. Snir, S. W. Otto, S. Huss-Lederman, D. W. Walker, and J. Dongarra. MPI: The Complete Reference. MIT Press, 1996.Google Scholar
- 11.J. L. Träff. Parallel list ranking and other operations on lists. Technical Report SFB 124-D6 3/97, Universität des Saarlandes, Saarbrücken, Germany, Sonderforschungsbereich 124, VLSI Entwurfsmethoden und Parallelität, 1997. 69 Pages.Google Scholar
- 13.J. C. Wyllie. The Complexity of Parallel Computation. PhD thesis, Computer Science Department. Cornell University, 1979. Technical Report TR-79-387.Google Scholar