|
Topic Name: Laptop computers will be the today's supercomputers.
Category: Quantum Computing
Research persons: FAISAL SAIED,Steve Kirsch,Susanne E. Hambrusch
Location: Purdue University * 250 N. University St., Rm. 202 * West Lafayette, IN 47907, United States
Details
The fastest of the fastest computers -
supercomputers used at national research centers, research universities and
major corporations - will soon gain even more performance by taking advantage of
multicore computing.Despite the promise of almost unimagined computing power,
however, even computing experts wonder whether this time the hardware developers
have raced too far ahead of many programmers' ability to create software.
Faisal Saied, senior research scientist
for Information Technology at Purdue, says that parallel computing has been an
esoteric skill limited to people involved with high-performance supercomputing.
That is changing now that desktop computers and even laptops are multicore.
"High-performance computing
experts have learned to deal with this, but they are a fraction of the
programmers," Saied says. "In the future you won't be able to get a
computer that's not multicore, and as multicore chips become ubiquitous, all
programmers will have to learn new tricks."
Even in high-performance computing
there are areas that aren't yet ready for the new multicore machines.
"In industry, much of their
high-performance code is not parallel," Saied says. "These
corporations have a lot of time and money invested in their software, and they
are rightly worried about having to re-engineer that code base."
Multicore computers have more than one
processing unit, or CPU, on a computer chip, each, in essence, a separate PC. In
the next few years new high-performance computers will have dozens or hundreds
of PCs on a chip, offering vast improvements in computing performance over
current top machines.
Multicore computers are required if
computers are going to continue to increase in computing performance as they
have over previous decades. This increased performance is needed for a variety
of high-tech tasks, such as climate modeling, military weapons design, drug
discovery and improving manufacturing.
But multicore computers require
parallel computer programs because each PC, or core, must get its own set of
instructions. Meanwhile, much of the currently available software is not written
to take advantage of multicore computing.
For all of the amazing things that
computers do, they do it all one thing at a time. The instructions are delivered
in single file, as if passing through a single door. Parallel processing opens
more doors, but also creates challenges because of the multiple instruction
threads required.
"Imagine you had four golf balls
and needed to hit four targets. If you had four people each throwing a ball at
the same time, they could do it faster than one person alone. That's the
advantage of multicore computing. Multiple PCs, all on the same chip, are
working on multiple tasks. The difficulty comes in breaking the task into
multiple components," Saied says.
Steve Kirsch, an engineering fellow for
Raytheon Systems Co., says that multicore computing presents both the dream of
infinite computing power and the nightmare of programming.
"The real lesson here is that the
hardware and software industries have to pay attention to each other,"
Kirsch says. "Their futures are tied together in a way that they haven't
been in recent memory, and that will change the way both businesses will
operate."
Gordon Moore, retired chairman and CEO
of Intel Corp., famously observed that the number of components on an integrated
chip would double every 24 months (often stated as every 18 months), and Moore's
Law has served as both a prescient prediction and an engineering goal for the
information technology industry.
But about five years ago, researchers
began seeing a discrepancy between the predicted performance from circuits and
the actual computing capability in high-performance computing. Although the
number of transistors on the circuits continued to increase, as predicted by
Moore's Law, actual performance remained about the same because of power and
heat issues. This has become known as "Moore's Gap."
The problem with current chips is that
the transistors leak power even when they are doing nothing, and with sequential
processing there are a lot of processors waiting their turn, says Tilak Agerwala,
vice president of systems at IBM Research.
"Currently, transistor performance
is limited by power constraints causing microprocessor clock speeds to saturate
and high-performance microprocessor cores to dissipate more power than simpler
alternatives," Agerwala says. "As the performance of a single thread
of computation flattens out, multicore processing will become critical to system
performance growth."
Computation is at a point where
multithread programming is the only way to accelerate innovation and discovery,
Agerwala says.
"We will deliver the levels of
computing capability required to advance the fields of science and
engineering," Agerwala says. "Future supercomputers will effectively
utilize many cores per chip and perhaps a million cores per system on
multithreaded, parallelized applications."
Agerwala notes that IBM's Blue Gene/L,
the world's most powerful supercomputer, already exploits 131,072 processor
cores all working in parallel, using two cores per chip.
Chip makers Intel, IBM, AMD and Sun
have all announced that they will soon begin producing multicore chips. In
February, Intel released research details about a chip with 80 cores, a
fingernail sized chip that has the same processing power that in 1996 required a
supercomputer with a 2,000-square-foot footprint and using 1,000 times the
electrical power.
Kirsch says despite the promise of
powerful new supercomputers, multicore computing presents a problem for
companies and researchers who depend on previously written software that has
been steadily improving and evolving over the past few decades. "Our legacy
software is a real concern to us," he says.
Kirsch said that parallel programming
for multicore computers may even require new computer languages.
"Today we program in sequential
languages," he says. "Do we need to express our algorithms at a higher
level of abstraction? Research into these areas is critical to our
success."
Researchers at Purdue, working closely
with industrial collaborators, are developing new programming models and tools
that simplify the task of writing programs for a multicore platform, says
Susanne Hambrusch, professor and head of Purdue's Computer Science Department.
"Our programming languages
researchers are exploring new programming paradigms and models," Hambrusch
says. "Our course on multicore architectures is also preparing students for
future software development positions. Purdue is clearly playing a defining role
in this critical technology."
Multicore computers are beginning to
appear for consumers, and computer scientists say this commodity approach to
parallel computing will benefit consumers as well as users of high-performance
computing.
Suresh Jagannathan, an associate
professor of computer science at Purdue, has a positive outlook on the future of
parallel programming in computing.
"There's a thin line between
pessimism and opportunity," he says. "This is a definite opportunity.
There is notable work here at Purdue to develop new programming languages,
abstractions and implementations to harness parallelism and bring it into the
mainstream."
Jagannathan says the transition for
desktop computers will take a different path than that of high-performance
computing.
"HPC systems are on the bleeding
edge of technology," he says. "But it's not the case that we've hit a
brick wall. There are approaches available to us. In the long run, we will
harness multicore technology, and more programs will take advantage of it. When
multicore is ubiquitous, we expect the entire software stack - from applications
all the way down to operating system kernels - to take advantage of the
parallelism afforded by these architectures."
Saied says that although the difficulty
of writing parallel software is currently an issue in high-performance
computing, that issue will reach desktop computing soon enough.
"In five or six years, laptop
computers will have the same capabilities, and face the same obstacles, as
today's supercomputers," Saied says. "This challenge will face people
who program for desktop computers, too. People who think they have nothing to do
with supercomputers and parallel processing will find out that they need these
skills, too."
FAISAL SAIED
Senior Research Scientist
Performance Engineering Group
Rosen Center for Advanced Computing
ITaP,
and the Computing Research Institute (CRI)
Purdue University
Campus mailing address:
525 Young Hall
151 S. Grant Street
West Lafayette, IN 47906-3560
Email: fsaied _at_ purdue.edu
Phone: (765) 494-1583, Fax: (765) 494-1559
Steve Kirsch
stk@propel.com
Propel Software Corporation
1010 Rincon Circle
San Jose, CA 95131-1325
Office: (408) 571-6317
Admin: (408) 571-6332
Fax: (408) 577-1070
Susanne E. Hambrusch ,
Professor and Department Head
Department of Computer Science
305 N. University St.
Purdue University
West Lafayette, IN 47906
seh@cs.purdue.edu
phone: 765-494-6003
fax: 765-496-1640
Funded:
This Research Organized by Purdue
Computing Research Institute.
|