DocumentCode
704126
Title
On the Quality of Implementation of the C++11 Thread Support Library
Author
Thoman, Peter ; Gschwandtner, Philipp ; Fahringer, Thomas
Author_Institution
Distrib. & Parallel Syst. Group, Univ. of Innsbruck, Innsbruck, Austria
fYear
2015
fDate
4-6 March 2015
Firstpage
94
Lastpage
98
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.
Keywords
C++ language; parallel programming; program compilers; software libraries; software quality; C++ runtime libraries; C++11 thread support library; INNCABS; compilers; cross-platform cross-library benchmark suite; memory model; runtime systems; standardized building blocks; task parallelism access; task synchronization access; task-parallel programs; varying task granularities; varying task synchronization requirements; Benchmark testing; Hardware; Instruction sets; Libraries; Parallel processing; Standards; Synchronization; C++11; async; benchmarks; inncabs; performance analysis; std::async; std::lock; synchronization; task parallelism;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel, Distributed and Network-Based Processing (PDP), 2015 23rd Euromicro International Conference on
Conference_Location
Turku
ISSN
1066-6192
Type
conf
DOI
10.1109/PDP.2015.33
Filename
7092705
Link To Document