About the Book
Today, parallel computing experts can solve problems previously deemed impossible and make the "merely difficult" problems economically feasible to solve. This book presents and synthesizes the recent experiences of renowned expert developers who design robust and complex parallel computing applications. They demonstrate how to adapt and implement today's most advanced, most effective parallel computing techniques. The book begins with a highly focused introductory course designed to provide a working knowledge of all the relevant architectures, programming models, and performance issues, as well as the basic approaches to assessment, optimization, scheduling, and debugging. Next comes a series of seventeen detailed case studies all dealing with production-quality industrial and scientific applications, all presented firsthand by the actual code developers. Each chapter follows the same comparison-inviting format, presenting lessons learned and algorithms developed in the course of meeting real, non-academic challenges. A final section highlights the case studies' most important insights and turns an eye to the future of the discipline.
It provides in-depth case studies of seventeen parallel computing applications, some built from scratch, others developed through parallelizing existing applications. It also explains elements critical to all parallel programming environments, including: terminology and architectures; programming models and methods; performance analysis and debugging tools; teaches primarily by example, showing how scientists in many fields have solved daunting problems using parallel computing. It covers a wide range of application areas biology, aerospace, semiconductor design, environmental modeling, data imaging and analysis, fluid dynamics, and more. It also summarizes the state of the art while looking to the future of parallel computing, and presents technical animations and visualizations from many of the applications detailed in the case studies via a companion web site.
Table of Contents:
Chapter 1 - Parallel Computing Architectures Alice E. Koniges, David C. Eder, Margaret Cahir Chapter 2 - Parallel Application Performance Alice E. Koniges Chapter 3 - Programming Models and Methods Margaret Cahir, Robert Moench, Alice E. Koniges Chapter 4 - Parallel Programming Tools Margaret Cahir, Robert Moench, Alice E. Koniges Chapter 5 - Optimizing for Single-Processor Performance Jeff Brooks, Sara Graffunder, Alice E. Koniges Chapter 6 - Scheduling Issues Morris A. Jette Chapter 7 - Ocean Modeling and Visualization Yi Chao, P. Peggy Li, Ping Wang, Daniel S. Katz, Benny N. Cheng, Scott Whitman Chapter 8 - Impact of Aircraft on Global Atmospheric Chemistry Douglas A. Rotman, John R. Tannahill, Steven L. Baughcum Chapter 9 - Petroleum Reservoir Management Michael DeLong, Allyson Gajraj, Wayne Joubert, Olaf Lubeck, James Sanderson, Robert E. Stephenson, Gautam S. Shiralkar, Bart van Bloemen Waanders Chapter 10 - An Architecture-Independent Navier-Stokes Code Johnson C. T. Wang, Stephen Taylor Chapter 11 - Gaining Insights into the Flow in a Static Mixer Olivier Byrde, Mark L. Sawley Chapter 12 - Modeling Groundwater Flow and Contaminant Transport William J. Bosil, Steven F. Ashby, Chuck Baldwin, Robert D. Falgout, Steven G. Smith, Andrew F. B. Tompson Chapter 13 - Simulation of Plasma Reactors Stephen Taylor, Marc Rieffel, Jerrell Watts, Sadasivan Shankar Chapter 14 - Electron-Molecule Collisions for Plasma Modeling Carl Winstead, Chuo-Han Lee, Vincent McKoy Chapter 15 - Three-Dimensional Plasma Particle-in-Cell Calculations of Ion Thruster Backflow Contamination Robie I. Samanta Roy, Daniel E. Hastings, Stephen Taylor Chapter 16 - Advanced Atomic-Level Materials Design Lin H. Yang Chapter 17 - Solving Symmetric Eigenvalue Problems David C. O'Neal, Raghurama Reddy Chapter 18 - Nuclear Magnetic Resonance Simulations Alan J. Benesi, Kenneth M. Merz, James J. Vincent, Ravi Subramanya Chapter 19 - Molecular Dynamics Simulations Using Particle-Mesh Ewald Methods Michael F. Crowley, David W. Deerfield II, Tom A. Darden, Thomas E. Cheatham III Chapter 20 - Radar Scattering and Antenna Modeling Tom Cwik, Cinzia Zuffada, Daniel S. Katz, Jay Parker Chapter 21 - Functional Magnetic Resonance Imaging Dataset Analysis Nigel H. Goddard, Greg Hood, Jonathan D. Cohen, Leigh E. Nystrom, William F. Eddy, Christopher R. Genovese, Douglas C. Noll Chapter 22 - Selective and Sensitive Comparison of Genetic Sequence Data Alexander J. Ropelewski, Hugh B. Nicholas, Jr., David W. Deerfield II Chapter 23 - Interactive Optimization of Video Compression Algorithms Henri Nicolas, Fred Jordan Chapter 24 - Designing Industrial Parallel Applications Alice E. Koniges, David C. Eder, Michael A. Heroux Chapter 25 - The Future of Industrial Parallel Computing Michael A. Heroux, Horst Simon, Alice E. Koniges