did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780470697344

Patterns for Parallel Software Design

by
  • ISBN13:

    9780470697344

  • ISBN10:

    0470697342

  • Format: Hardcover
  • Copyright: 2010-03-09
  • Publisher: Wiley
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $60.00

Summary

Patterns for Parallel Software Design presents a pattern-oriented software architecture approach to parallel software design, this is, designing parallel software based on existing design knowledge (from well-known classic design knowledge to new and promising designs). A pattern-oriented approach to Parallel Software Design is not a design method in the classic sense, but a new way of managing and exploiting existing design knowledge for designing parallel programs. Using this approach leads to parallel software systems that can be considered better designed: they are modular, adaptable, understandable, evolvable, and so on. Moreover, such approaches to parallel software design aims to enhance not only build-time properties of parallel systems, but also and particularly, their run-time properties.Key features include: Use of known solutions in concurrent and distributed programming, applied to the development of parallel programs. Significant architectural patterns that describe how to divide an algorithm and/or data to find a suitable partition, and hence, link it with a programming structure that allows for such a division. Explanations of design patterns to show readers how to select structures for communication between parallel components, based on actual characteristics found in the context, like memory organisation of the hardware platform and partition of the problem. Idioms that describe synchronisation mechanisms in commonly used languages for parallel programming.

Table of Contents

Forewordp. xiii
Prefacep. xvii
About the Authorp. xx
Acknowledgementsp. xx
Contributor Biographyp. xxii
Software Patternsp. 1
The Concept of a Software Patternp. 2
Pattern Description, Organization and Categorizationp. 8
Summaryp. 10
A Brief Introduction to Parallel Programmingp. 11
Parallel Programmingp. 12
Factors that Influence the Performance of a Parallel Programp. 12
Advantages and Disadvantages of Parallel Programmingp. 23
Summaryp. 25
Architectural Patterns for Parallel Programmingp. 27
Parallel Pipes and Filtersp. 28
Parallel Layersp. 41
Communicating Sequential Elementsp. 54
Manager-Workersp. 67
Shared Resourcep. 79
Summaryp. 93
Design Patterns for Communication Componentsp. 95
Shared Variable Pipep. 96
Multiple Local Callp. 103
Message Passing Pipep. 114
Multiple Remote Callp. 124
Shared Variable Channelp. 136
Message Passing Channelp. 145
Local Rendezvousp. 156
Remote Rendezvousp. 165
Summaryp. 173
Some Idioms for Synchronization Mechanismsp. 175
Semaphorep. 177
Critical Regionp. 185
Monitorp. 192
Message Passingp. 199
Remote Procedure Callp. 208
Summaryp. 217
Two Case Studiesp. 219
Blood Vessel Segmentationp. 220
Adaptive 3D Grid-Based Eulerian (Gasdynamic) Programp. 249
Summaryp. 297
Parallel Software Designp. 299
A General Parallel Software Design Processp. 300
A Pattern-Based Parallel Software Design Methodp. 302
Problem Analysisp. 305
Coordination Design - Architectural Patternsp. 315
Communication Design - Design Patternsp. 327
Detailed Design - Idiomsp. 340
Implementation and Evaluationp. 349
Summaryp. 357
Parallel Software Architecturep. 359
A Definition of Parallel Software Architecturep. 359
Parallel Software Designp. 361
Summaryp. 366
Directions in Patterns for Parallel Programmingp. 367
The Situation in Software Designp. 368
Design Experience and Techniquesp. 369
A Tangible Description for Parallel Software Systemsp. 371
The Need for Measurement in Parallel Software Designp. 372
Final Remarksp. 374
Glossaryp. 377
Notationsp. 393
Referencesp. 397
Index of Patternsp. 409
Indexp. 411
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program