Hardcover: 656 pages
Publisher: Pearson; 2 edition (January 26, 2003)
Product Dimensions: 6.3 x 1.7 x 9.3 inches
Shipping Weight: 2.2 pounds (View shipping rates and policies)
Average Customer Review: 3.5 out of 5 stars See all reviews (10 customer reviews)
Best Sellers Rank: #454,503 in Books (See Top 100 in Books) #55 in Books > Computers & Technology > Programming > Parallel Programming #279 in Books > Computers & Technology > Programming > Algorithms #1709 in Books > Textbooks > Computer Science > Programming Languages
I bought the book a few months ago as textbook for my semester class in high performance computing. After reading the first 3 chapters I realized that this book is a waste. The examples are only solved partially, a lot of jargons (they should have put the terminology in separate table, maybe).I was hoping, by reading the book I'd learn something essential and got the basic philosophy of high-performance computing/parallel processing. Instead, I got more confused than before reading it! (I used to be real-time software programmer, so the field is not totally new to me). The authors tried to put everything in this small 633-pages book.Even my professor said it is useless to read the book and referred us to other research papers [Robertazzi's papers], and yes, these IEEE/ACM papers are much clearly understood! I also found that some websites much better explaining the concept. Another book is also I guess better: "Fundamentals of Parallel Processing" by Harry F. Jordan and Gita Alaghband.Don't waste your money on this book.
I agree with the other reviewers who have said that this book is sloppy. There are just far too many mistakes for a 2nd edition book; very discouraging in an Addison-Wesley print.The content is OK, and fairly thorough, but as another reviewer noted, there's considerable handwaving going on in some of the explanations.Bottom line: a cleaned-up 3rd edition could be a very good textbook. Too bad I'm stuck with the 2nd edition :(
The content should be accessible to any graduate student but the sloppy writing style has made it unnecessarily difficult to read. Out of the many poorly written places, here is an example. In section 6.3.5 on page 248, it wrote, "Recall from section 9.3.1..." But I am only in chapter 6, how can I recall something from chapter 9. I then checked chapter 9 and found out that the forward reference was not a typo."Foundations of Multithreaded, Parallel, and Distributed Programming" by Gregory Andrews is a much better written book. Unfortunately, Gregory's book does not cover the same content.
I like this book very much. I have used it for a course I am about to finish.It provides a solid foundation for anyone interested in parallel computing on distributed memory architectures. Although there is some material on shared memory machines, this material is fairly limited which might be something the authors should change for a 3rd edition given the times we're living in.The complaint I would raise is that the book doesn't always feel "clean". It's hard to give a concrete example but sometimes you really have to spend some time to understand where a communication time complexity comes from even though the author's refer to a table of communication time complexities. Why? Because the table is based on that the underlying architecture is a hypercube which isn't really made explicit anywhere (?).
This book is extremely poorly written. The authors glaze over complex equations and magically come up with answers that don't make any sense. For example, to anyone having taken a prior architecture course the author's are completely wrong in the majority of cache performance analysis done early on in the book. Problems associated with that topic force the reader to dumb-down quite a bit to achieve their "expected" answer.The user is left in most cases to derive the bizarre math that is involved through the authors' hand-waiving.One of my personal favorites is from a formula derivation given on page 340, the sequence follows from the text as:n^2=Ktwnp,n=Ktwp,n^2=K^2tw^2p^2,
Parallel Programming: Success in a Day: Beginners' Guide to Fast, Easy, and Efficient Learning of Parallel Programming (Parallel Programming, Programming, ... C++ Programming, Multiprocessor, MPI) Introduction to Parallel Computing (2nd Edition) Time Travel and Our Parallel Worlds: Part 3 - All New In-Depth Real Life Stories In the News (Time Travel and Parallel Worlds Book 6) RenderScript: parallel computing on Android, the easy way Fundamentals of Distributed Object Systems: The CORBA Perspective (Wiley Series on Parallel and Distributed Computing) High-Performance Compilers for Parallel Computing GPU Computing Gems Emerald Edition (Applications of GPU Computing Series) Student Solutions Manual for Differential Equations: Computing and Modeling and Differential Equations and Boundary Value Problems: Computing and Modeling Introduction to Computing Using Python: An Application Development Focus, 2nd Edition An Introduction to Parallel Programming with OpenMP, PThreads and MPI (Cook's Books Book 6) TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition) (Addison-Wesley Professional Computing Series) Introduction to Computing and Programming in Python (4th Edition) Programming Massively Parallel Processors, Second Edition: A Hands-on Approach Guide to Parallel Operating Systems with Windows 10 and Linux, 3rd Edition The Song of the Cid (Penguin Classics) A Dual-Language Edition with Parallel Text The Art of Stalking Parallel Perception - Revised 10th Anniversary Edition: The Living Tapestry of Lujan Matus Introduction to Computing and Programming with Java: A Multimedia Approach Quantum Computing: A Gentle Introduction (Scientific and Engineering Computation) Cloud Computing - An Introduction Introduction to Computing Systems: From Bits and Gates to C and Beyond