7.4. 7.4 Coordination Design - Architectural Patterns

Once the problem has been analyzed and documented in terms of data, an algorithm and other issues that impact the solution, the design method advances to design. This begins with a description of the parallel software as a coordinated system. Coordination design is the second step of the design method, as shown in Figure 7.11: its objective is to produce a document that describes the parallel software in terms of the whole system - the Specification of the System. This document should describe the parallel software as a form that carries out a function – that is, as the components or parts that compose it and the functionality of each. It should also consider how the proposed form meets the requirements stated in the Specification of the Problem, as described in Section 7.3.

Designing at the coordination level is a creative activity, involving scoping, analysis, synthesis, iterative refinement and finally documenting all design decisions as the ideas that seem to pose the 'best' organization for the problem at hand. A pattern-based approach to parallel software design will use architectural patterns for parallel programming [OR98] [Ort00] [Ort03] [Ort04] [Ort05] [Ort07a]. Architectural patterns for parallel programming specify the problem they solve as a function in terms of data and algorithms, linking it with a solution as a form describing an organization of parallel software components that execute simultaneously. Architectural ...

Get Patterns for Parallel Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.