BSPlib: the BSP Programming Library

Publication date

1998-12

Authors

Hill, J.M.D.
McColl, B.
Stefanescu, D.C.
Goudreau, M.W.
Lang, K.
Rao, S.B.
Suel, T.
Tsantilas, T.
Bisseling, Rob H.ISNI 0000000384208994

Editors

Advisors

Supervisors

Document Type

Article
Open Access logo

License

Abstract

BSPlib is a small communications library for bulk synchronous parallel (BSP) programming which consists of only 20 basic operations. This paper presents the full definition of BSPlib in C, motivates the design of its basic operations, and gives examples of their use. The library enables programming in two distinct styles: direct remote memory access (DRMA) using put or get operations, and bulk synchronous message passing (BSMP). Currently, implementations of BSPlib exist for a variety of modern architectures, including massively parallel computers with distributed memory, shared memory multiprocessors, and networks of workstations. BSPlib has been used in several scientific and industrial applications; this paper briefly describes applications in benchmarking, Fast Fourier Transforms (FFTs), sorting, and molecular dynamics.

Keywords

Mathematics, Wiskunde en computerwetenschappen, Landbouwwetenschappen, Wiskunde: algemeen, Taverne

Citation

Hill, J M D, McColl, B, Stefanescu, D C, Goudreau, M W, Lang, K, Rao, S B, Suel, T, Tsantilas, T & Bisseling, R H 1998, 'BSPlib: the BSP Programming Library', Parallel Computing, vol. 24, no. 14, pp. 1947-1980. https://doi.org/10.1016/S0167-8191(98)00093-3