Ulrich Drepper, Red Hat
With the speed of individual cores no longer increasing at the rate we came to love over the past decades,
programmers have to look for other ways to increase
the speed of our ever-more-complicated applications. The functionality provided by the CPU
manufacturers is an increased number of
execution units, or CPU cores.
To use these extra cores, programs
must be parallelized. Multiple paths of
execution have to work together to
complete the tasks the program has
to perform, and as much of that
work as possible has to happen
concurrently. Only then is