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.2. 7.2 A Pattern-Based Parallel Software Design Method

In software design, a 'software system' is described as a set of interconnected software components that cooperate to carry out a defined function. The interconnection is carried out by communication components that define the cooperation between software components. Each communication component is normally referred to as a 'subsystem'.

During the development of a parallel application, designers may try different methods, depending on their understanding of the different levels of abstraction within the general design process. A designer selects a method depending on a number of contextual issues, such as the complexity of the design, the size of the design team, its experience, personal style, preferences and so on. Regardless of which method is selected, the goal is to obtain the parallel program with the best possible performance, using the least design effort and implementation cost, and in the shortest possible time. The method selected has an enormous impact on how long it takes to solve a problem.

Conflicting requirements can complicate method selection. For example, producing the best performing solution may conflict with minimizing cost. In fact, the 'best' solution is determined by finding a balance among performance, cost, reliability, maintainability and so on. It may only be possible to accomplish improved performance or reduced cost, however, by investing in a thorough analysis, which itself might increase ...

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