Task-parallel versus data-parallel library-based programming in multicore systems

Diego Andrade, Basilio B. Fraguela, James Brodman, David Padua

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Multicore machines are becoming common. There are many languages, language extensions and libraries devoted to improve the programmability and performance of these machines. In this paper we compare two libraries, that face the problem of programming multicores from two different perspectives, task parallelism and data parallelism. The Intel Threading Building Blocks (TBB) library separates logical task patterns, which are easy to understand, from physical threads, and delegates the scheduling of the tasks to the system. On the other hand, Hierarchically Tiled Arrays (HTAs) are data structures that facilitate locality and parallelism of array intensive computations with a block-recursive nature following a data-parallel paradigm. Our comparison considers both ease of programming and the performance obtained using both approaches. In our experience, HTA programs tend to be smaller or as long as TBB programs, while performance of both approaches is very similar.

Original languageEnglish (US)
Title of host publicationProceedings of the 17th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2009
Pages101-110
Number of pages10
DOIs
StatePublished - 2009
Event17th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2009 - Weimar, Germany
Duration: Feb 18 2009Feb 20 2009

Publication series

NameProceedings of the 17th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2009

Other

Other17th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, PDP 2009
Country/TerritoryGermany
CityWeimar
Period2/18/092/20/09

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Software

Fingerprint

Dive into the research topics of 'Task-parallel versus data-parallel library-based programming in multicore systems'. Together they form a unique fingerprint.

Cite this