4.7. 4.7 Local Rendezvous

The Local Rendezvous pattern describes the design of a local, one-to-one, bidirectional synchronous communication component for Manager–Workers or Shared Resource applications, which allows the exchange of information between the manager and a worker or between the shared resource and a sharer. This pattern describes a communication component capable of issuing individual but synchronous local calls to a central component, which reads and writes over a data structure. The manager and/or shared resource encapsulate such a data structure, whose parts or pieces can be synchronously read or written by a single worker and/or a single sharer component. Data is allowed to flow from the manager/shared resource to the worker/sharer and vice versa. All these components are allowed to execute simultaneously, requiring synchronous communication between them during each call. The rendezvous is considered local, since components are designed to exist and execute on a shared memory parallel system.

4.7.1. Example

Consider the example of a parallel application for a token space from Section 3.5, which makes use of the Shared Resource architectural pattern [OR98] [Ort03] [Section 3.5] as an activity parallelism approach to the development of a parallel program. The algorithm applied to the data structure is partitioned among autonomous sharer components that make up the processing components of the parallel program. The program is to be developed for a shared memory ...

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.