Published October 1, 2017 | Version v1
Journal article Open

Bringing Parallel Patterns Out of the Corner: The P3ARSEC Benchmark Suite

Description

High-level parallel programming is an active research topic aimed at promoting parallel programming methodologies that provide the programmer with high-level abstractions to develop complex parallel software with reduced time to solution. Pattern-based parallel programming is based on a set of composable and customizable parallel patterns used as basic building blocks in parallel applications. In recent years, a considerable effort has been made in empowering this programming model with features able to overcome shortcomings of early approaches concerning flexibility and performance. In this article, we demonstrate that the approach is flexible and efficient enough by applying it on 12 out of 13 PARSEC applications. Our analysis, conducted on three different multicore architectures, demonstrates that pattern-based parallel programming has reached a good level of maturity, providing comparable results in terms of performance with respect to both other parallel programming methodologies based on pragma-based annotations (i.e., OpenMP and OmpSs) and native implementations (i.e., Pthreads). Regarding the programming effort, we also demonstrate a considerable reduction in lines of code and code churn compared to Pthreads and comparable results with respect to other existing implementations.

Files

results.zip

Files (50.7 MB)

Name Size Download all
md5:0c5deb09a1a3b73603247786c6e56f6d
50.7 MB Preview Download

Additional details

Funding

European Commission
RePhrase - REfactoring Parallel Heterogeneous Resource-Aware Applications - a Software Engineering Approach 644235