BSPlib: The BSP programming library

Jonathan M D Hill, Bill McColl, Dan C. Stefanescu, Mark W. Goudreau, Kevin Lang, Satish B. Rao, Torsten Suel, Thanasis Tsantilas, Rob H. Bisseling

    Research output: Contribution to journalArticlepeer-review

    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.

    Original languageEnglish (US)
    Pages (from-to)1947-1980
    Number of pages34
    JournalParallel Computing
    Volume24
    Issue number14
    DOIs
    StatePublished - Dec 1998

    Keywords

    • Bulk synchronous parallel
    • One-sided communication
    • Parallel communications library

    ASJC Scopus subject areas

    • Software
    • Theoretical Computer Science
    • Hardware and Architecture
    • Computer Networks and Communications
    • Computer Graphics and Computer-Aided Design
    • Artificial Intelligence

    Fingerprint Dive into the research topics of 'BSPlib: The BSP programming library'. Together they form a unique fingerprint.

    Cite this