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.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 ...

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