O'Reilly logo

Patterns for Parallel Software Design by Jorge Luis Ortega-Arjona

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

3.6. 3.6 Summary

This chapter introduced the concept of architectural patterns for parallel programming as common coordination organizations found in many parallel software systems. Selection amongst these patterns constitutes the coordination design step, the initial step of the pattern-based parallel software design method.

Architectural patterns for parallel programming have the common objective of solving the parallelization problem, the description of an algorithmic solution to a software problem as the simultaneous execution of communicating sequential processes. Once a solution is found and described as an algorithm and its associated data, the objective becomes that of ensuring more efficient execution of the solution as a parallel program.

Architectural patterns for parallel programming have been presented here together with guidelines on their classification and selection to help software designers decide which coordination organization is potentially useful for solving a given problem. The patterns described here are [OR98]: Parallel Pipes and Filters [Ort05], Parallel Layers [Ort07a], Communicating Sequential Elements [Ort00], Manager–Workers [Ort04] and Shared Resource [Ort03].

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required