THE FUTURE OF
COMPUTING PERFORMANCE
Game Over or
Next Level?
Samuel H. Fuller and Lynette I. Millett, Editors
Committee on Sustaining Growth in Computing Performance
Computer Science and Telecommunications Board
Division on Engineering and Physical Science
NATIONAL RESEARCH COUNCIL
OF THE NATIONAL ACADEMIES
THE NATIONAL ACADEMIES PRESS
Washington, D.C.
www.nap.edu
THE NATIONAL ACADEMIES PRESS 500 Fifth Street, N.W. Washington, DC 20001
NOTICE: The project that is the subject of this report was approved by the Governing Board of the National Research Council, whose members are drawn from the councils of the National Academy of Sciences, the National Academy of Engineering, and the Institute of Medicine. The members of the committee responsible for the report were chosen for their special competences and with regard for appropriate balance.
Support for this project was provided by the National Science Foundation under award CNS-0630358. Any opinions, findings, conclusions, or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the organization that provided support for the project.
International Standard Book Number-13: 978-0-309-15951-7
International Standard Book Number-10: 0-309-15951-2
Library of Congress Control Number: 2011923200
Additional copies of this report are available from
The National Academies Press
500 Fifth Street, N.W., Lockbox 285
Washington, D.C. 20055
800 624-6242
202 334-3313 (in the Washington metropolitan area)
http://www.nap.edu
Copyright 2011 by the National Academy of Sciences. All rights reserved.
Printed in the United States of America
THE NATIONAL ACADEMIES
Advisers to the Nation on Science, Engineering, and Medicine
The National Academy of Sciences is a private, nonprofit, self-perpetuating society of distinguished scholars engaged in scientific and engineering research, dedicated to the furtherance of science and technology and to their use for the general welfare. Upon the authority of the charter granted to it by the Congress in 1863, the Academy has a mandate that requires it to advise the federal government on scientific and technical matters. Dr. Ralph J. Cicerone is president of the National Academy of Sciences.
The National Academy of Engineering was established in 1964, under the charter of the National Academy of Sciences, as a parallel organization of outstanding engineers. It is autonomous in its administration and in the selection of its members, sharing with the National Academy of Sciences the responsibility for advising the federal government. The National Academy of Engineering also sponsors engineering programs aimed at meeting national needs, encourages education and research, and recognizes the superior achievements of engineers. Dr. Charles M. Vest is president of the National Academy of Engineering.
The Institute of Medicine was established in 1970 by the National Academy of Sciences to secure the services of eminent members of appropriate professions in the examination of policy matters pertaining to the health of the public. The Institute acts under the responsibility given to the National Academy of Sciences by its congressional charter to be an adviser to the federal government and, upon its own initiative, to identify issues of medical care, research, and education. Dr. Harvey V. Fineberg is president of the Institute of Medicine.
The National Research Council was organized by the National Academy of Sciences in 1916 to associate the broad community of science and technology with the Academy’s purposes of furthering knowledge and advising the federal government. Functioning in accordance with general policies determined by the Academy, the Council has become the principal operating agency of both the National Academy of Sciences and the National Academy of Engineering in providing services to the government, the public, and the scientific and engineering communities. The Council is administered jointly by both Academies and the Institute of Medicine. Dr. Ralph J. Cicerone and Dr. Charles M. Vest are chair and vice chair, respectively, of the National Research Council.
This page intentionally left blank.
COMMITTEE ON SUSTAINING GROWTH IN COMPUTING PERFORMANCE
SAMUEL H. FULLER, Analog Devices Inc., Chair
LUIZ ANDRÉ BARROSO, Google, Inc.
ROBERT P. COLWELL, Independent Consultant
WILLIAM J. DALLY, NVIDIA Corporation and Stanford University
DAN DOBBERPUHL, P.A. Semi
PRADEEP DUBEY, Intel Corporation
MARK D. HILL, University of Wisconsin–Madison
MARK HOROWITZ, Stanford University
DAVID KIRK, NVIDIA Corporation
MONICA LAM, Stanford University
KATHRYN S. McKINLEY, University of Texas at Austin
CHARLES MOORE, Advanced Micro Devices
KATHERINE YELICK, University of California, Berkeley
Staff
LYNETTE I. MILLETT, Study Director
SHENAE BRADLEY, Senior Program Assistant
COMPUTER SCIENCE AND TELECOMMUNICATIONS BOARD
ROBERT F. SPROULL, Sun Labs, Chair
PRITHVIRAJ BANERJEE, Hewlett Packard Company
STEVEN M. BELLOVIN, Columbia University
WILLIAM J. DALLY, NVIDIA Corporation and Stanford University
SEYMOUR E. GOODMAN, Georgia Institute of Technology
JOHN E. KELLY, III, IBM
JON M. KLEINBERG, Cornell University
ROBERT KRAUT, Carnegie Mellon University
SUSAN LANDAU, Radcliffe Institute for Advanced Study
PETER LEE, Microsoft Corporation
DAVID LIDDLE, US Venture Partners
WILLIAM H. PRESS, University of Texas
PRABHAKAR RAGHAVAN, Yahoo! Research
DAVID E. SHAW, Columbia University
ALFRED Z. SPECTOR, Google, Inc.
JOHN SWAINSON, Silver Lake Partners
PETER SZOLOVITS, Massachusetts Institute of Technology
PETER J. WEINBERGER, Google, Inc.
ERNEST J. WILSON, University of Southern California
JON EISENBERG, Director
RENEE HAWKINS, Financial and Administrative Manager
HERBERT S. LIN, Chief Scientist
LYNETTE I. MILLETT, Senior Program Officer
EMILY ANN MEYER, Program Officer
ENITA A. WILLIAMS, Associate Program Officer
VIRGINIA BACON TALATI, Associate Program Officer
SHENAE BRADLEY, Senior Program Assistant
ERIC WHITAKER, Senior Program Assistant
For more information on CSTB, see its website at
http://www.cstb.org, write to CSTB, National Research Council,
500 Fifth Street, N.W., Washington, D.C. 20001, call (202) 334-2605,
or e-mail the CSTB at cstb@nas.edu.
Preface
Fast, inexpensive computers are now essential for nearly all human endeavors and have been a critical factor in increasing economic productivity, enabling new defense systems, and advancing the frontiers of science. But less well understood is the need for ever-faster computers at ever-lower costs. For the last half-century, computers have been doubling in performance and capacity every couple of years. This remarkable, continuous, exponential growth in computing performance has resulted in an increase by a factor of over 100 per decade and more than a million in the last 40 years. For example, the raw performance of a 1970s supercomputer is now available in a typical modern cell phone. That uninterrupted exponential growth in computing throughout the lifetimes of most people has resulted in the expectation that such phenomenal progress, often called Moore’s law, will continue well into the future. Indeed, societal expectations for increased technology performance continue apace and show no signs of slowing, a trend that underscores the need to find ways to sustain exponentially increasing performance in multiple dimensions.
The essential engine that made that exponential growth possible is now in considerable danger. Thermal-power challenges and increasingly expensive energy demands pose threats to the historical rate of increase in processor performance. The implications of a dramatic slowdown in how quickly computer performance is increasing—for our economy, our military, our research institutions, and our way of life—are substantial. That obstacle to continuing growth in computing performance is by now well
understood by the designers of microprocessors. Their initial response was to design multiprocessor (often referred to as multicore) chips, but fundamental challenges in algorithm and software design limit the widespread use of multicore systems.
Even as multicore hardware systems are tailored to support software that can exploit multiple computation units, thermal constraints will continue to be a primary concern. It is estimated that data centers delivering Internet services consume over 1.5 percent of U.S. electric power. As the use of the Internet continues to grow and massive computing facilities are demanding that performance keep doubling, devoting corresponding increases in the nation’s electrical energy capacity to computing may become too expensive.
We do not have new software approaches that can exploit the innovative architectures, and so sustaining performance growth—and its attendant benefits—presents a major challenge. The present study emerged from discussions among members of the Computer Science and Telecommunications Board and was sponsored by the National Science Foundation. The original statement of task for the Committee on Sustaining Growth in Computing Performance is as follows:
This study will bring together academic and industry researchers, application developers, and members of the user community to explore emerging challenges to sustaining performance growth and meeting expectations in computing across the broad spectrum of software, hardware, and architecture. It will identify key problems along with promising emerging technologies and models and describe how these might fit together over time to enable continued performance scaling. In addition, it will focus attention on areas where there are tractable problems whose solution would have significant payback and at the same time highlight known solutions to challenges that already have them. The study will outline a research, development, and educational agenda for meeting the emerging computing needs of the 21st century.
Parallelism and related approaches in software will increase in importance as a path to achieving continued performance growth. There have been promising developments in the use of parallel processing in some scientific applications, Internet search and retrieval, and the processing of visual and graphic images. This report reviews that progress and recommends subjects for further research and development. Chapter 1 examines the need for high-performance computers, and computers that are increasingly higher-performing, in a variety of sectors of society. The need may be intuitively obvious to some readers but is included here to be explicit about the need for continued performance growth. Chapter 2 examines the aspects of “performance” in depth. Often used as shorthand for speed, performance is actually a much more multidimensional
concept. (Appendix A provides a brief history of computing performance as a complement to Chapter 2.) Chapter 3 delves into the fundamental reasons why single-processor performance has stopped its dramatic, exponential growth and why this is a fundamental change rather than a temporary nuisance. Chapter 4 addresses the fundamental challenge now facing the computer science and engineering community: how to exploit parallelism in software and hardware. Chapter 5 outlines the committee’s recommended research, practice, and education agenda to meet those challenges.
This report represents the cooperative effort of many people. The members of the study committee, after substantial discussions, drafted and worked though several revisions of the report. We particularly appreciate the insights and perspectives provided by the following experts who briefed the committee:
Jeff Dean, Google,
Robert Doering, Texas Instruments,
Michael Foster, National Science Foundation,
Garth Gibson, Carnegie Mellon University,
Wen-Mei Hwu, University of Illinois at Urbana-Champaign,
Bruce Jacob, University of Maryland,
Jim Larus, Microsoft,
Charles Leiserson, Massachusetts Institute of Technology,
Trevor Mudge, University of Michigan,
Daniel Reed, Microsoft,
Phillip Rosedale, Linden Lab,
Vivek Sarkar, Rice University,
Kevin Skadron, University of Virginia,
Tim Sweeny, Epic Games, and
Tom Williams, Synopsys.
The committee also thanks the reviewers who provided many perceptive comments that helped to improve the content of the report materially. The committee thanks Michael Marty, who worked with committee member Mark Hill to update some of the graphs, and Paul S. Diette of the Diette Group, who assisted in refining the images. The committee appreciates the financial support provided by the National Science Foundation. The committee also gratefully acknowledges the assistance of members of the National Research Council staff. Lynette Millett, our study director, ably served the critical roles of study organizer, report editor, and review coordinator. Jon Eisenberg provided many valuable suggestions that improved the quality of the final report.
It is difficult to overstate the importance of ever-more-capable com-
puters to the U.S. industrial and social infrastructure, economy, and national security. The United States cannot afford to let this growth engine stall out, and a concerted effort is needed to sustain it. Several centers for parallel computing have already been established in leading research universities. Those centers are a good start, and additional, strong actions are required in many subdisciplines of computer science and computer engineering. Our major goal for this study is to help to identify the actions and opportunities that will prove most fruitful.
Samuel H. Fuller, Chair
Committee on Sustaining Growth
in Computing Performance
Acknowledgment of Reviewers
This report has been reviewed in draft form by individuals chosen for their diverse perspectives and technical expertise, in accordance with procedures approved by the National Research Council’s (NRC’s) Report Review Committee. The purpose of this independent review is to provide candid and critical comments that will assist the institution in making its published report as sound as possible and to ensure that the report meets institutional standards for objectivity, evidence, and responsiveness to the study charge. The review comments and draft manuscript remain confidential to protect the integrity of the deliberative process. We wish to thank the following individuals for their review of this report:
Tilak Agerwala, IBM Research,
David Ceperley, University of Illinois,
Robert Dennard, IBM Research,
Robert Doering, Texas Instruments, Inc.,
Urs Hölzle, Google, Inc.,
Norm Jouppi, Hewlett-Packard Laboratories,
Kevin Kahn, Intel Corporation,
James Kajiya, Microsoft Corporation
Randy Katz, University of California, Berkeley,
Barbara Liskov, Massachusetts Institute of Technology,
Keshav Pingali, University of Texas, Austin,
James Plummer, Stanford University, and
Vivek Sarkar, Rice University.
Although the reviewers listed above have provided many constructive comments and suggestions, they were not asked to endorse the conclusions or recommendations, nor did they see the final draft of the report before its release. The review of this report was overseen by Butler Lampson, Microsoft Corporation. Appointed by the National Research Council, he was responsible for making certain that an independent examination of this report was carried out in accordance with institutional procedures and that all review comments were carefully considered. Responsibility for the final content of this report rests entirely with the authoring committee and the institution.
Contents
1 THE NEED FOR CONTINUED PERFORMANCE GROWTH
Why Faster Computers Are Important
The Importance of Computing Performance for the Sciences
The Importance of Computing Performance for Defense and National Security
The Importance of Computing Performance for Consumer Needs and Applications
The Importance of Computing Performance for Enterprise Productivity
2 WHAT IS COMPUTER PERFORMANCE?
Performance as Measured by Raw Computation
Computation and Communication’s Effects on Performance
Technology Advances and the History of Computer Performance
Assessing Performance with Benchmarks
3 POWER IS NOW LIMITING GROWTH IN COMPUTING PERFORMANCE
How CMOS-Processor Performance Improved Exponentially, and Then Slowed
How Chip Multiprocessors Allow Some Continued Performance-Scaling
Problems in Scaling Nanometer Devices
Application-Specific Integrated Circuits
4 THE END OF PROGRAMMING AS WE KNOW IT
Moore’s Bounty: Software Abstraction
Software Implications of Parallelism
The State of the Art of Parallel Programming
Parallel-Programming Systems and the Parallel Software “Stack,”
Meeting the Challenges of Parallelism
5 RESEARCH, PRACTICE, AND EDUCATION TO MEET TOMORROW’S PERFORMANCE NEEDS
Parallel-Programming Models and Education
A A History of Computer Performance
B Biographies of Committee Members and Staff
C Reprint of Gordon E. Moore’s “Cramming More Components onto Integrated Circuits”