Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter.
Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.
Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.
OCR for page 1
Abstract
I
nformation technology (IT) has the potential to continue to dramati -
cally transform how we work and live. One might expect that future IT
advances will occur as a natural continuation of the stunning advances
that IT has enabled over the last half-century, but reality is more sobering.
IT advances of the last half-century have depended critically on the
rapid growth of single-processor performance—by a factor of 10,000 in
just the last 2 decades—at ever-decreasing cost and with manageable
increases in power consumption. That growth stemmed from increasing
the number and speed of transistors on a processor chip by reducing
their size and—with improvements in memory, storage, and network-
ing capacities—resulted in ever more capable computer systems. It was
important for widespread IT adoption that the phenomenal growth in
performance was achieved while maintaining the sequential stored-program
model that was developed for computers in the 1940s. Moreover, computer
manufacturers worked to ensure that specific instruction set compatibil-
ity was maintained over generations of computer hardware—that is, a
new computer could run new applications, and the existing applications
would run faster. Thus, software did not have to be rewritten for each
hardware generation, and so ambition and imagination were free to drive
the creation of increasingly innovative, capable, and computationally
intensive software, and this in turn inspired businesses, government, and
the average consumer to buy successive generations of computer software
and hardware. Software and hardware advances fed each other, creating
a virtuous IT economic cycle.
1
OCR for page 1
2 THE FUTURE OF COMPUTING PERFORMANCE
Early in the 21st century, improvements in single-processor perfor-
mance slowed, as measured in instructions executed per second, and such
performance now improves at a very modest pace, if at all. This abrupt
shift is due to fundamental limits in the power efficiency of complemen -
tary metal oxide semiconductor integrated circuits (used in virtually all
computer chips today) and apparent limits in the efficiencies that can be
exploited in single-processor architectures. Reductions in transistor size
continue apace, and so more transistors can still be packed onto chips,
albeit without the speedups seen in the past. As a result, the computer-
hardware industry has commenced building chips with multiple proces-
sors. Current chips range from several complex processors to hundreds
of simpler processors, and future generations will keep adding more.
Unfortunately, that change in hardware requires a concomitant change in
the software programming model. To use chip multiprocessors, applica -
tions must use a parallel programming model, which divides a program into
parts that are then executed in parallel on distinct processors. However,
much software today is written according to a sequential programming
model, and applications written this way cannot easily be sped up by
using parallel processors.
The only foreseeable way to continue advancing performance is to
match parallel hardware with parallel software and ensure that the new
software is portable across generations of parallel hardware. There has
been genuine progress on the software front in specific fields, such as
some scientific applications and commercial searching and transactional
applications. Heroic programmers can exploit vast amounts of parallel -
ism, domain-specific languages flourish, and powerful abstractions hide
complexity. However, none of those developments comes close to the
ubiquitous support for programming parallel hardware that is required
to ensure that IT’s effect on society over the next two decades will be as
stunning as it has been over the last half-century.
For those reasons, the Committee on Sustaining Growth in Com-
puting Performance recommends that our nation place a much greater
emphasis on IT and computer-science research and development focused
on improvements and innovations in parallel processing, and on making
the transition to computing centered on parallelism. The following should
have high priority:
· Algorithms that can exploit parallel processing;
· New computing “stacks” (applications, programming languages,
compilers, runtime/virtual machines, operating systems, and
architectures) that execute parallel rather than sequential pro-
grams and that effectively manage software parallelism, hard-
ware parallelism, power, memory, and other resources;
OCR for page 1
3
ABSTRACT
· Portable programming models that allow expert and typical pro-
grammers to express parallelism easily and allow software to be
efficiently reused on multiple generations of evolving hardware;
· Parallel-computing architectures driven by applications, includ-
ing enhancements of chip multiprocessors, conventional data-
parallel architectures, application-specific architectures, and radi-
cally different architectures;
· Open interface standards for parallel programming systems that
promote cooperation and innovation to accelerate the transition
to practical parallel computing systems; and
· Engineering and computer-science educational programs that
incorporate an increased emphasis on parallelism and use a vari-
ety of methods and approaches to better prepare students for the
types of computing resources that they will encounter in their
careers.
Although all of those areas are important, fundamental power and
energy constraints mean that even the best efforts might not yield a com -
plete solution. Parallel computing systems will grow in performance over
the long term only if they can become more power-efficient. Therefore, in
addition to a focus on parallel processing, we need research and devel -
opment on much more power-efficient computing systems at all levels
of technology, including devices, hardware architecture, and software
systems.
OCR for page 1