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 ...
Get Patterns for Parallel Software Design now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.