Data reduction and fast routing: A strategy for efficient algorithms for message-passing parallel computers

This paper presents several algorithms for solving problems using massively parallel SIMD hypercube and shuffle-exchange computers. The algorithms solve a wide variety of problems, but they are related because they all use a common strategy. Specifically, all of the algorithms use a divide-and-conquer approach to solve a problem withN inputs using a parallel computer withP processors. The structural properties of the problem are exploited to assure that fewer thanN data items are communicated during the division and combination steps of the divide-and-conquer algorithm. This reduction in the amount of data that must be communicated is central to the efficiency of the algorithm.This paper addresses four problems, namely the multiple-prefix, data-dependent parallel-prefix, image-component-labeling, and closest-pair problems. The algorithms presented for the data-dependent parallel-prefix and closest-pair problems are the fastest known whenN ≥P and the algorithms for the multiple-prefix and image-component-labeling problems are the fastest known whenN is sufficiently large with respect toP.

[1]  Evan R Cohn,et al.  Beta operations: efficient implementation of a primitive parallel operation. Technical report , 1986 .

[2]  V. Benes Optimal rearrangeable multistage connecting networks , 1964 .

[3]  Sartaj Sahni,et al.  Parallel Algorithms to Set Up the Benes Permutation Network , 1982, IEEE Transactions on Computers.

[4]  M. J. B. Duff,et al.  Intermediate-level image processing , 1986 .

[5]  Jorge L. C. Sanz,et al.  Hypercube and Shuffle-Exchange Algorithms for Image Component Labeling , 1987, J. Algorithms.

[6]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[7]  Russ Miller,et al.  Mesh Computer Algorithms for Computational Geometry , 1989, IEEE Trans. Computers.

[8]  Jon Louis Bentley,et al.  Multidimensional divide-and-conquer , 1980, CACM.

[9]  Richard Cole,et al.  Approximate and exact parallel scheduling with applications to list, tree and graph problems , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[10]  Richard Cole,et al.  Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms , 1986, STOC '86.

[11]  Abhiram G. Ranade,et al.  Fluent parallel computation , 1989 .

[12]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[13]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[14]  Y. Han Designing fast and efficient parallel algorithms , 1987 .

[15]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[16]  Azriel Rosenfeld,et al.  Digital Picture Processing , 1976 .

[17]  Sartaj Sahni,et al.  Data broadcasting in SIMD computers , 1981, IEEE Transactions on Computers.

[18]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[19]  Mikhail J. Atallah,et al.  Efficient Parallel Solutions to Some Geometric Problems , 1986, J. Parallel Distributed Comput..

[20]  Sartaj Sahni,et al.  Parallel permutation and sorting algorithms and a new generalized connection network , 1982, JACM.