Title
On the Quality of Implementation of the C++11 Thread Support Library
Abstract
Providing standardized building blocks for task-parallel programs within a language and its standard library has several advantages over other solutions. Close integration with compilers and runtime systems allows for potentially higher performance and portability facilitates wide-spread use. In the recently ratified C++11 standard, language constructs have been added along with a memory model to provide the developer with such building blocks. They allow accessing task parallelism and synchronization in a flexible and standardized way, potentially removing the need for third-party solutions. Nevertheless, since parallelization aims at high performance, an examination of the quality of implementation of these standardized means is necessary to determine their suitability for replacing established solutions. To that end, we present INNCABS, a new cross-platform cross-library benchmark suite consisting of 14 benchmarks with varying task granularities and synchronization requirements. Based on these benchmarks, we demonstrate that the performance of C++11 parallelism constructs in the three most commonly employed C++ runtime libraries prevents their use as a full replacement for third-party solutions due to simplistic parallelism implementations and high synchronization overheads.
Year
DOI
Venue
2015
10.1109/PDP.2015.33
PDP
Keywords
Field
DocType
benchmark testing,hardware,parallel programming,synchronization,compilers,async,instruction sets,software quality,memory model,parallel processing,task parallelism
Asynchronous communication,Computer architecture,Task parallelism,Computer science,Parallel computing,Language construct,Compiler,Thread (computing),Memory model,Data parallelism,Software portability,Distributed computing
Conference
ISSN
Citations 
PageRank 
1066-6192
3
0.40
References 
Authors
7
3
Name
Order
Citations
PageRank
Peter Thoman17913.20
Philipp Gschwandtner2587.15
Thomas Fahringer32847254.09