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

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