Synopsis:
Readers learn the craft of designing and building parallel programs - specifically programs that employ multiple processors operating at once to solve a large computational problem - with the clear presentation and fresh, contemporary approach found in Kaminsky's "Building Parallel Programs, International Edition". Written by experienced instructor and industry developer Alan Kaminsky, this book addresses techniques for parallel programming on both major categories of parallel computers - SMPs and clusters. Readers gain first-hand experience working with the increasingly popular programming language, Java, as they complete programs from the text written in Java and work with a unique, author-developed Java class library. The book even emphasizes how to use performance metrics in the design of parallel programs, a topic not even addressed in most other texts.
Review:
Part I - PRELIMINARIES. 1. Parallel Computing. 2. Parallel Computers. 3. How to Write Parallel Programs. 4. A First Parallel Program. Part I - Exercises. Part II - SMPs. 5. Massively Parallel Problems. 6. SMP Parallel Programming. 7. Massively Parallel Problems, Part 2. 8. Measuring Speedup. 9. Cache Interference. 10. Measuring Sizeup. 11. Parallel Image File Generation. 12. Load Balancing. 13. Reduction. 14. Parallel Random Number Generation. 15. Reduction, Part 2. 16. Sequential Dependencies. 17. Barrier Actions. 18. Overlapping. Part II - Exercises. Part III - CLUSTERS. 19. A First Cluster Program. 20. Parallel Message Passing. 21. Massively Parallel Problems, Part 3. 22. Data Slicing. 23. Load Balancing, Part 2. 24. Measuring Communication Overhead. 25. Broadcast. 26. Reduction, Part 3. 27. All-Gather. 28. Pipelining. 29. Overlapping, Part 2. 30. All-Reduce. 31. All-to-All. Part III - Exercises. Part IV - HYBRID SMP CLUSTERS. 32. Massively Parallel Problems, Part 4. 33. Load Balancing, Part 3. 34. Partitioning and Broadcast, Part 2. 35. Parallel Datastore Querying. Part IV - Exercises. Part V - APPLICATIONS. 36. MRI Spin Relaxometry. 37. DNA Sequence Querying. 38. Phylogenetic Tree Construction. Appendices. A. Parallel Programming Projects. B. Numerical Methods. C. OpenMP. D. Message Passing Interface (MPI). E. Lock-Free Concurrent Programming.
"About this title" may belong to another edition of this title.