4.4. 4.4 Multiple Remote Call

The Multiple Remote Call pattern describes the design of a bidirectional one-to-many and many-to-one remote communication subsystem for an application based on the Parallel Layers pattern, in the form of a tree-like communication structure. In this pattern the processing components of the Parallel Layers application execute on a distributed memory computer system. The pattern describes a set of communication components that disseminate remote calls to multiple communication components executing on different processors or computer systems. These communication components act as surrogates or proxies of the processing components, operating over global and/or local variables and then returning a result. This pattern distributes a part of a whole processing activity to other processing components in lower layers, executing on other memory systems. Both the higher- and lower-layer components are allowed to execute simultaneously. However, they must communicate synchronously during each remote call over the network of the distributed memory parallel system.

4.4.1. Example

Using the Single-Source Shortest Path Algorithm example presented in Section 3.2 as an application of the Parallel Layers architectural pattern [OR98] [Ort07a], this algorithm is to be partitioned among several autonomous and distributed layer components that make up the processing components of the parallel program. Such a program is to be developed for a distributed memory computer or ...

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.