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
Junior Loff,Dalvan Griebler,Gabriele Mencagli,Gabriell Alves de Araújo,Massimo Torquati,Marco Danelutto,Luiz Gustavo Fernandes +6 more
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
Fischer Black,Myron S. Scholes +1 more
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
Jeffrey Dean,Sanjay Ghemawat +1 more
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
Jeffrey Dean,Sanjay Ghemawat +1 more
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
Jiawei Han,Jian Pei,Yiwen Yin +2 more
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.