Parallator Transformation towards C++ parallelism using TBB

Kempf, Martin (2013) Parallator Transformation towards C++ parallelism using TBB. Masters thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of parallator.pdf]
parallator.pdf - Supplemental Material

Download (2MB) | Preview


Intels TBB (Threading Building Blocks) library provides a high level abstraction to write parallel programs in C++. It addresses the fact that parallel hardware with increasing number of cores in processors is likely to be the main source of performance gains. With this change in common computer architecture, an application must provide enough parallel work to exploit the computational power of a multi-core CPU. Parallel programs using multiple threads with independent operations are needed. Operations in a loop are often, although not explicitly defined, a source of independent operations and provide therefore potential to introduce parallelism. With algorithm calls of TBB, loop operations can be explicitly parallelized while making use of the efficient task scheduling mechanism that uses threads for parallelism.
A manual transformation of loops to the corresponding TBB algorithm is time consuming and includes pitfalls like carelessly introduced data races. Parallator, an Eclipse plug- in is therefore developed using the C++ Development Tooling (CDT) project to replace loops with TBB calls and provide hints for possible parallelization issues. The plug-in lets the user decide a transformation to apply. This approach differs from automatic parallelization introduced by compilers and improves the situation of a rather conservative handling towards parallelism by a compiler. Parallator is based on a former project [Kes10] and uses its tree pattern matching algorithm on the program code’s abstract syntax tree to find potential code for parallelism and possible parallelization issues.

Item Type: Thesis (Masters)
Subjects: Area of Application > Development Tools
Technologies > Frameworks and Libraries > Eclipse
Metatags > IFS (Institute for Software)
Divisions: Master of Science in Engineering (MRU Software and Systems)
Depositing User: HSR Deposit User
Thesis advisor
Sommerlad, Peter
Date Deposited: 21 Jun 2013 08:37
Last Modified: 21 Jun 2013 08:37

Actions (login required)

View Item
View Item