Book looks at multi-core C++ libraries
Jul 23, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsO'Reilly has published a book about a C++ library from Intel aimed at improving application performance on multi-core processors. Intel Threading Building Blocks, by James Reinders, documents TBB, a cross-platform, portable runtime library said to abstract the low-level threading details necessary… for optimal multi-core performance.
(Click for larger view of cover art showing a wild canary)
Intel's Threading Building Blocks (TBB) product comprises a small runtime of about 120KB, together with template libraries linked in at compile time. The libraries implement a task scheduler, memory allocator, and timing counter, along with various generic parallel algorithms, thread-safe containers, and synchronization primitives.
According to Reinders, TBB can help developers adapt their existing applications to perform well on multi-core processors, without having to understand parallel computing theory. They simply choose those parts of their C++ applications that could benefit most from parallelism — searching and indexing functions, for instance — and then re-write them around the function calls available in TBB.
TBB currently supports the GNU Compiler Collection (GCC), as well as Intel's commercial compilers. It supports about a dozen commercial Linux OSes, along with Apple Mac OS and Microsoft Windows OSes. Hardware-wise, it supports currently shipping multi-core processors from Intel, and scales pretty well up to systems with 16 cores, Reinders said.
More details about TBB can be found here.
Availability
The 332-page book Intel Threading Building Blocks is available now in bookstores, or direct from O'Reilly, priced at $35.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.