Nnews
Science | DOI: 10.1145/1562164.1562171
Gregory Goth
entering a Parallel
universe
The multicore processors that help extend
Moore’s Law may run afoul of Amdahl’s Law.
urgent situation here. We have to crack
this one.” (See “Face the Inevitable,
Embrace Parallelism,” on p. 36.)
numerous calculations are performed
simultaneously, operating on the principle that large problems can often be
divided into many smaller ones, which
are then solved concurrently. However,
generations of programmers for mainstream platforms have never had to
work in parallel.
“We have come to parallel programming not because of the success of our
software, but because of the failure of
our hardware,” says Tim Mattson, a senior research scientist at Intel. “If the
hardware can’t give it to you with a single thread anymore you have to figure
out how to do parallel. So it’s kind of an
What to Parallelize
There are numerous “yes, but…” scenarios inherent in bringing parallel
programming to mainstream machines
and developers. For instance, many
programming experts say the return
on investment for changing sequential
code for the next generation of dual-core or quad-core machines might not
be large enough to make the transition
worthwhile. As a result, researchers and
toolmakers have a short grace period in
which to examine exactly which applications are worth parallelizing.
“The consequence of having to
move to multicore is that we have to
figure out how to use parallelism in
places where we need more performance,” says Jim Larus, director of
software architecture for cloud computing futures at Microsoft. “Not ev-
For yEars, soFtwarE program- mers had it easy when they wanted to write faster and more feature-laden applica- tions. Theyjustdidit, thanks
to the seemingly eternal verity of
Moore’s Law, which states that the density of transistors on a chip will double
every two years. The size of transistors
has continued to shrink, making it possible for more transistors to be placed
on a die of the same size, but clock
speeds haven’t increased, due to thermal issues. Intel and other chip manufacturers have opted to use the extra
transistors to build multiple processor
cores on the same die, as opposed to
increasing the functionality or sophistication of each individual core. In order to take advantage of these multiple
cores, applications must be rewritten
to accomplish their task, using multiple parallel threads of execution.
PHo To GRAPH By AARon TERs TEEG
Parallel programming is not new;
it has been a mainstay in high-performance computing for decades. However, the vast majority of general-purpose platforms have been designed
to operate sequential applications,
in which one instruction logically follows its predecessor to accomplish a
given task. In parallel programming,
Students participating in a class on multicore programming at the university of illinois at
urbana-champaign’s universal Parallel computing Research center in June 2009.