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

7.3. 7.3 Problem Analysis

Parallel software design proceeds from the statement of a problem (normally expressed in terms of a function and a set of requirements about how to perform such a function) to a form for the parallel organization of components and a set of properties of such a form. The initial step, clearly, is to first understand the problem. Unfortunately this step is often ignored, since many developers want to start programming before they fully understand the problem.

7.3.1. Specification of the Problem

A Specification of the Problem is the first document output by this design method (Figure 7.3). This document should have (a) a description of the data to operate on, (b) a description of the algorithm that operates on such data, (c) contextual information about the parallel platform and the programming language, and (d) specific requirements for performance and cost. This document establishes a reference against which to evaluate the solution. Hence, the descriptions it includes should attempt to answer questions such as 'What is the problem to be solved?', and 'What is the parallel system going to achieve?'

The Specification of the Problem should also answer another important question: 'How do we know whether the parallel system does what it is supposed to do?' A reference or criteria should therefore be defined to verify whether or not the parallel system accomplishes its objectives. This enables the document to be used to create tests to evaluate the parallel ...

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