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 4. Design Patterns for Communication Components

'In order to use such a machine effectively on a single task the component processors must be able to communicate and synchronize with each other'. C.A.R. Hoare

Communicating Sequential Processes, Communications of the ACM, Vol. 21 No. 8, August 1978.

For the actual purposes of design, a parallel software system can normally be described in terms of two types of software components [CG90]:

  • Processing components. Processing components make up the parallel software system. Their design and implementation focus on performing simultaneous operations on data.

  • Communication components. Communication components represent the cooperation – through exchange of data or the request for operations – between processing components. They are the linking software that allow information exchange between processing components of the parallel software system and constitute the basic elements for its coordination.

This chapter introduces some common structures used for enabling communication between and among parallel processing components. It describes communication components as design patterns, with the aim of providing parallel software designers and engineers with an overview of some common structures for software components used for communication, providing guidelines for their selection during the design stages of a parallel software system. Selection of design patterns for communication components constitutes the main objective of the ...

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