Characterizing and improving the performance of Intel Threading Building Blocks

Gilberto Contreras, Margaret Rose Martonosi

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

80 Scopus citations

Abstract

The Intel Threading Building Blocks (TBB) runtime library [1] is a popular C++ parallelization environment [2][3] that offers a set of methods and templates for creating parallel applications. Through support of parallel tasks rather than parallel threads, the TBB runtime library offers improved performance scalability by dynamically redistributing parallel tasks across available processors. This not only creates more scalable, portable parallel applications, but also increases programming productivity by allowing programmers to focus their efforts on identifying concurrency rather than worrying about its management. While many applications benefit from dynamic management of parallelism, dynamic management carries parallelization over-head that increases with increasing core counts and decreasing task sizes. Understanding the sources of these overheads and their implications on application performance can help programmers make more efficient use of available parallelism. Clearly understanding the behavior of these overheads is the first step in creating efficient, scalable parallelization environments targeted at future CMP systems. In this paper we study and characterize some of the overheads of the Intel Threading Building Blocks through the use of real-hardware and simulation performance measurements. Our results show that synchronization overheads within TBB can have a significant and detrimental effect on parallelism performance. Random stealing, while simple and effective at low core counts, becomes less effective as application heterogeneity and core counts increase. Overall, our study provides valuable insights that can be used to create more robust, scalable runtime libraries.

Original languageEnglish (US)
Title of host publication2008 IEEE International Symposium on Workload Characterization, IISWC'08
Pages57-66
Number of pages10
DOIs
StatePublished - 2008
Event2008 IEEE International Symposium on Workload Characterization, IISWC'08 - Seattle, WA, United States
Duration: Sep 14 2008Sep 16 2008

Publication series

Name2008 IEEE International Symposium on Workload Characterization, IISWC'08

Other

Other2008 IEEE International Symposium on Workload Characterization, IISWC'08
Country/TerritoryUnited States
CitySeattle, WA
Period9/14/089/16/08

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Hardware and Architecture
  • Control and Systems Engineering

Fingerprint

Dive into the research topics of 'Characterizing and improving the performance of Intel Threading Building Blocks'. Together they form a unique fingerprint.

Cite this