Multicore Desktop Programming with Intel Threading Building Blocks

  • Authors:
  • Wooyoung Kim;Michael Voss

  • Affiliations:
  • Intel;Intel

  • Venue:
  • IEEE Software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Writing a correct parallel program is difficult; writing a highly modular parallel program that performs well in a multiprogrammed environment is even more so. Intel Threading Building Blocks (Intel TBB), a key component of Intel Parallel Building Blocks , is a widely used C++ template library that helps developers achieve this goal. The Intel TBB task scheduler uses a process-wide thread pool to establish a composable execution environment that balances a load while quickly adapting to changes in resource availability. Building on top of the task scheduler, the library implements prepackaged, highly tuned algorithms for frequently used parallel idioms. It also provides several concurrent containers and useful, low-level synchronization constructs to help developers safely and efficiently manage their parallel application's data.