TW 624

A. N. Yzelman, R. H. Bisseling, D. Roose, en K. Meerbergen
MulticoreBSP for C: a high-performance library for shared-memory parallel programming


The Bulk Synchronous Parallel (BSP) model, as well as parallel programming interfaces based on BSP, classically target distributed-memory parallel architectures. In earlier work, Yzelman and Bisseling designed a MulticoreBSP for Java library specifically for shared-memory architectures. In the present article, we further investigate this concept and introduce the new high-performance MulticoreBSP for C library. Among other features, this library supports nested BSP runs. We show that existing BSP software performs well regardless whether it runs on distributed-memory or shared-memory architectures, and also show that applications in MulticoreBSP can perform on-par with state-of-the-art counterparts written in other shared-memory parallel programming interfaces. We furthermore study the applicability of BSP when working on highly non-uniform memory access (NUMA) architectures.

report.pdf (271K) / mailto: A.-J. Yzelman