Publication:
A Comparative study and evaluation of parallel programming models for shared-memory parallel architectures

Loading...
Thumbnail Image
Identifiers
Publication date
2013-07
Defense date
Advisors
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Ohmsha Ltd. and Springer Japan
Impact
Google Scholar
Export
Research Projects
Organizational Units
Journal Issue
Abstract
Nowadays, shared-memory parallel architectures have evolved and new programming frameworks have appeared that exploit these architectures: OpenMP, TBB, Cilk Plus, ArBB and OpenCL. This article focuses on the most extended of these frameworks in commercial and scientific areas. This paper shows a comparative study of these frameworks and an evaluation. The study covers several capacities, such as task deployment, scheduling techniques, or programming language abstractions. The evaluation measures three dimensions: code development complexity, performance and efficiency, measure as speedup per watt. For this evaluation, several parallel benchmarks have been implemented with each framework. These benchmarks are created to cover certain scenarios, like regular memory access or irregular computation. The conclusions show some highlights, like the fact that some frameworks (OpenMP, Cilk Plus) are better for transforming quickly a sequential code, others (TBB) have a small footprint which is ideal for small problems, and others (OpenCL) are suited for heterogeneous architectures but they require a very complex development process. The conclusions also show that the vectorization support is more critical than multitasking to achieve efficiency for those problems where this approach fits.
Description
Keywords
Parallel Programming, Vector Instructions, Multithreading, Performance Analysis, Efficiency Analysis, Power Consumption
Bibliographic citation
New generation computing (2013). 31(3), pp. 139-161