Questions and Answers about BSP

Bulk Synchronous Parallelism (BSP) is a parallel programming model that abstracts from low-level program structures in favour of supersteps. A superstep consists of a set of independent local computations, followed by a global communication phase and a barrier synchronisation. Structuring programs in this way enables their costs to be accurately determined from a few simple architectural parameters, namely the permeability of the communication network to uniformly-random traffic and the time to synchronise. Although permutation routing and barrier synch ronisations are widely regarded as inherently expensive, this is not the case. As a result, the structure imposed by BSP does not reduce performance, while bringing considerable benefits for application building. This paper answers the most common questions we are asked about BSP and justifies its claim to be a major step forward in parallel programming.

[1]  David B. Skillicorn,et al.  Foundations of parallel programming , 1995 .

[2]  W. F. McColl,et al.  Special purpose parallel computing , 1993 .

[3]  David B. Skillicorn,et al.  Practical barrier synchronisation , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[4]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[5]  Paul G. Spirakis,et al.  BSP vs LogP , 1996, SPAA '96.

[6]  G. A. Geist PVM 3 beyond network computing , 1993 .

[7]  Torsten Suel,et al.  Towards efficiency and portability: programming with the BSP model , 1996, SPAA '96.

[8]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[9]  Anthony Skjellum,et al.  Using MPI - portable parallel programming with the message-parsing interface , 1994 .

[10]  Jonathan M. D. Hill,et al.  Collection types for database programming in the BSP model , 1997, PDP.

[11]  Michael B. Giles,et al.  Multigrid aircraft computations using the OPlus parallel library , 1996 .

[12]  David B. Skillicorn,et al.  Lessons Learned from Implementing BSP , 1997, HPCN Europe.

[13]  Philip J. Hatcher,et al.  On the Utility of Communication-Computation Overlap in Data-Parallel Programs , 1996, J. Parallel Distributed Comput..

[14]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[15]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[16]  Lei Chen,et al.  Algebraic Laws for BSP Programming , 1996, Euro-Par, Vol. II.

[17]  Jack J. Dongarra,et al.  Recent Enhancements To Pvm , 1995, Int. J. High Perform. Comput. Appl..

[18]  Jack Dongarra,et al.  Pvm 3 user's guide and reference manual , 1993 .

[19]  Jonathan M. D. Hill,et al.  Theory, Practice, and a Tool for BSP Performance Prediction , 1996, Euro-Par, Vol. II.

[20]  Roger W. Hockney,et al.  Performance parameters and benchmarking of supercomputers , 1991, Parallel Comput..

[21]  Henry G. Dietz,et al.  PAPERS: Purdue's Adapter for Parallel Execution and Rapid synchronization , 1994 .

[22]  Ramesh Subramonian,et al.  LogP: towards a realistic model of parallel computation , 1993, PPOPP '93.

[23]  Richard Miller,et al.  Two-approaches to architecture-independent parallel computation , 1994 .

[24]  William F. McColl,et al.  Scalable Computing , 1995, Computer Science Today.

[25]  Simon Knee,et al.  Program Development and Performance Prediction on BSP Machines Using Opal , 1994 .

[26]  David B. Skillicorn,et al.  Lessons learned from implementing BSP , 1997, Future Gener. Comput. Syst..

[27]  W. F. McColl,et al.  General purpose parallel computing , 1993 .

[28]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[29]  Jack Dongarra,et al.  A User''s Guide to PVM Parallel Virtual Machine , 1991 .

[30]  Suresh Chalasani,et al.  A comparison of adaptive wormhole routing algorithms , 1993, ISCA '93.

[31]  Boleslaw K. Szymanski,et al.  Plasma Simulation on Networks of Workstations using the Bulk-Synchronous Parallel Model , 1995, PDPTA.

[32]  Kevin Parrott,et al.  Portability, predictability and performance for parallel computing: BSP in practice , 1996, Concurr. Pract. Exp..