4.8. 4.8 Remote Rendezvous

The Remote Rendezvous pattern describes the design of a remote, point-to-point, bidirectional and synchronous communication component that allows the exchange of information between a manager and a worker within a Manager–Worker application or between a shared resource and a sharer within a Shared Resource application. The manager and/or shared resource encapsulate a data structure, whose parts can be synchronously read from or written to by a single remote worker and/or a single remote sharer component. Data is allowed to flow from the manager/shared resource to the worker/sharer and vice versa. Components execute simultaneously. The rendezvous is considered remote, since components are designed to exist and execute on a distributed memory parallel system (although they can be used within a shared memory parallel platform).

4.8.1. Example

Consider the polygon overlay problem presented in Section 3.4, which describes the design of a parallel application using the Manager–Workers pattern [OR98] [Ort04] [Section 3.4]. The manager and several autonomous and distributed worker components execute on different computers, making up the processing components of the parallel program. The program is therefore developed on a distributed memory computer or system on which the programming language is capable of implementing a rendezvous or remote procedure call component [Bri78] [Har98] as synchronization mechanisms for remote interprocess communication. Although ...

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.