Home > Store > Programming > Web Services/ XML/ SOA/ WebSphere/ WCF
Patterns for Parallel Programming
- By Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
- Published Sep 15, 2004 by Addison-Wesley Professional. Part of the Software Patterns Series series.
- Copyright 2005
- Dimensions: 7x9-1/4
- Pages: 384
- Edition: 1st
- Book
- ISBN-10: 0-321-22811-1
- ISBN-13: 978-0-321-22811-6
- eBook
- ISBN-10: 0-321-63058-0
- ISBN-13: 978-0-321-63058-2
Register your product to gain access to bonus material or receive a coupon.
The Parallel Programming Guide for Every Software Developer
From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software.
That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes:
- Understanding the parallel computing landscape and the challenges faced by parallel developers
- Finding the concurrency in a software design problem and decomposing it into concurrent tasks
- Managing the use of data across tasks
- Creating an algorithm structure that effectively exploits the concurrency you've identified
- Connecting your algorithmic structures to the APIs needed to implement them
- Specific software constructs for implementing parallel programs
- Working with today's leading parallel programming environments: OpenMP, MPI, and Java
Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.
0321228111B08232004
Related Articles
POSIX Parallel Programming, Part 1
POSIX Parallel Programming, Part 2: Message Passing
Online Sample Chapter
The Algorithm Structure Design Space in Parallel Programming
Index
Download the Index
file related to this title.
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.
Downloadable Sample Chapter
Download the Sample
Chapter related to this title.

This book includes Instant Online Access with
and free shipping!
Instant Online Access with Safari Books Online
With your book purchase you are entitled to free, instant online access to that book on Safari Books Online for 45 days. After you've completed your purchase, you will receive instructions on how to log into Safari Books Online. If you do not want to receive online access to the book, simply uncheck the box for Instant Online Access in your cart.
This book includes Instant Online Access with
and free shipping!
Instant Online Access with Safari Books Online
With your book purchase you are entitled to free, instant online access to that book on Safari Books Online for 45 days. After you've completed your purchase, you will receive instructions on how to log into Safari Books Online. If you do not want to receive online access to the book, simply uncheck the box for Instant Online Access in your cart.

eBook (Watermarked)
$51.99
$46.79
This PDF is easy to download and read -- no passwords or activation required. We customize your PDF by watermarking each page with your name in the lower right corner.
Your PDF will be accessible from your Account page after purchase and requires the free Adobe® Reader® software to read it.
We respect your choice for easy-to-use digital content and hope in return you will respect the hard work that went into producing it.
- Save more by becoming a member.
- Request an Instructor or Media review copy.
- Corporate, Academic, and Employee Purchases
- International Buying Options
Online access to books, videos, and tutorials from Addison Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media and others - starting as low as $22.99. Learn more and start a free trial.


Account Sign In
View your cart