4.3. 4.3 Message Passing Pipe

The Message Passing Pipe pattern describes the design of a pipe component for a Parallel Pipes and Filters system based on message passing, for use in a distributed memory parallel computer system. The pipe component therefore requires an implementation using send and receive operations that perform the communications, although it can also be used in a shared memory parallel system.

4.3.1. Example

The graphics rendering example presented in Section 3.1 is used again here for a distributed memory platform. A parallel program is to be developed to carry out graphics rendering using the Parallel Pipes and Filters architectural pattern [OR98] [Ort05] [Section 3.1]. This pattern applies a functional parallelism approach in which the rendering algorithm is partitioned among autonomous filters, which make up the processing components of the parallel program. As the program is to be developed for a distributed memory computer, a message-passing communication scheme will be used, assuming that the programming language has basic synchronization mechanisms for process communication through message passing, such as send and receive primitives [Hoa78] [Har98].

In the Parallel Pipes and Filters pattern every filter component needs to receive data from the previous filter (or source) component and to send results to the next filter (or sink) component. Given the distributed memory feature of the parallel platform to be used, communication between filters has to ...

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.