Pipelined data parallel algorithms-I: concept and modeling
- 1 January 1990
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 1 (4) , 470-485
- https://doi.org/10.1109/71.80175
Abstract
[[abstract]]The basic concept of piplined data-parallel algorithms is introduced by contrasting the algorithms with other styles of computation and by a simple example (a pipeline image distance transformation algorithm). Pipelined data-parallel algorithms are a class of algorithms which use piplined operations and data level partitioning to achieve parallelism. Applications which involve data parallelism and recurrence relations are good candidates for this kind of algorithm. The computations are ideal for distributed-memory multicomputers. By controlling the granularity through data partitioning and overlapping the operations through pipelining, it is possible to achieve a balanced computation on multicomputers. An analytic model is presented for modeling pipelined data-parallel computation on multicomputers. The model uses timed Petri nets to describe data pipelining operations. As a case study, the model is applied to a pipelined matrix multiplication algorithm. Predicted results match closely with the measured performance on a 64-node NCUBE hypercube multicomputer.[[fileno]]2030203010021[[department]]資訊工程學This publication has 17 references indexed in Scilit:
- On the communication complexity of generalized 2-D convolution on array processorsIEEE Transactions on Computers, 1989
- On partitioning and mapping for hypercube computingInternational Journal of Parallel Programming, 1988
- Concurrent I/O system for the hypercube multiprocessorPublished by Association for Computing Machinery (ACM) ,1988
- Wavefront Array Processors-Concept to ImplementationComputer, 1987
- Deadlock-Free Message Routing in Multiprocessor Interconnection NetworksIEEE Transactions on Computers, 1987
- Matrix algorithms on a hypercube I: Matrix multiplicationParallel Computing, 1987
- Advanced parallel processing with supercomputer architecturesProceedings of the IEEE, 1987
- A Task Allocation Model for Distributed Computing SystemsIEEE Transactions on Computers, 1982
- Why systolic architectures?Computer, 1982
- Task Allocation in Distributed Data ProcessingComputer, 1980