1541-4922/04/$25.00 © 2004 IEEE
Published by the IEEE Computer Society
Applied Parallel Computing
Héctor Zenil Chávez
Sourcebook of Parallel Computing
Edited by Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Ken Kennedy, Linda Torczon, and Andy White
842 pages
US$59.95
Morgan Kaufmann, 2003
ISBN 1-55860-871-0
Parallel computing uses multiple computers or internal processors to solve problems at a greater computational speed than using a single computer or processor. Sourcebook of Parallel Computing introduces techniques in this field and describes advanced applications development.
Because the book has many writers, it's difficult to do a review on writing style, so, instead, I'll focus on content. Sourcebook of Parallel Computing was obviously written by experts who put rigorous effort into producing a thorough reference. It explains the convergence of shared memory, applied parallel algorithms, message passing, and data with computing architectures. Examining architecture from an application-driven perspective provides comprehensive discussions of parallel programming for high-performance and applied computing, keeping in mind hardware-software integration.
The book deals with three essential areas. (But, even at more than 800 pages, it can't completely cover this vast topic.) Beginning with a short introduction to parallel software and hardware, the book then moves on to parallel-machine architecture and concludes with parallel-application cases, from partial differential equations to artificial life and industrial development. The book also briefly discusses principles of parallel-algorithm design and parallel-programming models. If you're not interested in reading the entire text, you can introduce yourself to the topic with essentials in the first chapters and then jump to sections that appeal to you.
Six years ago, in a parallel-programming and supercomputing-performance analysis course at the National University of Mexico, I put my hands for the first time on a Cray supercomputer terminal (40 parallel processors divided in an 8/32 configuration). At that time, the few bibliographies on the topic either were concentrated on particular issues or lacked enough applied parallel computing to be accessible. We studied with an Irix distributed OS manual, which was an OK but extremely technical overview that's academically and pedagogically poor.
Sourcebook of Parallel Computing is suitable for both undergraduate- and graduate-level science students as well as professional industrial consultants. As a whole, the book aims to be an applied scientific or industrial reference and is more a compiled workbook than a purely academic resource. The book is geared toward applied mathematicians, computer science experts, or industrial software engineers with high computer-power needs, such as CAD, 3D modeling, rendering and simulation, industrial animation, and scientific visualization.
If you are an applied scientist or already use parallel computing, you'll appreciate the many heterogeneous applied-science case studies, such as fluid modeling and earthquake simulation. The book also includes useful source code for practical, hands-on learning.
Sourcebook of Parallel Computing is an indispensable reference for parallel-computing consultants, scientists, and researchers, and a valuable addition to any computer science library.
In it, you'll learn about
The basics of parallel-computing software and hardware
Parallel computing and applications research and development for practicing engineers, graduate students, and researchers
In-depth case studies on computer graphics, computational science, and engineering
Programming for performance, including both architecture-independent and architecture-dependent aspects with examples and case studies
Complex applied mathematics and computer-science content covered by experts in each topic throughout the book
If you're looking for a pedagogical guide, consider such elementary books as An Introduction to Parallel Computing: Design and Analysis of Algorithms, by Ananth Grama et al. (Addison-Wesley, 2003); Introduction to Parallel Computing: Design and Analysis of Parallel Algorithms, by Vipin Kumar et al. (Pearson Education, 1994); or Fundamentals of Parallel Computing, by Harry F. Jordan et al. (Prentice Hall, 2002).
For a hardware or parallel-architecture reference, take a look at such works as Computer Architecture: A Quantitative Approach by John L. Hennessy and David A. Patterson (Morgan Kaufmann, 2002), or Parallel Computer Architecture: A Hardware/Software Approach by David E. Culler, Jaswinder Pal Singh, and Anoop Gupta (Morgan Kaufmann, 1998).
Suggestions for the Next Edition
My only criticism of Sourcebook of Parallel Computing is that it doesn't include a CD-ROM, which would have been great for copying and pasting source code from the book. Also, considering the book's size, a CD-ROM would have been useful for search capabilities or additional information.
Héctor Zenil Chávez is a mathematician from the National University of Mexico and a security and computer science reviewer and consultant. Contact him at zenil@ciencias.unam.mx.