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 21
1
The Need for Continued
Performance Growth
I
nformation technology (IT) has become an integral part of modern
society, affecting nearly every aspect of our lives, including education,
medicine, government, business, entertainment, and social interac-
tions. Innovations in IT have been fueled by a continuous and extraor-
dinary increase in computer performance. By some metrics computer
performance has improved by a factor of an average of 10 every 5 years
over the past 2 decades. A sustained downshift in the rate of growth
in computing performance would have considerable ramifications both
economically and for society. The industries involved are responsible for
about $1 trillion of annual revenue in the United States. That revenue has
depended on a sustained demand for IT products and services that in
turn has fueled demand for constantly improving performance. Indeed,
U.S. leadership in IT depends in no small part on its driving and taking
advantage of the leading edge of computing performance. Virtually every
sector of society—manufacturing, financial services, education, science,
government, military, entertainment, and so on—has become dependent
on the continued growth in computing performance to drive new efficien-
cies and innovations. Moreover, all the current and foreseeable future
applications rely on a huge software infrastructure, and the software
infrastructure itself would have been impossible to develop with the more
primitive software development and programming methods of the past.
The principal force allowing better programming models, which empha-
size programmer productivity over computing efficiency, has been the
21
OCR for page 22
22 THE FUTURE OF COMPUTING PERFORMANCE
growth in computing performance. (Chapter 4 explores implications for
software and programming in more detail.)
This chapter first considers the general question of why faster
computers are important. It then examines four broad fields—science,
defense and national security, consumer applications, and enterprise
productivity—that have depended on and will continue to depend on
sustained growth in computing performance. The fields discussed by no
means constitute an exhaustive list,1 but they are meant to illustrate how
computing performance and its historic exponential growth have had vast
effects on broad sectors of society and what the results of a slowdown in
that growth would be.
WHY FASTER COMPUTERS ARE IMPORTANT
Computers can do only four things: they can move data from one
place to another, they can create new data from old data via various
arithmetic and logical operations, they can store data in and retrieve them
from memories, and they can decide what to do next. Students studying
computers or programming for the first time are often struck by the sur-
prising intuition that, notwithstanding compelling appearance to the con-
trary, computers are extremely primitive machines, capable of performing
only the most mind-numbingly banal tasks. The trick is that computers
can perform those simple tasks extremely fast—in periods measured in
billionths of a second—and they perform these tasks reliably and repeat -
ably. Like a drop of water in the Grand Canyon, each operation may be
simple and may in itself not accomplish much, but a lot of them (billions
per second, in the case of computers) can get a lot done.
Over the last 60 years of computing history, computer buyers and
users have essentially “voted with their wallets” by consistently paying
more for faster computers, and computer makers have responded by pric-
1 Health care is another field in which IT has substantial effects—in, for example, patient
care, research and innovation, and administration. A recent National Research Council
(NRC) report, although it does not focus specifically on computing performance, provides
numerous examples of ways in which computation technology and IT are critical under-
pinnings of virtually every aspect of health care (NRC, 2009, Computational Technology
for Effective Health Care: Immediate Steps and Strategic Directions, Washington, D.C.: The
National Academies Press, available online at http://www.nap.edu/catalog.php?record_
id=12572). Yet another critically important field that increasingly benefits from computa -
tion power is infrastructure. “Smart” infrastructure applications in urban planning, high-
performance buildings, energy, traffic, and so on are of increasing importance. That is also
the underlying theme of two of the articles in the February 2009 issue of Communications of
the ACM (Tom Leighton, 2009, Improving performance on the Internet, Communications of
the ACM 52(2): 44-51; and T.V. Raman, 2009, Toward 2W: Beyond Web 2.0, Communications
of the ACM 52(2): 52-59).
OCR for page 23
23
THE NEED FOR CONTINUED PERFORMANCE GROWTH
ing their systems accordingly: a high-end system may be, on the average,
10 percent faster and 30 percent more expensive than the next-best. That
behavior has dovetailed perfectly with the underlying technology devel -
opment in the computers—as ever-faster silicon technology has become
available, faster and faster computers could be designed. It is the nature
of the semiconductor manufacturing process that silicon chips coming
off the fabrication line exhibit a range of speeds. Rather than discard the
slower chips, the manufacturer simply charges less for them. Ever-rising
performance has been the wellspring of the entire computer industry.
Meanwhile, the improving economics of ever-larger shipment volumes
have driven overall system costs down, reinforcing a virtuous spiral 2 by
making computer systems available to lower-price, larger-unit-volume
markets.
For their part, computer buyers demand ever-faster computers in
part because they believe that using faster machines confers on them an
advantage in the marketplace in which they compete.3 Applications that
run on a particular generation of computing system may be impractical or
not run at all on a system that is only one-tenth as fast, and this encour-
ages hardware replacements for performance every 3-5 years. That trend
has also encouraged buyers to place a premium on fast new computer
systems because buying fast systems will forestall system obsolescence
as long as possible. Traditionally, software providers have shown a ten-
dency to use exponentially more storage space and central processing unit
(CPU) cycles to attain linearly more performance; a tradeoff commonly
referred to as bloat. Reducing bloat is another way in which future system
improvements may be possible. The need for periodic replacements exists
whether the performance is taking place on the desktop or in the “cloud”
2 A small number of chips are fast, and many more are slower. That is how a range of prod-
ucts is produced that in total provide profits and, ultimately, funding for the next generation
of technology. The semiconductor industry is nearing a point where extreme ultraviolet
(EUV) light sources—or other expensive, exotic alternatives—will be needed to continue the
lithography-based steps in manufacturing. There are a few more techniques left to imple -
ment before EUV is required, but they are increasingly expensive to use in manufacturing,
and they are driving costs substantially higher. The future scenario that this implies is not
only that very few companies will be able to manufacture chips with the smallest feature
sizes but also that only very high-volume products will be able to justify the cost of using
the latest generation of technology.
3 For scientific researchers, faster computers allow larger or more important questions to be
pursued or more accurate answers to be obtained; office workers can model, communicate,
store, retrieve, and search their data more productively; engineers can design buildings,
bridges, materials, chemicals, and other devices more quickly and safely; and manufacturers
can automate various parts of their assembly processes and delivery methods more cost-
effectively. In fact, the increasing amounts of data that are generated, stored, indexed, and
retrieved require continued performance improvements. See Box 1.1 for more on data as a
performance driver.
OCR for page 24
24 THE FUTURE OF COMPUTING PERFORMANCE
BOX 1.1
Growth of Stored and Retrievable Data
The quantity of information and data that is stored in a digital format has
been growing at an exponential rate that exceeds even the historical rate of
growth in computing performance, which is the focus of this report. Data are
of value only if they can be analyzed to produce useful information that can
be retrieved when needed. Hence, the growth in stored information is another
reason for the need to sustain substantial growth in computing performance.
As the types and formats of information that is stored in digital form con-
tinue to increase, they drive the rapid growth in stored data. Only a few decades
ago, the primary data types stored in IT systems were text and numerical data.
But images of increasing resolution, audio streams, and video have all become
important types of data stored digitally and then indexed, searched, and re-
trieved by computing systems.
The growth of stored information is occurring at the personal, enterprise,
national, and global levels. On the personal level, the expanding use of e-mail,
text messaging, Web logs, and so on is adding to stored text. Digital cameras
have enabled people to store many more images in their personal computers
and data centers than they ever would have considered with traditional film
cameras. Video cameras and audio recorders add yet more data that are stored
and then must be indexed and searched. Embedding those devices into the
ubiquitous cell phone means that people can and do take photos and movies
of events that would previously not have been recorded.
At the global level, the amount of information on the Internet continues to
increase dramatically. As static Web pages give way to interactive pages and so-
cial-networking sites support video, the amount of stored and searchable data
continues its explosive growth. Storage technology has enabled this growth by
reducing the cost of storage by a rate even greater than that of the growth in
processor performance.
The challenge is to match the growth in stored information with the com-
putational capability to index, search, and retrieve relevant information. Today,
there are not sufficiently powerful computing systems to process effectively all
the images and video streams being stored. Satellite cameras and other remote
sensing devices typically collect much more data than can be examined for use-
ful information or important events.
Considerably more progress is needed to achieve the vision described by
Vannevar Bush in his 1945 paper about a MEMEX device that would collect and
make available to users all the information relevant to their life and work.1
1Vannevar Bush, 1945, “As we may think,” Atlantic Magazine, July 1945, available online at
http://www.theatlantic.com/magazine/archive/1969/12/as-we-may-think/3881/.
OCR for page 25
25
THE NEED FOR CONTINUED PERFORMANCE GROWTH
in a Web-based service, although the pace of hardware replacement may
vary in the cloud.
All else being equal, faster computers are better computers.4 The
unprecedented evolution of computers since 1980 exhibits an essentially
exponential speedup that spans 4 orders of magnitude in performance
for the same (or lower) price. No other engineered system in human his-
tory has ever achieved that rate of improvement; small wonder that our
intuitions are ill-tuned to perceive its significance. Whole fields of human
endeavors have been transformed as computer system capability has
ascended through various threshold performance values.5 The impact
of computer technology is so widespread that it is nearly impossible to
overstate its importance.
Faster computers create not just the ability to do old things faster
but the ability to do new things that were not feasible at all before.6 Fast
computers have enabled cell phones, MP3 players, and global positioning
devices; Internet search engines and worldwide online auctions; MRI and
CT scanners; and handheld PDAs and wireless networks. In many cases,
those achievements were not predicted, nor were computers designed
specifically to cause the breakthroughs. There is no overarching roadmap
for where faster computer technology will take us—each new achieve -
ment opens doors to developments that we had not even conceived.
We should assume that this pattern will continue as computer systems
4 See Box 1.2 for a discussion of why this is true even though desktop computers, for ex -
ample, spend most of their time idle.
5 The music business, for example, is almost entirely digital now, from the initial sound
capture through mixing, processing, mastering, and distribution. Computer-based tricks that
were once almost inconceivable are now commonplace, from subtly adjusting a singer’s note
to be more in tune with the instruments, to nudging the timing of one instrument relative to
another. All keyboard instruments except acoustic pianos are now digital (computer-based)
and not only can render very accurate imitations of existing instruments but also can alter
them in real time in a dizzying variety of ways. It has even become possible to isolate a
single note from a chord and alter it, a trick that had long been thought impossible. Similarly,
modern cars have dozens of microprocessors that run the engine more efficiently, minimize
exhaust pollution, control the antilock braking system, control the security system, control
the sound system, control the navigation system, control the airbags and seatbelt retractors,
operate the cruise control, and handle other features. Over many years, the increasing ca -
pability of these embedded computer systems has allowed them to penetrate nearly every
aspect of vehicles.
6 Anyone who has played state-of-the-art video games will recognize the various ways
in which game designers wielded the computational and graphics horsepower of a new
computer system for extra realism in a game’s features, screen resolution, frame rate, scope
of the “theater of combat,” and so on.
OCR for page 26
26 THE FUTURE OF COMPUTING PERFORMANCE
BOX 1.2
Why Do I Need More Performance When
My Computer Is Idle Most of the Time?
When computers find themselves with nothing to do, by default they run
operating-system code known as the idle loop. The idle loop is like the cell-
phone parking lot at an airport, where your spouse sits waiting to pick you up
when you arrive and call him or her. It may seem surprising or incongruous that
nearly all the computing cycles ever executed by computers have been wasted
in the idle loop, but it is true. If we have “wasted” virtually all the computing
horsepower available since the beginning of the computer age, why should we
worry about a potential threat to increased performance in the future? Is there
any point in making machinery execute the idle loop even faster? In fact, there
is. The reason has as much to do with humans as it does with the computing
machines that they design.
Consider the automobile. The average internal-combustion vehicle has a
six-cylinder engine capable of a peak output of around 200 horsepower. Many
aspects of the engine and drivetrain reflect that peak horsepower: when you
press the pedal to the floor while passing or entering a highway, you expect the
vehicle to deliver that peak horsepower to the wheels, and you would be quite
unhappy if various parts of the car were to leave the vehicle instead, unable to
handle the load. But if you drive efficiently, over several years of driving, what
fraction of the time is spent under that peak load condition? For most people,
the answer is approximately zero. It only takes about 20 horsepower to keep
a passenger car at highway speeds under nominal conditions, so you end up
paying for a lot more horsepower than you use.
But if all you had at your driving disposal was a 20-horsepower power plant
(essentially, a golf cart), you would soon tire of driving the vehicle because you
would recognize that energy efficiency is great but not everything; that annoy-
ing all the other drivers as you slowly, painfully accelerate from an on-ramp gets
old quickly; and that your own time is valuable to you as well. In effect, we all
get faster yet.7 There is no reason to think that it will not continue as
long as computers continue to improve. What has changed—and will be
described in detail in later chapters—is how we achieve faster computers.
In short, power dissipation can no longer be dealt with independently of
performance (see Chapter 3). Moreover, although computing performance
has many components (see Chapter 2), a touchstone in this report will be
computer speed; as described in Box 1.3, speed can be traded for almost
any other sort of functionality that one might want.
7 Some of the breakthroughs were not solely performance-driven—some depend on a
particular performance at a particular cost. But cost and performance are closely related,
and performance can be traded for lower cost if desired.
OCR for page 27
27
THE NEED FOR CONTINUED PERFORMANCE GROWTH
accept a compromise that results in a system that is overdesigned for the com-
mon case because we care about the uncommon case and are willing to pay
for the resulting inefficiency.
In a computing system, although you may know that the system is spending
almost all its time doing nothing, that fact pales in comparison with how you
feel when you ask the system to do something in real time and must wait for
it to accomplish that task. For instance, when you click on an attachment or a
file and are waiting for the associated application to open (assuming that it is
not already open), every second drags.1 At that moment, all you want is a faster
system, regardless of what the machine is doing when you are not there. And
for the same reason that a car’s power plant and drivetrain are overdesigned for
their normal use, your computing system will end up sporting clock frequen-
cies, bus speeds, cache sizes, and memory capacity that will combine to yield a
computing experience to you, the user, that is statistically rather rare but about
which you care very much.
The idle-loop effect is much less pronounced in dedicated environments—
such as servers and cloud computing, scientific supercomputers, and some
embedded applications—than it is on personal desktop computers. Servers
and supercomputers can never go fast enough, however—there is no real limit
to the demand for higher performance in them. Some embedded applications,
such as the engine computer in a car, will idle for a considerable fraction of their
existence, but they must remain fast enough to handle the worst-case compu-
tational demands of the engine and the driver. Other embedded applications
may run at a substantial fraction of peak capacity, depending on the workload
and the system organization.
1 It is worth noting that the interval between clicking on most e-mail attachments and suc-
cessful opening of their corresponding applications is not so much a function of the CPU’s
performance as it is of disk speed, memory capacity, and input/output interconnect bandwidth.
Finding: The information technology sector itself and most other sec -
tors of society—for example, manufacturing, financial and other ser-
vices, science, engineering, education, defense and other government
services, and entertainment—have become dependent on continued
growth in computing performance.
The rest of this chapter describes a sampling of fields in which com-
puting performance has been critical and in which a slowing of the growth
of computing performance would have serious adverse repercussions. We
focus first on high-performance computing and computing performance
in the sciences. Threats to growth in computing performance will be felt
there first, before inevitably extending to other types of computing.
OCR for page 28
28 THE FUTURE OF COMPUTING PERFORMANCE
BOX 1.3
Computing Performance Is Fungible
Computing speed can be traded for almost any other feature that one might
want. In this sense, computing-system performance is fungible, and that is what
gives it such importance. Workloads that are at or near the absolute capacity
of a computing system tend to get all the publicity—for every new computing-
system generation, the marketing holy grail is a “killer app” (software applica-
tion), some new software application that was previously infeasible, now runs
adequately, and is so desirable that buyers will replace their existing systems
just to buy whatever hardware is fast enough to run it. The VisiCalc spreadsheet
program on the Apple II was the canonical killer app; it appeared at the dawn of
the personal-computing era and was so compelling that many people bought
computers just to run it. It has been at least a decade since anything like a killer
app appeared, at least outside the vocal but relatively small hard-core gaming
community. The reality is that modern computing systems spend nearly all their
time idle (see Box 1.2 for an explanation of why faster computers are needed
despite that); thus, most systems have a substantial amount of excess computing
capacity, which can be put to use in other ways.
Performance can be traded for higher reliability: for example, the digital sig-
nal processor in a compact-disk player executes an elaborate error-detection-
and-correction algorithm, and the more processing capability can be brought
to bear on that problem, the more bumps and shocks the player can withstand
before the errors become audible to the listener. Computational capacity can
also be used to index mail and other data on a computer periodically in the
background to make the next search faster. Database servers can take elabo-
rate precautions to ensure high system dependability in the face of inevitable
hardware-component failures. Spacecraft computers often incorporate three
processors where one would suffice for performance; the outputs of all three
processors are compared via a voting scheme that detects if one of the three
machines has failed. In effect, three processors’ worth of performance is re-
duced to one processor’s performance in exchange for improved system de-
pendability. Performance can be used in the service of other goals, as well. Files
on a hard drive can be compressed, and this trades computing effort and time
for better effective drive capacity. Files that are sent across a network or across
the Internet use far less bandwidth and arrive at their destination faster when
they are compressed. Likewise, files can be encrypted in much the same way
to keep their contents private while in transit.
OCR for page 29
29
THE NEED FOR CONTINUED PERFORMANCE GROWTH
THE IMPORTANCE OF COMPUTING
PERFORMANCE FOR THE SCIENCES
Computing has become a critical component of most sciences and
complements the traditional roles of theory and experimentation. 8 Theo-
retical models may be tested by implementing them in software, evaluat -
ing them through simulation, and comparing their results with known
experimental results. Computational techniques are critical when experi -
mentation is too expensive, too dangerous, or simply impossible. Exam -
ples include understanding the behavior of the universe after the Big
Bang, the life cycle of stars, the structure of proteins, functions of living
cells, genetics, and the behavior of subatomic particles. Computation is
used for science and engineering problems that affect nearly every aspect
of our daily lives, including the design of bridges, buildings, electronic
devices, aircraft, medications, soft-drink containers, potato chips, and
soap bubbles. Computation makes automobiles safer, more aerodynamic,
and more energy-efficient. Extremely large computations are done to
understand economics, national security, and climate change, and some
of these computations are used in setting public policy. For example, hun -
dreds of millions of processor hours are devoted to understanding and
predicting climate change–one purpose of which is to inform the setting
of international carbon-emission standards.
In many cases, what scientists and engineers can accomplish is lim -
ited by the performance of computing systems. With faster systems, they
could simulate critical details—such as clouds in a climate model or
mechanics, chemistry, and fluid dynamics in the human body—and they
could run larger suites of computations that would improve confidence in
the results of simulations and increase the range of scientific exploration.
Two themes common to many computational science and engineering
disciplines are driving increases in computational capability. The first is
an increased desire to support multiphysics or coupled simulations, such
as adding chemical models to simulations that involve fluid-dynamics
simulations or structural simulations. Multiphysics simulations are neces-
sary for understanding complex real-world systems, such as the climate,
the human body, nuclear weapons, and energy production. Imagine, for
example, a model of the human body in which one could experiment
with the addition of new chemicals (medicines to change blood pressure),
changing structures (artificial organs or prosthetic devices), or effects of
radiation. Many scientific fields are ripe for multiphysics simulations
8 See an NRC report for one relatively recent take on computing and the sciences (NRC,
2008, The Potential Impact of High-End Capability Computing on Four Illustrative Fields of
Science and Engineering, Washington, D.C.: The National Academies Press, available online
at http://www.nap.edu/catalog.php?record_id=12451).
OCR for page 30
30 THE FUTURE OF COMPUTING PERFORMANCE
because the individual components are understood well enough and are
represented by a particular model and instantiation within a given code
base. The next step is to take two or more such code bases and couple
them in such a way that each communicates with the others. Climate
modeling, for example, is well along that path toward deploying coupled
models, but the approach is still emerging in some other science domains.
The second crosscutting theme in the demand for increased comput -
ing performance is the need to improve confidence in simulations to make
computation truly predictive. At one level, this may involve running mul-
tiple simulations and comparing results with different initial conditions,
parameterizations, simulations at higher space or time resolutions or
numerical precision, models, levels of detail, or implementations. In some
fields, sophisticated “uncertainty quantification” techniques are built into
application codes by using statistical models of uncertainty, redundant
calculations, or other approaches. In any of those cases, the techniques
to reduce uncertainty increase the demand for computing performance
substantially.9
High-Energy Physics, Nuclear Physics, and Astrophysics
The basic sciences, including physics, also rely heavily on high-end
computing to solve some of the most challenging questions involving
phenomena that are too large, too small, or too far away to study directly.
The report of the 2008 Department of Energy (DOE) workshop on Sci -
entific Grand Challenges: Challenges for Understanding the Quantum
Universe and the Role of Computing at the Extreme Scale summarizes the
computational gap: “To date, the computational capacity has barely been
able to keep up with the experimental and theoretical research programs.
There is considerable evidence that the gap between scientific aspiration
and the availability of computing resource is now widening. . . .”10 One
of the examples involves understanding properties of dark matter and
dark energy by analyzing datasets from digital sky surveys, a technique
that has already been used to explain the behavior of the universe shortly
9 In 2008 and 2009, the Department of Energy (DOE) held a series of workshops on com -
puting and extreme scales in a variety of sciences. The workshop reports summarize some
of the scientific challenges that require 1,000 times more computing than is available to the
science community today. More information about these workshops and others is available
online at DOE’s Office of Advanced Scientific Computing Research website, http://www.
er.doe.gov/ascr/WorkshopsConferences/WorkshopsConferences.html.
10 DOE, 2009, Scientific Grand Challenges: Challenges for Understanding the Quan-
tum Universe and the Role of Computing at the Extreme Scale, Workshop Report, Menlo
Park, Cal., December 9-11, 2008, p. 2, available at http://www.er.doe.gov/ascr/Program
Documents/ProgDocs.html.
OCR for page 31
31
THE NEED FOR CONTINUED PERFORMANCE GROWTH
after the Big Bang and its continuing expansion. The new datasets are
expected to be on the order of 100 petabytes (1017 bytes) in size and will be
generated with new high-resolution telescopes that are on an exponential
growth path in capability and data generation. High-resolution simula -
tions of type Ia and type II supernova explosions will be used to calibrate
their luminosity; the behavior of such explosions is of fundamental inter-
est, and such observational data contribute to our understanding of the
expansion of the universe. In addition, an improved understanding of
supernovae yields a better understanding of turbulent combustion under
conditions not achievable on Earth. Finally, one of the most computation -
ally expensive problems in physics is aimed at revealing new physics
beyond the standard model, described in the DOE report as “analogous
to the development of atomic physics and quantum electrodynamics in
the 20th century.”11
In addition to the data analysis needed for scientific experiments and
basic compute-intensive problems to refine theory, computation is critical
to engineering one-of-a-kind scientific instruments, such as particle accel -
erators like the International Linear Collider and fusion reactors like ITER
(which originally stood for International Thermonuclear Experimental
Reactor). Computation is used to optimize the designs, save money in
construction, and reduce the risk associated with these devices. Similarly,
simulation can aid in the design of complex systems outside the realm of
basic science, such as nuclear reactors, or in extending the life of existing
reactor plants.
Chemistry, Materials Science, and Fluid Dynamics
A 2003 National Research Council report outlines several of the
“grand challenges” in chemistry and chemical engineering, including
two that explicitly require high-performance computing.12 The first is to
“understand and control how molecules react—over all time scales and
the full range of molecular size”; this will require advances in predictive
computational modeling of molecular motions, which will complement
other experimental and theoretical work. The second is to “learn how to
design and produce new substances, materials, and molecular devices
with properties that can be predicted, tailored, and tuned before produc -
tion”; this will also require advances in computing and has implications
for commercial use of chemical and materials engineering in medicine,
11 Ibid.
at p. vi.
12 NRC, 2003, Beyond the Molecular Frontier: Challenges for Chemistry and Chemical
Engineering, Washington, D.C.: The National Academies Press, available online at http://
www.nap.edu/catalog.php?record_id=10633.
OCR for page 42
42 THE FUTURE OF COMPUTING PERFORMANCE
be set up and initiated via the Internet, and the havoc that it could poten -
tially wreak on businesses and government could be catastrophic. It is not
out of the question that such an eventuality could lead to physical war.
The Internet was not designed with security in mind, and this over-
sight is evident in its architecture and in the difficulty with which security
measures can be retrofitted later. We cannot simply dismantle the Internet
and start over with something more secure. But as computer-system tech-
nology progresses and more performance becomes available, there will be
opportunities to look for ways to trade the parallel performance afforded
by the technology for improved defensive measures that will discourage
hackers, help to identify the people and countries behind cyberattacks,
and protect the secrets themselves better.
The global Internet can be a dangerous place. The ubiquitous con-
nectivity that yields the marvelous wonders of search engines, Web sites,
browsers, and online purchasing also facilitates identity theft, propaga -
tion of worms and viruses, ready platforms for staging denial-of-service
attacks, and faceless nearly risk-free opportunities for breaking into the
intellectual-property stores and information resources of companies,
schools, government institutions, and military organizations. Today, a
handful of Web-monitoring groups pool their observations and exper-
tise with a few dozen university computer-science experts and many
industrial and government watchdogs to help to spot Internet anomalies,
malevolent patterns of behavior, and attacks on the Internet’s backbone
and name-resolution facilities. As with video surveillance, the battle is
ultimately human on human, so it seems unlikely that humans should
ever be fully removed from the defensive side of the struggle. However,
faster computers can help tremendously, especially if the good guys have
much faster computing machinery than the bad guys.
Stateful packet inspection, for example, is a state-of-the-art method
for detecting the presence of a set of known virus signatures in traf-
fic on communications networks, which on detection can be shunted
into a quarantine area before damage is done. Port-based attacks can be
identified before they are launched. The key to those mitigations is that
all Internet traffic, harmful or not, must take the form of bits traversing
various links of the Internet; computer systems capable of analyzing the
contents over any given link are well positioned to eliminate a sizable
fraction of threats.
Data Analysis for Intelligence
Vast amounts of unencrypted data not only are not generated in intel-
ligence agencies but are available in the open for strategic data-mining.
Continued performance improvements are needed if the agencies are to
OCR for page 43
43
THE NEED FOR CONTINUED PERFORMANCE GROWTH
garner useful intelligence from raw data. There is a continuing need to
analyze satellite images for evidence of military and nuclear buildups,
evidence of emerging droughts or other natural disasters, evidence of ter-
rorist training camps, and so on. Although it is no secret that the National
Security Agency and the National Reconnaissance Office have some of
the largest computer complexes in the world, the complexity of the data
that they store and process and of the questions that they are asked to
address is substantial. Increasing amounts of computational horsepower
are needed not only to meet their mission objectives but also to maintain
an advantage over adversaries.
Nuclear-Stockpile Stewardship
In the past, the reliability of a nuclear weapon (the probability that
it detonates when commanded to do so) and its safety (the probability
that it does not detonate otherwise) were established largely with physi -
cal testing. Reliability tests detonated sample nuclear weapons from the
stockpile, and safety tests subjected sample nuclear weapons to extreme
conditions (such as fire and impact) to verify that they did not deto -
nate under such stresses. However, for a variety of policy reasons, the
safety and reliability of the nation’s nuclear weapons is today established
largely with computer simulation, and the data from nonnuclear labora-
tory experiments are used to validate the computer models.
The simulation of a nuclear weapon is computationally extremely
demanding in both computing capability and capacity. The already
daunting task is complicated by the need to simulate the effects of aging.
A 2003 JASON report21 concluded that at that time there were gaps in both
capability and capacity in fulfilling the mission of stockpile stewardship—
ensuring nuclear-weapon safety and reliability.
Historically, the increase in single-processor performance played a
large role in providing increased computing capability and capacity to
meet the increasing demands of stockpile stewardship. In addition, par-
allelism has been applied to the problem, so the rate of increase in per-
formance of the large machines devoted to the task has been greater than
called for by Moore’s law because the number of processors was increased
at the same time that single-processor performance was increasing. The
largest of the machines today have over 200,000 processors and LINPACK
benchmark performance of more than 1,000 Tflops.22
21 Roy Schwitters, 2003, Requirements for ASCI, JSR-03-330, McLean, Va.: The MITRE
Corporation.
22 For a list of the 500 most powerful known computer systems in the world, see “Top 500,”
available online at http://www.absoluteastronomy.com/topics/TOP500.
OCR for page 44
44 THE FUTURE OF COMPUTING PERFORMANCE
The end of single-processor performance scaling makes it difficult for
those “capability” machines to continue scaling at historical rates and so
makes it difficult to meet the projected increases in demands of nuclear-
weapon simulation. The end of single-processor scaling has also made the
energy and power demands of future capability systems problematic, as
described in the recent DARPA ExaScale computing study.23 Furthermore,
the historical increases in demand in the consumer market for computing
hardware and software have driven down costs and increased software
capabilities for military and science applications. If the consumer market
suffers, the demands of science and military applications are not likely
to be met.
THE IMPORTANCE OF COMPUTING PERFORMANCE FOR
CONSUMER NEEDS AND APPLICATIONS
The previous two sections offered examples of where growth in com-
puting performance has been essential for science, defense, and national
security. The growth has also been a driver for individuals using con -
sumer-oriented systems and applications. Two recent industry trends
have substantially affected end-user computational needs: the increasing
ubiquity of digital data and growth in the population of end users who
are not technically savvy. Sustained growth in computing performance
serves not only broad public-policy objectives, such as a strong defense
and scientific leadership, but also the current and emerging needs of
individual users.
The growth in computing performance over the last 4 decades—
impressive though it has been—has been dwarfed over the last decade or
so by the growth in digital data.24 The amount of digital data is growing
more rapidly than ever before. The volumes of data now available out-
strip our ability to comprehend it, much less take maximum advantage
23 Peter Kogge, Keren Bergman, Shekhar Borkar, Dan Campbell, William Carlson, William
Dally, Monty Denneau, Paul Franzon, William Harrod, Kerry Hill, Jon Hiller, Sherman
Karp, Stephen Keckler, Dean Klein, Robert Lucas, Mark Richards, Al Scarpelli, Steven Scott,
Allan Snavely, Thomas Sterling, R. Stanley Williams, and Katherine Yelick, 2008, ExaScale
Computing Study: Technology Challenges in Achieving Exascale Systems, Washington,
D.C.: DARPA. Available online at http://www.er.doe.gov/ascr/Research/CS/DARPA%20
exascale%20-%20hardware%20(2008).pdf.
24 A February 2010 report observed that “quantifying the amount of information that ex -
ists in the world is hard. What is clear is that there is an awful lot of it, and it is growing at
a terrific rate (a compound annual 60%) that is speeding up all the time. The flood of data
from sensors, computers, research labs, cameras, phones and the like surpassed the capac -
ity of storage technologies in 2007” (Data, data, everywhere: A special report on managing
information, The Economist, February 25, 2010, available online at http://www.economist.
com/displaystory.cfm?story_id=15557443).
OCR for page 45
45
THE NEED FOR CONTINUED PERFORMANCE GROWTH
of it. According to the How Much Information project at the University of
California, Berkeley,25 print, film, magnetic, and optical storage media
produced about 5 exabytes (EB) of new information in 2003. Further-
more, the information explosion is accelerating. Market research firm IDC
estimates that in 2006 161 EB of digital content was created and that that
figure will rise to 988 EB by 2010. To handle so much information, people
will need systems that can help them to understand the available data. We
need computers to see data the way we do, identify what is useful to us,
and assemble it for our review or even process it on our behalf. This grow-
ing end-user need is the primary force behind the radical and continuing
transformation of the Web as it shifts its focus from data presentation to
end-users to automatic data-processing on behalf of end-users.26 The data
avalanche and the consequent transformation of the Web’s functionality
require increasing sophistication in data-processing and hence additional
computational capability to be able to reason automatically in real time
so that we can understand and interpret structured and unstructured
collections of information via, for example, sets of dynamically learned
inference rules.
A computer’s ability to perform a huge number of computations per
second has enabled many applications that have an important role in our
daily lives.27 An important subset of applications continues to push the
frontiers of very high computational needs. Examples of such applications
are these:
· Digital content creation—allows people to express creative skills
and be entertained through various modern forms of electronic
arts, such as animated films, digital photography, and video
games.
· Search and mining—enhances a person’s ability to search and
recall objects, events, and patterns well beyond the natural limits
of human memory by using modern search engines and the ever-
growing archive of globally shared digital content.
25 See Peter Lyman and Hal R. Varian, 2003, How much information?, available online at
http://www2.sims.berkeley.edu/research/projects/how-much-info-2003/index.htm, last
accessed November 2, 2010.
26 See, for example, Tim Berners-Lee’s 2007 testimony to the U.S. Congress on the future of
the World Wide Web, The digital future of the United States. Part I: The future of the World
Wide Web,” Hearings before the Subcommittee on Telecommunications and the Internet of
the Committee on Energy and Commerce, 110th Congress, available at http://dig.csail.mit.
edu/2007/03/01-ushouse-future-of-the-web.html, last accessed November 2, 2010.
27 Of course, a computer system’s aggregate performance may be limited by many things:
the nature of the workload itself, the CPU’s design, the memory subsystem, input/output
device speeds and sizes, the operating system, and myriad other system aspects. Those and
other aspects of performance are discussed in Chapter 2.
OCR for page 46
46 THE FUTURE OF COMPUTING PERFORMANCE
· Real-time decision-making—enables growing use of computa-
tional assistance for various complex problem-solving tasks, such
as speech transcription and language translation.
· Collaboration technology—offers a more immersive and interac-
tive 3D environment for real-time collaboration and telepresence.
· Machine-learning algorithms—filter e-mail spam, supply reli-
able telephone-answering services, and make book and music
recommendations.
Computers have become so pervasive that a vast majority of end-
users are not computer aficionados or system experts; rather, they are
experts in some other field or disciplines, such as science, art, education,
or entertainment. The shift has challenged the efficiency of human-com -
puter interfaces. There has always been an inherent gap between a user’s
conceptual model of a problem and a computer’s model of the problem.
However, given the change in demographics of computer users, the need
to bridge the gap is now more acute than ever before. The increased
complexity of common end-user tasks (“find a picture like this” rather
than “add these two numbers”) and the growing need to be able to offer
an effective interface to a non-computer-expert user at a higher level of
object semantics (for example, presenting not a Fourier transform data
dump of a flower image but a synthesized realistic visual of a flower)
have together increased the computational capability needed to provide
real-time responses to user actions.
Bridging the gap would be well served by computers that can deal
with natural user inputs, such as speech and gestures, and output content
in a visually rich form close to that of the physical world around us. A typ-
ical everyday problem requires multiple iterations of execute and evaluate
between the user and the computer system. Each such iteration normally
narrows the original modeling gap, and this in turn requires additional
computational capability. The larger the original gap, the more computa -
tion is needed to bridge it. For example, some technology-savvy users
working on an image-editing problem may iterate by editing a low-level
machine representation of an image, whereas a more typical end-user may
interact only at the level of a photo-real output of the image with virtual
brushes and paints.
Thanks to sustained growth in computing performance over the
years, more effective computer-use models and visually rich human-
computer interfaces are introducing new potential ways to bridge the gap.
An alternative to involving the end-user in each iteration is to depend
on a computer’s ability to refine model instances by itself and to nest
multiple iterations of such an analytics loop for each iteration of a visual
computing loop involving an end-user. Such nesting allows a reduction in
OCR for page 47
47
THE NEED FOR CONTINUED PERFORMANCE GROWTH
the number of interactions between a user and his or her computer and
therefore an increase in the system’s efficiency or response. However, it
also creates the need to sustain continued growth in computational per-
formance so that a wider variety of more complex tasks can be simulated
and solved in real time for the growing majority of end-users. Real-time
physical and behavioral simulation of even a simple daily-life object or
events (such as water flow, the trajectory of a ball in a game, and sum -
marizing of a text) is a surprisingly computationally expensive task, and
requires multiple iterations or solutions of a large number of subproblems
derived from decomposition of the original problem.
Computationally intensive consumer applications include such phe -
nomena as virtual world simulations and immersive social-networking,
video karaoke (and other sorts of real-time video interactions), remote
education and training that require simulation, and telemedicine (includ -
ing interventional medical imaging).28
THE IMPORTANCE OF COMPUTING PERFORMANCE
FOR ENTERPRISE PRODUCTIVITY
Advances in computing technology in the form of more convenient
communication and sharing of information have favorably affected the
productivity of enterprises. Improved communication and sharing have
been hallmarks of computing from the earliest days of time-sharing in
corporate or academic environments to today’s increasingly mobile, smart
phone-addicted labor force. Younger employees in many companies today
can hardly recall business processes that did not make use of e-mail, chat
and text messaging, group calendars, internal Web resources, blogs, Wiki
toolkits, audio and video conferencing, and automated management of
workflow. At the same time, huge improvements in magnetic storage
technology, particularly for disk drives, have made it affordable to keep
every item of an organization’s information accessible on line. Individual
worker productivity is not the only aspect of an enterprise that has been
affected by continued growth in computing performance. The ability of
virtually every sort of enterprise to use computation to understand data
related to its core lines of business—sometimes referred to as analytics—
has improved dramatically as computer performance has increased over
the years. In addition, massive amounts of data and computational capa-
bility accessible on the Internet have increased the demand for Web ser-
vices, or “software as a service,” in a variety of sectors. Analytics and
28 For more on emerging applications and their need for computational capability, see
Justin Rattner, 2009, The dawn of terascale computing, IEEE Solid-State Circuits Magazine
1(1): 83-89.
OCR for page 48
48 THE FUTURE OF COMPUTING PERFORMANCE
the implications of Web services for computing performance needs are
discussed below.
Analytics
Increases in computing capability and efficiency have made it feasible
to perform deep analysis of numerous kinds of business data—not just
off line but increasingly in real time—to obtain better input into business
decisions.29 Efficient computerized interactions between organizations
have created more efficient end-to-end manufacturing processes through
the use of supply-chain management systems that optimize invento-
ries, expedite product delivery, and reduce exposure to varying market
conditions.
In the past, real-time business performance needs were dictated
mostly by transaction rates. Analytics (which can be thought of as com -
putationally enhanced decision-making) were mostly off line. The com -
putational cost of actionable data-mining was too high to be of any value
under real-time use constraints. However, the growth in computing per-
formance has now made real-time analytics affordable for a larger class
of enterprise users.
One example is medical-imaging analytics. Over the last 2 decades,
unprecedented growth has taken place in the amount and complexity of
digital medical-image data collected on patients in standard medical prac -
tice. The clinical necessity to diagnose diseases accurately and develop
treatment strategies in a minimally invasive manner has mandated the
development of new image-acquisition methods, high-resolution acquisi -
tion hardware, and novel imaging modalities. Those requirements have
placed substantial computational burdens on the ability to use the image
information synergistically. With the increase in the quality and utility of
medical-image data, clinicians are under increasing pressure to generate
more accurate diagnoses or therapy plans. To meet the needs of the clini-
cian, the imaging-research community must provide real-time (or near
real-time) high-volume visualization and analyses of the image data to
optimize the clinical experience. Today, nearly all use of computation in
medical imaging is limited to “diagnostic imaging.” However, with suffi -
cient computational capability, it is likely that real-time medical interven -
tions could become possible. The shift from diagnostic imaging to inter-
ventional imaging can usher in a new era in medical imaging. Real-time
29 IBM’s Smart Analytics System, for example, is developing solutions aimed at retail,
insurance, banking, health care, and telecommunication. For more information see the IBM
Smart Analytics System website, available online at http://www-01.ibm.com/software/
data/infosphere/smart-analytics-system/.
OCR for page 49
49
THE NEED FOR CONTINUED PERFORMANCE GROWTH
medical analytics can guide medical professionals, such as surgeons, in
their tasks. For example, surface extractions from volumetric data coupled
with simulations of various what-if scenarios accomplished in real time
offer clear advantages over basic preoperative planning scenarios.
Web Services
In the last 15 years, the Internet and the Web have had a transforma-
tional effect on people’s lives. That effect has been enabled by two concur-
rent and interdependent phenomena: the rapid expansion of Internet con -
nectivity, particularly high-speed Internet connections, and the emergence
of several extraordinarily useful Internet-based services. Web search and
free Web-based e-mail were among the first such services to explode
in popularity, and their emergence and continuous improvements have
been made possible by dramatic advances in computing performance,
storage, and networking technologies. Well beyond text, Web-server data
now include videos, photos, and various other kinds of media. Users—
individuals and businesses—increasingly need information systems to
see data the way they do, identify what is useful, and assemble it for
them. The ability to have computers understand the data and help us
to use it in various enterprise endeavors could have enormous benefits.
As a result, the Web is shifting its focus from data presentation to end-
users to automatic data-processing on behalf of end-users. Finding pre -
ferred travel routes while taking real-time traffic feeds into account and
rapid growth in program trading are some of the examples of real-time
decision-making.
Consider Web search as an example. A Web search service’s funda-
mental task is to take a user’s query, traverse data structures that are effec-
tively proportional in size to the total amount of information available on
line, and decide how to select from among possibly millions of candidate
results the handful that would be most likely to match the user’s expecta-
tion. The task needs to be accomplished in a few hundred milliseconds in
a system that can sustain a throughput of several thousand requests per
second. This and many other Web services are offered free and rely on
on-line advertisement revenues, which, depending on the service, may
bring only a few dollars for every thousand user page views. The com -
puting system that can meet those performance requirements needs to be
not only extremely powerful but also extremely cost-efficient so that the
business model behind the Internet service remains viable.
The appetite of Internet services for additional computing perfor-
mance doesn’t appear to have a foreseeable limit. A Web search can be
used to illustrate that, although a similar rationale could be applied to
other types of services. Search-computing demands fundamentally grow
OCR for page 50
50 THE FUTURE OF COMPUTING PERFORMANCE
in three dimensions: data-repository increases, search-query increases,
and service-quality improvements. The amount of information currently
indexed by search engines, although massive, is still generally considered
a fraction of all on-line content even while the Web itself keeps expanding.
Moreover, there are still several non-Web data sources that have yet to
be added to the typical Web-search repositories (such as printed media).
Universal search,30 for example, is one way in which search-computing
demands can dramatically increase as all search queries are simultane -
ously sent to diverse data sources. As more users go online or become
more continuously connected to the Internet through better wireless links,
traffic to useful services would undergo further substantial increases.
In addition to the amount of data and types of queries, increases
in the quality of the search product invariably cause more work to be
performed on behalf of each query. For example, better results for a
user’s query will often be satisfied by searching also for some common
synonyms or plurals of the original query terms entered. To achieve the
better results, one will need to perform multiple repository lookups for
the combinations of variations and pick the best results among them, a
process that can easily increase the computing demands for each query
by substantial factors.
In some cases, substantial service-quality improvements will demand
improvements in computing performance along multiple dimensions
simultaneously. For example, the Web would be much more useful if
there were no language barriers; all information should be available in
every existing language, and this might be achievable through machine-
translation technology at a substantial processing cost. The cost would
come both from the translation step itself, because accurate translations
require very large models or learning over large corpora, and from the
increased amount of information that then becomes available for users of
every language. For example, a user search in Italian would traverse not
only Italian-language documents but potentially documents in every lan -
guage available to the translation system. The benefits to society at large
from overcoming language barriers would arguably rival any other single
technologic achievement in human history, especially if they extended to
speech-to-speech real-time systems.
The prospect of mobile computing systems—such as cell phones,
vehicle computers, and media players—that are increasingly powerful,
ubiquitous, and interconnected adds another set of opportunities for bet -
30 See Google’s announcement: Google begins move to universal search: Google introduces
new search features and unveils new homepage design,” Press Release, Google.com, May
16, 2007, available online at http://www.google.com/intl/en/press/pressrel/universal-
search_20070516.html.
OCR for page 51
51
THE NEED FOR CONTINUED PERFORMANCE GROWTH
ter computing services that go beyond simply accessing the Web on more
devices. Such devices could act as useful sensors and provide a rich set
of data about their environment that could be useful once aggregated for
real-time disaster response, traffic-congestion relief, and as-yet-unimag -
ined applications. An early example of the potential use of such systems
is illustrated in a recent experiment conducted by the University of Cali -
fornia, Berkeley, and Nokia in which cell phones equipped with GPS units
were used to provide data for a highway-conditions service.31
More generally, the unabated growth in digital data, although still
a challenge for managing and sifting, has now reached a data volume
large enough in many cases to have radical computing implications.32
Such huge amounts of data will be especially useful for a class of prob -
lems that have so far defied analytic formulation and been reliant on a
statistical data-driven approach. In the past, because of insufficiently large
datasets, the problems have had to rely on various, sometimes question -
able heuristics. Now, the digital-data volume for many of the problems
has reached a level sufficient to revert to statistical approaches. Using sta -
tistical approaches for this class of problems presents an unprecedented
opportunity in the history of computing: the intersection of massive data
with massive computational capability.
In addition to the possibility of solving problems that have heretofore
been intractable, the massive amounts of data that are increasingly avail-
able for analysis by small and large businesses offer the opportunity to
develop new products and services based on that analysis. Services can
be envisioned that automate the analysis itself so that the businesses do
not have to climb this learning curve. The machine-learning community
has many ideas for quasi-intelligent automated agents that can roam the
Web and assemble a much more thorough status of any topic at a much
deeper level than a human has time or patience to acquire. Automated
inferences can be drawn that show connections that have heretofore been
unearthed only by very talented and experienced humans.
On top of the massive amounts of data being created daily and all
that portends for computational needs, the combination of three elements
has the potential to deliver a massive increase in real-time computa -
tional resources targeted toward end-user devices constrained by cost
and power:
31 See the University of California, Berkeley, press release about this experiment (Sarah
Yang, 2008, Joint Nokia research project captures traffic data using GPS-enabled cell phones,
Press Release, UC Berkeley News, February 8, 2008, available online at http://berkeley.edu/
news/media/releases/2008/02/08_gps.shtml).
32 Wired.com ran a piece in 2008 declaring “the end of science”: The Petabyte Age: Be -
cause more isn’t just more—more is different,” Wired.com, June 23, 2008, available online
at http://www.wired.com/wired/issue/16-07.
OCR for page 52
52 THE FUTURE OF COMPUTING PERFORMANCE
· Clouds of servers.
· Vastly larger numbers of end-user devices, consoles, and various
form-factor computing platforms.
· The ubiquitous connectivity of computing equipment over a ser-
vice-oriented infrastructure backbone.
The primary technical challenge to take advantage of those resources
lies in software. Specifically, innovation is needed to enable the discovery
of the computing needs of various functional components of a specific ser-
vice offering. Such discovery is best done adaptively and under the real-
time constraints of available computing bandwidth at the client-server
ends, network bandwidth, and latency. On-line games, such as Second Life,
and virtual world simulations, such as Google Earth, are examples of such
a service. The services involve judicious decomposition of computing
needs over public client-server networks to produce an interactive, visu -
ally rich end-user experience. The realization of such a vision of connected
computing will require not only increased computing performance but
standardization of network software layers. Standardization should make
it easy to build and share unstructured data and application program -
ming interfaces (APIs) and enable ad hoc and innovative combinations
of various service offerings.
In summary, computing in a typical end-user’s life is undergoing a
momentous transformation from being useful yet nonessential software
and products to being the foundation for around-the-clock relied-on vital
services delivered by tomorrow’s enterprises.