Patterns for Parallel Programming and over 360,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
46 used & new from $28.00

Have one to sell? Sell yours here
 
   
Patterns for Parallel Programming
 
See larger image
 
Start reading Patterns for Parallel Programming on your Kindle in under a minute.

Don’t have a Kindle? Get your Kindle here.
 
  

Patterns for Parallel Programming (Hardcover)

~ (Author), Beverly A. Sanders (Author), Berna L. Massingill (Author)
3.7 out of 5 stars  See all reviews (6 customer reviews)

List Price: $59.99
Price: $33.84 & this item ships for FREE with Super Saver Shipping. Details
You Save: $26.15 (44%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 10? Choose One-Day Shipping at checkout. Details
27 new from $33.83 19 used from $28.00

Formats

Amazon Price New from Used from
  Kindle Edition, March 2, 2009 $27.07 -- --
  Hardcover, September 24, 2004 $33.84 $33.83 $28.00

Frequently Bought Together

Patterns for Parallel Programming + The Art of Multiprocessor Programming + Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism
Price For All Three: $124.56

Show availability and shipping details

  • This item: Patterns for Parallel Programming by Timothy G. Mattson

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The Art of Multiprocessor Programming by Maurice Herlihy

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism by James Reinders

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism

Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism

by James Reinders
3.7 out of 5 stars (3)  $34.07
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)

Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)

by Barbara Chapman
4.3 out of 5 stars (3)  $31.07
Synchronization Algorithms and Concurrent Programming

Synchronization Algorithms and Concurrent Programming

by Gadi Taubenfeld
5.0 out of 5 stars (2)  $81.83
The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications

The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications

by Clay Breshears
4.0 out of 5 stars (3)  $38.72
The Sourcebook of Parallel Computing (The Morgan Kaufmann Series in Computer Architecture and Design)

The Sourcebook of Parallel Computing (The Morgan Kaufmann Series in Computer Architecture and Design)

by Jack Dongarra
5.0 out of 5 stars (1)  $58.28
Explore similar items

Editorial Reviews

Product Description

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


From the Back Cover

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


Product Details

  • Hardcover: 384 pages
  • Publisher: Addison-Wesley Professional; 1 edition (September 25, 2004)
  • Language: English
  • ISBN-10: 0321228111
  • ISBN-13: 978-0321228116
  • Product Dimensions: 9.4 x 7.1 x 1 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon.com Sales Rank: #84,678 in Books (See Bestsellers in Books)

More About the Author

Timothy G. Mattson
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Timothy G. Mattson Page


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

 

Customer Reviews

6 Reviews
5 star:
 (1)
4 star:
 (4)
3 star:    (0)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.7 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
25 of 26 people found the following review helpful:
4.0 out of 5 stars A good start, October 8, 2006
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews
(TOP 100 REVIEWER)   
Parallel programming has been around for years, in many different forms. It has usually been a specialty for supercomputing number crunchers and for the occasional OS geek. Now that traditional, single-processor solutions are hitting the wall, Moore's Law must grow in new directions: multithreaded processos, multi-cores, multi-processors, and wilder exotica. The hardware is entering the market now, and the software community is scrambling to develop the necessry skills for parallel program development. This book gives a fair introduction to a large range of the techniques available.

After getting the reader oriented to the basics of parallel programming, the authors lay out four "design spaces," or families of related patterns. Within each space, the authors present a handful of patterns using a common and reasonably familiar format: name, problem addressed, context, forces acting on the design, the solution, and examples of the pattern's usage. They identify spaces named Finding Concurrency, Algorithm Structure, Supporting Structures, and Implementation Mechanisms. Of course, these topics overlap to some extend, especially in the interplay of algorithm design and explitable parallelism, or in langauge and API primitives that blur support mechanisms available with the implemenation choices available to the programmer. The authors show how the pieces come together in familiar applications, including molecular dynamics and medical imaging applications. Appendices sketch the basic programming constructs available in three of the major parallelism toolkits around: OpenMP, MPI, and Java.

Although valuable, this book has a number of weaknesses. For example, they cite the Cooley-Tukey FFT algorithm as a winning example of "Divide and Conquer." It's a great example, but perhaps not the one most useful for didactic purposes. The FFT algortithm is brilliant, and based on deep insight combined with total fluency in handling combinations of trig functions. Programmers writing parallel code will always benefit in proportion to their understanding of the algorithms, but I would find it discouraging to think that mastery and creativity at Cooley and Tukey's level were requisite. The authors skip over the kinds of fine-grained parallelism and communication available in emerging platforms, such as FPGA- and GPU-based accelerators. At the opposite end of the spectrum, they also gloss over many of the management issues in grid computing, where parallelism is extremely coarse-grained. I also have reservations about some of the system primitives they identify as patterns - one may as well say that a "for" loop is a pattern, even though it's a primitive in nearly all programming languages.

Despite flaws, the authors do reasonably well at introducing a wide range of basics for writing parallel programs. The interested beginner will need a lot more information to put the ideas to use, but this is a fair start.

//wiredweird
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
22 of 23 people found the following review helpful:
5.0 out of 5 stars Good book for parallel computing, November 23, 2005
By Michael Entin "Mike" (Seattle, WA USA) - See all my reviews
(REAL NAME)   
This is an excellent introduction to parallel computing. It presents patterns for discovering what can be parallized, what data structures can be used, how to choose algorithms. Patterns are demonstrated by good examples showing benefits and trade-offs of different solutions. There is also a brief, but very useful introduction to common implementations: OpenMP, MPI, and regular procedural approach demonstrated with Java.

Some caution about what this book is not: this is not a general parallel programming designand patterns book (as I expected from the title). The focus of this book is parallel computing (i.e. scalable _calculations_, often scientific). There is somewhat more to parallel _programming_ than this book covers.

Still, I found this book very good and useful, even though I expected broader coverage.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
5 of 6 people found the following review helpful:
4.0 out of 5 stars Easy to read and useful content, October 20, 2007
Normally design pattern books are things that you dip into rather than read end to end, simply because they can be very dry reading. Not this one - as long as you have an interest in parallel programming, reading this end to end should be easy. But that's not to say that you couldn't just dip in to the bits that are most applicable to your work - I'm sure you could.

Many of the examples given of where each pattern is used are in industry sectors other than where I work, but with such good descriptions of each pattern it is easy to picture where they are used other than the examples given and to identify where you have used them yourself without previously knowing that you were using a "named" pattern even if you have been doing it that way for years.

Much of the material in this book is stuff that is hard to find elsewhere. I've heard bits of it at Intel seminars or touched on in Intel books (e.g. the Threading Building Blocks book), but otherwise have not seen this stuff in print, even though many people (possibly unknowingly) are implementing the same ideas in code.

Excellent book. I've knocked one star off though, simply because the authors work on the premise that almost everyone is using one of OpenMP, MPI or Java. In practice, there are still an awful lot of people implementing such systems using C++ with either native threading APIs or third party libraries wrapping those threading APIs.
Comment Comment (1) | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

1.0 out of 5 stars A total waste of money
When I bought this book, I was hoping that the word 'patterns' in its title is only there to make it buzzword compliant. But sadly not. Read more
Published 1 month ago by Icchan

4.0 out of 5 stars Probably one of the best books on this subject
A little dry and a little repetitive but only to a small degree. The subject is (necessarily) approached from several different 'points of view' so some repetition is to be... Read more
Published 22 months ago by Dinsdale Litotes

4.0 out of 5 stars Read this book
This is a very good book: It will start teaching you how to think about parallel programming and will help you get started in this area. Read more
Published on October 7, 2007 by Loki

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Textbooks for Kindle DX? 61 23 hours ago
textbook scam 66 5 days ago
Amazon is a great place to buy textbooks! 35 17 days ago
Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...


Create a guide

Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.