Issue No.01 - January/February (2011 vol.28)
Wooyoung Kim , Intel
Michael Voss , Intel
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2011.12
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.
multicore programming, threading libraries, parallel-programming models, software engineering, programming, parallel programming
Wooyoung Kim, Michael Voss, "Multicore Desktop Programming with Intel Threading Building Blocks", IEEE Software, vol.28, no. 1, pp. 23-31, January/February 2011, doi:10.1109/MS.2011.12