"...the first basic book on the subject that I've ever seen that seems to have the pulse on the true issues of parallelism that are relevant for students." – Alan Edelman, MIT
"Principles of Parallel Programming is a wonderful book and I plan to use it in our new parallel programming course..." – Peiyi Tang, University of Arkansas, Little Rock
"I like [Principles of Parallel Programming] very much for a few specific reasons: it's concise, covers the most relevant topics but does not take thousand pages to do it, it is hands on and it covers...recent developments with multi-core and GPGPU." – Edin Hodzic, Santa Clara University
From the Back Cover
With the rise of multi-core architecture, parallel programming is an increasingly important topic for software engineers and computer system designers. Principles of Parallel Programming , written by well-known researchers Calvin Lin and Lawrence Snyder, focuses on the underlying principles of parallel computation, explains the various phenomena, and clarifies why these phenomena represent opportunities or barriers to successful parallel programming.
This book is ideal for an upper-level undergraduate or master's level course, or for a professional programmer seeking an introduction to parallelism. The text supplies valuable, enduring information that will outlive the current hardware and software.
- A principles-first approach emphasizes the fundamental concepts of parallel computation rather than offering a "how-to" guide for current commercial products.
- Popular programming languages are discussed in the context of the principles and tools used for programming contemporary parallel machines.
- Note boxes provide interesting extensions of the information presented.
- Definition boxes define key words and concepts.
- Chapter exercises offer opportunities to implement the concepts discussed.
- Future Directions in Parallel Programming (Chapter 10) focuses on current developments that are likely to impact the field.
- Writing Parallel Programs (Chapter 11) provides hands-on practice for readers to create a substantial parallel program.