0
5.0kviews
Write a note on Group Communication in distributed systems.
1 Answer
1
134views

Indirect Communication

  • Communication between two entities in a distributed system through an intermediary.
  • Indirect communication avoids direct coupling.
  • Indirect communication is often used in distributed systems where change is anticipated.

Group Communication

  • Group Communication is an example of indirect communication.
  • Group communication offers a service whereby a message is sent to a group and then this message is delivered to all members of the group.
  • The sender is not aware of the identities of the receivers.
  • Group communication represents an abstraction multicast over communication.

  • Group Communication is an important building block for distributed systems, with key areas of applications including:

    • The reliable dissemination of information to potentially large numbers of clients.
    • Support for collaborative applications.
  • Group communication issues only one multicast operation to send a message to each of a group of processes instead of issuing multiple send operations to individual processes.

  • The use of a single multicast operation instead of multiple send operations enables the implementation to be efficient in its utilization of bandwidth.
  • The implementation can also minimize the total time taken to deliver the message to all destinations, as compared with transmitting it separately and serially.

Process groups and object groups

  • Most work on group services focuses on the concept of process groups, that is, groups where the communicating entities are processes.
  • An object group is a collection of objects (normally izstances of the same class).

Overlapping and non-overlapping groups:

In overlapping groups, entities (processes or objects) may be members of multiple groups, and non-overlapping groups imply that niembership does not overlap (that is, any process belongs to at most one group).

Implementation Issues

Implementation issues of group communication on the properties of underlying multicast service in terms of reliability and ordering and also, the key role of group membership management in dynamic environments, where processes can join and leave or fail at any time.

Reliability and ordering in multicast

  • Integrity : the message received is the same as the one sent, and no messages are delivered twice
  • validity : any outgoing message is eventually delivered.

Group communication services offer ordered multicast:

  • FIFO ordering: First-in-first-out (FIFO) ordering is concerned with preserving the order from the perspective of a sender process.
  • Causal ordering: Causal ordering takes into account causal relationships between messages.
  • Total ordering: In total ordering, if a message is delivered before another message at one process, then the same order will be preserved at all processes.

A group membership service has four main tasks:

  • Providing an interface for group membership changes
  • Failure detection

  • Notifying members of group membership changes

  • Performing group address expansion

Providing an interface for group membership changes:

The membership service provides operations to create and destroy process groups and to add or withdraw a process to or from a group.

Failure detection:

  • The service monitors the group members not only in case they should crash, but also in case they should become unreachable because of a communication failure.
    • The detector marks processes as Suspected or Unsuspected. The service uses the failure detector to reach a decision about the group's members hip: it excludes a process from membership if it is suspected to have failed or to have become unreachable.

Notifying members of group membership changes:

The service notifies the group's members when a process is added, or when a process is excluded (through failure or when the process is deliberately withdrawn from the group).

Performing group address expansion:

When a process multicasts a message, it supplies the group identifier rather than a list of processes in the group. The membership management service expands the identifier into the current group membership for delivery.

Please log in to add an answer.