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

3.1. 3.1 Parallel Pipes and Filters

The Parallel Pipes and Filters pattern extends the original Pipes and Filters pattern [POSA1] [Sha95] [SG96] with aspects of functional parallelism. Each parallel component simultaneously performs a different step of the computation, following a precise order of operations on ordered data that is passed from one computation stage to another as a flow through the whole structure [OR98]. Functional parallelism is the form of parallelism that involves problems whose computation can be described in terms of a series of simultaneous time-step ordered operations, on a series of ordered values or data, with predictable organization and interdependencies. As each step represents a change of the input value or effect over time, a high amount of communication between components in the solution (in the form of a flow) should be considered. Conceptually, a single data value or transformation is performed repeatedly [CG88] [Fos94] [Pan96] [OR98].

3.1.1. Example: Graphics Rendering

In image processing, graphics rendering is a jargon phrase that has come to mean 'the collection of operations necessary to project a view of an object or a scene onto a view surface'. In common applications for the film and video industry, rendering a special effect scene of ten seconds using a standard resolution of 2048 × 1536 pixels takes up to 130 hours of processing time when using the C programming language on a single high-end Macintosh or PC platform [HPCN98]. The input ...

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