Skip to main content

Short note: Reliable group communication

Short answer

Reliable group communication delivers a message to all non-faulty group members. The sender assigns sequence numbers and receivers send NACKs for missing messages; feedback suppression and hierarchical multicast avoid feedback implosion. Atomic multicast and virtual synchrony provide stronger guarantees.

Write a short note on reliable group communication.

Reliable group communication (reliable multicast) means that a message sent to a group is delivered to all non-faulty members of the group.

  • Basic scheme: the sender gives each message a sequence number and keeps it in a history buffer. A receiver sends a negative acknowledgement (NACK) when it finds a missing sequence number, and the sender retransmits. (Sending an ACK for every message would overwhelm the sender: feedback implosion.)
  • Scalability: use feedback suppression (a receiver multicasts its NACK after a random delay, so other receivers missing the same message suppress theirs) or hierarchical multicast, where the group is organized as a tree of sub-groups whose local coordinators handle ACKs and retransmission for their sub-group.
  • Atomic multicast: the message is delivered to all members or to none, even if the sender crashes. It needs virtual synchrony.
  • Message ordering: unordered, FIFO, causal and total ordering.
  • Virtual synchrony: group views change only between message deliveries, and all members that survive a view change have delivered the same set of messages.

Example: a replicated database, where every update must reach all replicas in the same order.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 9 questions →