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 :
بازگشت