A comparative performance study of common and popular task-centric programming frameworks
2013 (English)In: Concurrency and Computation, ISSN 1532-0626, E-ISSN 1532-0634Article in journal, Editorial material (Refereed) Published
SUMMARY: Programmers today face a bewildering array of parallel programming models and tools, making it difficult to choose an appropriate one for each application. An increasingly popular programming model supporting structured parallel programming patterns in a portable and composable manner is the task-centric programming model. In this study, we compare several popular task-centric programming frameworks, including Cilk Plus, Threading Building Blocks, and various implementations of OpenMP 3.0. We have analyzed their performance on the Barcelona OpenMP Tasking Suite benchmark suite both on a 48-core AMD Opteron 6172 server and a 64-core TILEPro64 embedded many-core processor. Our results show that the OpenMP offers the highest flexibility for programmers, and this flexibility comes to a cost. Frameworks supporting only a specific and more restrictive model, such as Cilk Plus and Threading Building Blocks, are generally more efficient both in terms of performance and energy consumption. However, Intel's implementation of OpenMP tasks performs the best and closest to the specialized run-time systems.
Place, publisher, year, edition, pages
OpenMP, cilk, TBB, wool, scheduling task performance
IdentifiersURN: urn:nbn:se:kth:diva-143625DOI: 10.1002/cpe.3186ISI: 000349085100001ScopusID: 2-s2.0-84919463068OAI: oai:DiVA.org:kth-143625DiVA: diva2:707915
QC 201406262014-03-262014-03-262015-10-16Bibliographically approved