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 synchronisations are widely regarded as inherently expensive, this is not the case. As a result, the structure imposed by BSP comes for free in performance terms, while bringing considerable benefits from an application-building perspective. 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 Why is another model needed? In the 1980s a large number of different types of parallel architectures were developed. With hindsight we now see that this variety was both unnecessary and unhelpful. It stifled
|
970
|
A bridging model for parallel computation
– Valiant
- 1997
|
|
434
|
LogP: Towards a Realistic Model of Parallel Computation
– Culler, al
- 1993
|
|
389
|
The High Performance Fortran Handbook
– Koelbel, Loveman, et al.
- 1994
|
|
224
|
The parallel evaluation of general arithmetic expressions,J
– Brent
- 1974
|
|
220
|
Genaral purpose parallel architectures
– Valiant
- 1990
|
|
137
|
Unifying Theories of Programming
– Hoare, Jifeng
- 1998
|
|
92
|
Scalable Computing
– McColl
- 1995
|
|
84
|
Special purpose parallel computing
– McColl
- 1993
|
|
63
|
A library for Bulk-Synchronous Parallel programming
– Miller
- 1993
|
|
53
|
Performance parameters and benchmarking of supercomputers. Parallel Computing
– Hockney
|
|
52
|
A Comparison of Adaptive Wormhole Routing Algorithms
– Boppana, Chalasani
- 1993
|
|
34
|
Lessons learned from implementing BSP
– Hill, Skillicorn
- 1998
|
|
33
|
The thory, practice, and a tool for BSP performance prediction applied to a CFD application
– Hill, Crumpton, et al.
- 1996
|
|
24
|
BSP vs LogP
– Bilardi, Herley, et al.
- 1996
|
|
20
|
Plasma Simulation on Networks of Workstations using the Bulk-Synchronous Parallel Model
– Nibhanupudi, Norton, et al.
- 1995
|
|
16
|
PVM 3 Beyond Network Computing
– Geist
- 1993
|
|
15
|
A proposal for a BSP Worldwide standard. BSP Worldwide, http://www.bsp-worldwide.org
– Goudreau, Hill, et al.
- 1996
|
|
14
|
PAPERS: Purdue's adapter for parallel execution and rapid synchronization
– Dietz, Muhammad, et al.
- 1995
|
|
13
|
Recent enhancements to PVM
– Beguelin, Dongarra, et al.
- 1995
|
|
13
|
Practical Barrier Synchronisation
– Hill, Skillicorn
- 1998
|
|
12
|
Program development and performance prediction on BSP machines using Opal
– Knee
- 1994
|
|
11
|
Vaidy Sunderam. A users’ guide to PVM: parallel virtual machine
– Beguelin, Dongarra, et al.
- 1991
|
|
9
|
Algebraic laws for BSP programming
– He, Miller, et al.
- 1996
|
|
9
|
Two approaches to architecture-independent parallel computation
– Miller
- 1994
|
|
9
|
Foundations of Parallel Programming (Cambridge
– Skillicorn
- 2005
|
|
7
|
On the utility of communicationcomputation overlap in data-parallel programs
– Quinn, Hatcher
- 1996
|
|
6
|
Multigrid aircraft computations using the OPlus parallel library
– Crumpton, Giles
- 1995
|
|
6
|
Thanasis Tsantilas. The Green BSP Library
– Goudreau, Lang, et al.
- 1995
|
|
4
|
The GPL Language: Reference Manual
– McColl, Miller
- 1995
|
|
3
|
Using MPI: Portable Parallel Programming
– Gropp, Lusk, et al.
- 1994
|
|
3
|
A parallel finite element method for electro-magnetic scattering
– Monk, Parrott, et al.
- 1994
|
|
3
|
predictability and performance for parallel computing: Bsp in practice
– Portability
- 1995
|
|
1
|
Towards efficiency and portability: Programming the BS model
– Goudreau, Lang, et al.
- 1996
|