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

Chapter 3. Architectural Patterns for Parallel Programming

'How does one invent program structure? I do it by drawing pictures of it from different viewpoints over and over again until a simple and convincing pattern emerges. Perhaps, there are more systematic ways of inventing structure – I don't know. But I do recognize a good program when I find one'.

Per Brinch-Hansen, The Architecture of Concurrent Programs (1977), p. 192.

This chapter introduces the concept of architectural for parallel programming, as the basic organizational structures commonly used in parallel programming to compose parallel software systems. Selection of architectural patterns for parallel programming is based on the partitioning proposed for algorithms and/or data. The architectural patterns for parallel programming describe the coordination of an overall parallel software system. The patterns presented here that are commonly used in parallel programming are Parallel Pipes and Filters, Parallel Layers, Communicating Sequential Elements, Manager–Workers and Shared Resource.

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