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

4.6. 4.6 Message Passing Channel

The Message Passing Channel pattern describes the design of a channel component for a Communicating Sequential Elements system on a distributed memory parallel system, based on message passing, by implementing the send and receive operations that perform the communications of the channel component. It can also be used on a shared memory parallel system.

4.6.1. Example

Consider the example from Section 3.3 for a distributed memory parallel platform: a parallel program is to be developed for calculating the Heat Equation using the Communicating Sequential Elements architectural pattern [OR98] [Ort00] [Section 3.3]. This architectural pattern applies a domain parallelism approach in which the data corresponding to the various temperatures of segments within a wire is partitioned among semi-autonomous sequential elements that make up the processing components of the program. Because the parallel program is to be developed for a distributed memory parallel computer, a message-passing communication method is considered. The programming language of such a parallel computer must therefore support basic synchronization mechanisms for process communication through message passing, such as send and receive primitives [Hoa78] [Har98].

The behavior of the Communicating Sequential Elements pattern is such that every sequential element component needs to exchange data with its neighbor elements (depending on the topology and dimensions of the data), both sending ...

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