Patterns for Parallel Programming
Addison-Wesley Professional (September 15, 2004)
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.