In case you don’t read the sidebar (you really should, you know), I’ve written a review of Calvin Lin and Larry Snyder’s relatively new book, “Principles of Parallel Programming” (we’ve never met, but he looks so happy in his picture at U Washington that I think he won’t mind if I call him Larry). From that article
In Principles of Parallel Programming (Addison Wesley, 2008), Lawrence Snyder and Calvin Lin have created a book that is useful for students and new practitioners alike. The text assumes that readers already have an understanding of basic computer science principles (how to write a correct sequential program, the basics of algorithmic complexity, and the like), and from that foundation provide a thorough treatment of the core principles of parallel programming.
As they go along, Lin and Snyder are careful to link the principles to the current parallel hardware and software landscape, including discussions of timely topics like GPUs, the Cell processor, and the languages being developed as part of DARPA’s High Productivity Computer Systems project. The text builds on computer science fundamentals in a way that will keep readers confident as they progress through the text, while at the same time keeping the energy high and the pace brisk. The result is a fresh, practical, pragmatic book that makes for an engaging, even fun, read.
More in the full review at HPCwire. You can buy Principles from your favorite bookmonger, or from Amazon here (fair warning, that’s an Amazon affiliate link).