Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image
Sell yours for a Gift Card
We'll buy it for $70.55
Learn More
Trade in now
Have one to sell? Sell on Amazon

Principles of Parallel Programming Hardcover – March 7, 2008

ISBN-13: 978-0321487902 ISBN-10: 0321487907 Edition: 1st
Buy used
Buy new
Used & new from other sellers Delivery options vary per offer
45 used & new from $115.15
Rent from Amazon Price New from Used from
"Please retry"
Hardcover, March 7, 2008
"Please retry"
$144.50 $115.15

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now
$149.45 FREE Shipping. Only 8 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.

Editorial Reviews


"...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.




Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 352 pages
  • Publisher: Pearson; 1 edition (March 7, 2008)
  • Language: English
  • ISBN-10: 0321487907
  • ISBN-13: 978-0321487902
  • Product Dimensions: 7.6 x 1 x 9.2 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #1,110,573 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

3.3 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

14 of 14 people found the following review helpful By Steven G. Johnson on January 16, 2009
Format: Hardcover
I have done parallel programming on a variety of machines for many years, and have written some widely-used parallel numerical software. Now that I have graduate students of my own and teach courses in numerical and parallel computation, I've been hoping for a book like this to help my students understand the basic techniques, concepts, and problems common to most parallel programming, as well as to use as a reference for courses, without resorting to manuals bogged down in the details of specific architectures. A colleague of mine (who has a large company developing parallel tools and who for many years has taught a course on parallel scientific computing) pointed me to this text, and I'm much more pleased with it than with any recent book on the subject that I can recall.

The authors of this book clearly introduce key concepts of extracting parallelism, load balancing, performance analysis, and memory management with a number of well-selected examples and advice clearly stemming from long experience in the field. They describe numerous general principles in an accessible way, without getting bogged down in the theoretical models of dubious utility that are too common in this field. The book is timely, in that it exhibits a clear awareness of current architectural trends, but remains rightly focused on timeless ideas.

I suppose the authors cannot be blamed for devoting a chapter to the parallel programming language they have developed in their own work (ZPL), and it is balanced by chapters on the current popular low-level techniques like MPI and threads as well as brief discussions of other proposed high-level languages (although the mention of Cilk is a bit too brief for my tastes).
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 8 people found the following review helpful By W Boudville HALL OF FAMETOP 1000 REVIEWERVINE VOICE on February 10, 2009
Format: Hardcover
Years ago I briefly worked on a hypercube, and when I got this book, I wondered how it had fared. Alas, the hypercube, at least under this name, rated no mention. Though there is a passing reference to a binary 3 cube which is a 3 dimensional hypercube.

The authors explain the current state of multiprocessor architectures. The few remaining computer CPU makers have efforts in this field. Intel, AMD, Sun and IBM. The book describes qualitatively the salient aspects of each. One nice thing about the discussion is that it focuses on this, without drowning you in unnecessary hardware details. This turns out to be a key theme of the book. It abstracts out essential hardware properties, so that you can appreciate these and apply the book's ideas without being tied to any given chip.

The book also describes an important type of multiprocessor. Cluster machines, where each node is typically some off the shelf CPU, buffed up with a lot of local memory. The key differences between clusters are often related to how the nodes are hooked to each other, by some type of bus or crossbar. Affordability is an important property of clusters; thus the maximal use of commodity hardware. (The hypercube that I mentioned earlier would be a cluster.)

For a programmer, there is one overriding idea that you should get from the book. For optimal performance, minimise the internodal communication, compared to the use of a node's cache. The access time of the former can be 2-5 orders of magnitude slower. Details vary with the given architectures, of course. But typically nothing else comes close, in terms of effects on your throughput.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
By LAPLIMA on October 22, 2012
Format: Hardcover Verified Purchase
As a professor, I use this book in my classes since it covers all the main topics in Parallel Programming while keeping an adequate balance between programming (my main interest) and computer architecture.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Principles of Parallel Programming
This item: Principles of Parallel Programming
Price: $149.45
Ships from and sold by Amazon.com