A bridging model for parallel computation
Communications of the ACM
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
A methodology for the development and the support of massively parallel programs
Programming languages for parallel processing
Structured development of parallel programs
Structured development of parallel programs
Using BSP to optimize Data Distribution in Skeleton Programs
HPCN Europe '99 Proceedings of the 7th International Conference on High-Performance Computing and Networking
Optimizing Data-Parallel Programs Using the BSP Cost Model
Euro-Par '98 Proceedings of the 4th International Euro-Par Conference on Parallel Processing
Skel-BSP: Performance Portability for Skeletal Programming
HPCN Europe 2000 Proceedings of the 8th International Conference on High-Performance Computing and Networking
The Skel-BSP Global Optimizer: Enhancing Performance Portability in Parallel Programming
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Hi-index | 0.00 |
Stream parallelism allows parallel programs to exploit the potential of executing different parts of the computation on distinct input data items. Stream parallelism can also exploit the concurrent evaluation of the same function on different input items. These techniques are usually named "pipelining" and "farming out". The P3L language includes two stream parallel skeletons: the Pipe and the Farm constructors. The paper presents a methodology for efficient implementation of the P3L Pipe and Farm on a BSP computer. The methodology provides a set of analytical models to predict the constructors performance using the BSP cost model. Therefore a set of optimisation rules to decide the optimal degree of parallelism and the optimal size for input tasks (grain) are derived. A prototype has been validated on a Cluster of PC and on a Cray T3D computer.