David
Patterson
University
of
California,
Berkeley
Cobwebs
in
a
Virtual
Brain
Abstract: The
sequential
processor
era
is
now
officially
over,
as
the
IT
industry
has
bet
its
future
on
multiple
processors
per
chip.
This
shift
toward
increasing
parallelism
is
not
a
triumphant
stride
forward
based
on
breakthroughs
in
novel
software
and
architectures
for
parallelism;
instead,
this
plunge
into
parallelism
is
actually
a
retreat
from
even
greater
challenges
that
thwart
efficient
silicon
implementation
of
traditional
uniprocessor
architectures.
The IT industry is urgently facing perhaps its greatest challenge in 50 years, giving researchers the once-in-a-lifetime chance to reset the foundations of computing, provided we can deliver on the overarching goal to make it easy to write programs that execute efficiently on highly parallel computing systems. A diverse group of University of California at Berkeley researchers from many backgrounds — circuit design, computer architecture, massively parallel computing, computer-aided design, embedded hardware and software, programming languages, compilers, scientific programming, and numerical analysis — met for two years to discuss this topic from these many angles.
This talk and a technical report are the result. (See view.eecs.berkeley.edu) We concluded that sneaking up on the problem of parallelism the way industry is planning is likely to fail, and we desperately need a new solution for parallel hardware and software. Here are some of our recommendations:
- The target should be 1000s of cores per chip, as these chips are built from processing elements that are the most efficient in MIPS (Million Instructions per Second) per watt, MIPS per area of silicon, and MIPS per development dollar.
- Instead of traditional benchmarks, use 13 Dwarfs to design and evaluate parallel programming models and architectures. (A dwarf is an algorithmic method that captures a pattern of computation and communication.)
- Autotuners should play a larger role than conventional compilers in translating parallel programs.
- To maximize programmer productivity, future programming models must be more human-centric than the conventional focus on hardware or applications or formalisms.
- Traditional operating systems will be deconstructed and operating system functionality will be orchestrated using libraries and virtual machines.
- To explore the design space rapidly, use system emulators based on Field Programmable Gate Arrays that are highly scalable and low cost. (see ramp.eecs.Berkeley.edu)
Biography: David Patterson is the Pardee Professor of Computer Science at the University of California at Berkeley, which he joined after graduating from UCLA in 1977. Daves research style is to identify critical questions for the IT industry and gather inter-disciplinary groups of faculty and graduate students to answer them. The answer is typically embodied in demonstration systems, and these demonstration systems are later mirrored in commercial products. The best known projects were on Reduced Instruction Set Computers, Redundant Array of Inexpensive Disks, and Networks of Workstations.
One measure of the success of projects is the list of awards won by Dave and his teammates: the C & C Prize, the IEEE von Neumann Medal, the IEEE Johnson Storage Award, the SIGMOD Test of Time award, and the Katayanagi Prize. He was also named fellow of ACM, IEEE, AAAS, the Computer Museum, the National Academy of Engineering, the National Academy of Sciences, and the Silicon Valley Engineering Hall of Fame.
In his spare time, he co-authored five books, including two with John Hennessy in computer architecture that are in their fourth editions. Dave also served as President of ACM, as chair of the Computing Research Association, and as chair of the Computer Science Division at UC Berkeley.