A comprehensive view of how parallel computing will transform the experience of using computers
This book is the first collection of papers and essays to present a comprehensive view of how parallel computing will transform the experience of using computers. It lays the groundwork for a new generation of systems and applications that will not only change the industry; it will usher in the next revolution in computing.
Microsoft Research is honored to provide initial website hosting for this book launch. From this website, you can download the full book or select chapters of the book in PDF format. The book is also available in e-book format. (See links in the right column under Downloads.)
This book describes the University of California, Berkeley, response to the 2007 challenge from Intel and Microsoft to develop work on a problem that the president of Stanford University said at the time “was as hard as any that computer science has faced.”
In 2005, the Berkeley parallel computing research team started discussing the implications of the upcoming shift from sequential to parallel computing and published their conclusions in The Landscape of Parallel Computing Research: A View from Berkeley. They were guided by the following principles:
- The future client is the cell phone and the future server is the datacenter, which was a radical notion before the iPhone and the cloud.
- No (preconceived) big ideas; the applications would determine importance.
- Thirteen patterns (also known as “dwarfs”) would be our computational building blocks.
- Success would be measured as simultaneously maximizing programmer productivity, application performance, and energy efficiency.
The Parallel Computing Laboratory (Par Lab) was funded by Microsoft and Intel and others to address this challenge. This book captures the Par Lab’s progress on the problem.
- Part I has the applications that drove the project—browsers, speech, music, vision, and health—which ran 100 to 250 times faster on parallel hardware.
- Part II covers the pattern language that evolved from the 13 dwarfs, award-winning research on parallel validation, and a breakthrough call communication avoiding algorithms, which by themselves have accelerated many codes thought to be invulnerable to further parallel innovation.
- Part III covers the Par Lab system stack, including advanced in autotuners, program synthesis, operating systems, and specializers. This last item allows programmers to write in highly productive languages like Python but get the performance and energy efficiency of languages like C++ and CUDA.
- Part IV documents the educational impact and the next set of challenges for the Par Lab faculty.