|
ABSTRACT
List ranking and list scan are two primitive operations used in many parallel algorithms that use list, trees, and graph data structures. But vectorizing and parallelizing list ranking is a challenge because it is highly communication intensive and dynamic. In addition, the serial algorithm is very simple and has very small constants. In order to compete, a parallel algorithm must also be simple and have small constants. A parallel algorithm due to Wyllie is such an algorithm, but it is not work efficient—its performance degrades for longer and longer linked lists. In contrast, work efficient PRAM algorithms developed to date have very large constants. It does not achieve O(log n) running time, but we contend that work efficiency and small constants is more important, given that vector and multiprocessor machines are used for problems that are much larger than the number of processors and, therefore, the O(log n) running time, but we contend that work efficiency and small constants is more important, given that vector and multiprocessor machines are used for problems that are much larger than the number of processors and, therefore, the O(log n) time is never achieved in practice. In particular, to the best of our knowledge, our implementation of list ranking and list scan on the CRAY C-90 is the fastest implementation to date. In addition, it is the first implementation of which we are aware that outperforms fast workstations. The success of our algorithm is due to its relatively large grain size and simplicity of the inner loops, and the success of the implementation is due to pipelining reads and writes through vectorization to hide latency, minimizing load balancing by deriving equations for predicting and optimizing performance, and avoiding conditional tests except when load balancing.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
S. Baase. Introduction to parallel connectivity, list ranking, and Euler tour techniques. In J. Reif, editor, Synthesis of Parallel Algorithms, pages 61-114. Morgan Kaufmann, 1993.
|
| |
5
|
|
| |
6
|
|
 |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
W. Feller. An lntoduction to Probability Theory and Its Applications. Wiley Series in Probability and Mathematical Statistics. John Wiley & Sons, New York, 1971.
|
| |
11
|
H. Gazit, G. L. Miller, and S.-H. Teng. Optimal tree contraction in the EREW model. In S. K. Tewsburg, B. W. Dickinson, and S. C. Schwartz, editors, Concurrent Computations, pages 139-156. Plenum Publishing Corporation, 1988.
|
| |
12
|
|
| |
13
|
R. Halverson and S. K. Das. A comprehensive survey of parallel finked fist ranking algorithms. Technical Report CRPDC-93-12, University of North Texas, Aug. 1993.
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
G. L. Miller and 3. H. Reif. Parallel tree contraction and its application. In Proceedings Symposium on Foundations of Computer Science, pages 478-489, Oct. 1985.
|
| |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
M. Reid-Miller, G. L. Miller, and F. Modugno. List ranking and parallel tree contraction. In J. Reif, editor, Synthesis of Parallel Algorithms, pages 115-194. Morgan Kaufmann, 1993.
|
 |
22
|
|
| |
23
|
U. Vishkin. Advanced parallel prefix-sums, list ranking and connectivity. In J. Reif, editor, Synthesis of Parallel Algorithms, pages 215-257. Morgan Kaufmann, 1993.
|
| |
24
|
J. C. WyUie. The complexity of parallel computations. Technical l#eport TR-79-387, Department of Computer Science, Cornell University, Ithaca, NY, Aug. 1979.
|
| |
25
|
M. Zagha. Efficient Irregular Computations on Vector Multiprocessors. PhD thesis, School of Computer Science, Carnegie Mellon University. In Preparation.
|
 |
26
|
|
CITED BY 6
|
|
|
|
|
|
|
|
|
|
|
Guy E. Blelloch , Phillip B. Gibbons , Yossi Matias , Marco Zagha, Accounting for memory bank contention and delay in high-bandwidth multiprocessors, Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures, p.84-94, June 24-26, 1995, Santa Barbara, California, United States
|
|
|
|
|
|
|
|