Eminently readable for a text book, it introduces concepts with thorough examples, and libraries that can be used for parallelization. I do wish a newer edition would be released, since this one is getting a little dated.
NOTE: This review is for the second edition of the book.
The book is splendidly readable, and introduces a variety of essential techniques to working with MPI, PThreads, OpenMP and CUDA. All of these chapters were helpful, and especially chapter 2 summarizing the key issues that come with trying to parallelize your code. I was not a huge fan of the second part of chapter 7, running through sample sort for a variety of algorithms. Compared to the rest of the book it was a bit clunky. All things considered though, I think it did a solid job.