Warehouse Stock Clearance Sale

Grab a bargain today!


Patterns for Parallel Programming
By

Rating

Product Description
Product Details

Table of Contents

Preface.

1. A Pattern Language for Parallel Programming.

    Introduction.

    Parallel Programming.

    Design Patterns and Pattern Languages.

    A Pattern Language for Parallel Programming.

2. Background and Jargon of Parallel Computing.

    Concurrency in Parallel Programs Versus Operating Systems.

    Parallel Architectures: A Brief Introduction.

    Parallel Programming Environments.

    The Jargon of Parallel Computing.

    A Quantitative Look at Parallel Computation.

    Communication.

    Summary.

3. The Finding Concurrency Design Space.

    About the Design Space.

    The Task Decomposition Pattern.

    The Data Decomposition Pattern.

    The Group Tasks Pattern.

    The Order Tasks Pattern.

    The Data Sharing Pattern.

    The Design Evaluation Pattern.

    Summary.

4. The Algorithm Structure Design Space.

    Introduction.

    Choosing an Algorithm Structure Pattern.

    Examples.

    The Task Parallelism Pattern.

    The Divide and Conquer Pattern.

    The Geometric Decomposition Pattern.

    The Recursive Data Pattern.

    The Pipeline Pattern.

    The Event-Based Coordination Pattern.

5. The Supporting Structures Design Space.

    Introduction.

    Forces.

    Choosing the Patterns.

    The SPMD Pattern.

    The Master/Worker Pattern.

    The Loop Parallelism Pattern.

    The Fork/Join Pattern.

    The Shared Data Pattern.

    The Shared Queue Pattern.

    The Distributed Array Pattern.

    Other Supporting Structures.

6. The Implementation Mechanisms Design Space.

    Overview.

    UE Management.

    Synchronization.

    Communication.

Appendix A. A Brief Introduction to OpenMP.

Appendix B. A Brief Introduction to MPI.

Appendix C. A Brief Introduction to Concurrent Programming in Java.

Glossary.

Bibliography.

About the Authors.

Index.

Promotional Information

This is a book to help software engineers become parallel programmers. Whilethe demand for parallel software is large and growing, accomplished parallelprogrammers are in short supply. This new book helps seasoned softwarepractitioners make the transition to this highly specialized discipline ofprogramming. The authors employ a design patterns approach, providingproven solutions to recurring challenges faced by parallel programmers. Theresult is a highly-practical treatment of the topic that will help softwareengineers increase their skillset, and ultimately learn to "think" parallel.

About the Author

Timothy G. Mattson is Intel's industry manager for life sciences. His research focuses on technologies that simplify parallel computing for general programmers, with an emphasis on computational biology. He holds a Ph.D. in chemistry from the University of California, Santa Cruz.

Beverly A. Sanders is associate professor at the Department of Computer and Information Science and Engineering, University of Florida, Gainesville. Her research focuses on techniques to help programmers construct high-quality, correct programs, including formal methods, component systems, and design patterns. She holds a Ph.D. in applied mathematics from Harvard University.

Berna L. Massingill is assistant professor in the Department of Computer Science at Trinity University, San Antonio, Texas. Her research interests include parallel and distributed computing, design patterns, and formal methods. She holds a Ph.D. in computer science from the California Institute of Technology.



0321228111AB08232004

Ask a Question About this Product More...
 
Look for similar items by category
People also searched for
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top