Journal of computing sciences in colleges · 2008 · 127 citations · 0 references
ComputingComputer ScienceHigh-performance ComputingComputer ArchitectureParallel AlgorithmsParallel ComputingCpu SchedulingParallel ArchitecturesParallel Runtime SystemsTask ParallelismThread ManagementThread ProgrammingMulti-core ComputingMulticore ArchitecturesMulticore Processor ArchitectureMultithreadingParallel ProgrammingThread SchedulingThread-based ParallelismThreading
Intel® Threading Building Blocks [1] is a C++ runtime library that abstracts the low-level threading details necessary for effectively utilizing multi-core processors. It uses C++ templates to eliminate the need to create and manage threads. Applications tend to be more portable since parallelism is achieved through library calls and utilization of a task manager for scheduling. The task manager analyzes the system the software is running on, chooses the optimal number of threads, and performs load balancing that spreads out the work evenly across all processor cores. The library consists of data structures and algorithms that simplify parallel programming in C++ by avoiding requiring a programmer to use native threading packages such as POSIX threads or Windows threads, or even the portable Boost Threads.