scispace - formally typeset
Open AccessJournal ArticleDOI

Bringing Parallel Patterns Out of the Corner: The P3 ARSEC Benchmark Suite

Reads0
Chats0
TLDR
This article 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 and native implementations.
Abstract
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.

read more

Citations
More filters
Proceedings ArticleDOI

Efficient NAS Benchmark Kernels with C++ Parallel Programming

TL;DR: A C++ porting of the NPB kernels is described and the performance achieved by different parallel implementations written using the Intel TBB, OpenMP and FastFlow frameworks for Multi-Cores is analyzed.
Journal ArticleDOI

Parallel programming models for heterogeneous many-cores: a comprehensive survey

TL;DR: A comprehensive survey for parallel programming models for heterogeneous many-core architectures and the compiling techniques of improving programmability and portability are reviewed and various software optimization techniques for minimizing the communicating overhead are examined.
Journal ArticleDOI

Stream parallelism with ordered data constraints on multi-core systems

TL;DR: A new implementation technique designed to be easily integrated with any of the existing C++ parallel programming frameworks that support stream parallelism is proposed, first implemented and studied using SPar, the authors' high-level domain-specific language for stream Parallelism.
Journal ArticleDOI

Simplifying self-adaptive and power-aware computing with Nornir

TL;DR: Nornir, a C++-based framework, which can be used to enforce performance and power consumption constraints on parallel applications running on shared memory multicores, is proposed and implemented and compared several state-of-the-art existing policies, showing that Nornir can also beused to easily analyze different algorithms and to provide useful insights on them.
Journal ArticleDOI

The NAS Parallel Benchmarks for evaluating C++ parallel programming frameworks on shared-memory architectures

TL;DR: In this paper, the authors present NPB-CPP, a fully C++ translated version of NPB consisting of all the NPB kernels and pseudo-applications developed using OpenMP, Intel TBB, and FastFlow parallel frameworks for multicores.
References
More filters
Journal ArticleDOI

The Pricing of Options and Corporate Liabilities

TL;DR: In this paper, a theoretical valuation formula for options is derived, based on the assumption that options are correctly priced in the market and it should not be possible to make sure profits by creating portfolios of long and short positions in options and their underlying stocks.
Book

Design Patterns: Elements of Reusable Object-Oriented Software

TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Journal ArticleDOI

MapReduce: simplified data processing on large clusters

TL;DR: This paper presents the implementation of MapReduce, a programming model and an associated implementation for processing and generating large data sets that runs on a large cluster of commodity machines and is highly scalable.
Journal ArticleDOI

MapReduce: simplified data processing on large clusters

TL;DR: This presentation explains how the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks.
Journal ArticleDOI

Mining frequent patterns without candidate generation

TL;DR: This study proposes a novel frequent pattern tree (FP-tree) structure, which is an extended prefix-tree structure for storing compressed, crucial information about frequent patterns, and develops an efficient FP-tree-based mining method, FP-growth, for mining the complete set of frequent patterns by pattern fragment growth.
Related Papers (5)