Bulk: A Modern C++ Interface for Bulk-Synchronous Parallel Programs

  • Jan Willem Buurlage*
  • , Tom Bannink
  • , Rob H. Bisseling
  • *Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

The bulk-synchronous parallel (BSP) programming model gives a powerful method for implementing and describing parallel programs. In this article we present Bulk, a novel interface for writing BSP programs in the C++ programming language that leverages modern C++ features to allow for the implementation of safe and generic parallel algorithms for shared-memory, distributed-memory, and hybrid systems. This interface targets the next generation of BSP programmers who want to write fast, safe, clear and portable parallel programs. We discuss two applications: regular sample sort and the fast Fourier transform, both in terms of performance, and ease of parallel implementation.

Original languageEnglish
Title of host publicationEuro-Par 2018
Subtitle of host publicationParallel Processing - 24th International Conference on Parallel and Distributed Computing, Proceedings
EditorsMassimo Torquati, Marco Aldinucci, Luca Padovani
PublisherSpringer
Pages519-532
Number of pages14
ISBN (Print)9783319969824
DOIs
Publication statusPublished - 27 Aug 2018
Event24th International European Conference on Parallel and Distributed Computing, Euro-Par 2018 - Turin, Italy
Duration: 27 Aug 201831 Aug 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11014 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference24th International European Conference on Parallel and Distributed Computing, Euro-Par 2018
Country/TerritoryItaly
CityTurin
Period27/08/1831/08/18

Keywords

  • Bulk synchronous parallel
  • sample sort
  • Fast Fourier transform
  • hybrid shared/distributed memory

Fingerprint

Dive into the research topics of 'Bulk: A Modern C++ Interface for Bulk-Synchronous Parallel Programs'. Together they form a unique fingerprint.

Cite this