Bulk: A Modern C++ Interface for Bulk-Synchronous Parallel Programs
Files
Publication date
2018-08-27
Editors
Torquati, Massimo
Aldinucci, Marco
Padovani, Luca
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
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.
Keywords
Bulk synchronous parallel, sample sort, Fast Fourier transform, hybrid shared/distributed memory, Taverne, Theoretical Computer Science, General Computer Science
Citation
Buurlage, J W, Bannink, T & Bisseling, R H 2018, Bulk : A Modern C++ Interface for Bulk-Synchronous Parallel Programs. in M Torquati, M Aldinucci & L Padovani (eds), Euro-Par 2018 : Parallel Processing - 24th International Conference on Parallel and Distributed Computing, Proceedings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 11014 LNCS, Springer, pp. 519-532, 24th International European Conference on Parallel and Distributed Computing, Euro-Par 2018, Turin, Italy, 27/08/18. https://doi.org/10.1007/978-3-319-96983-1_37, conference