The Weakest Failure Detector for Genuine Atomic Multicast (Extended Version)
Atomic broadcast is a group communication primitive to order messages across a set of distributed processes. Atomic multicast is its natural generalization where each message m is addressed to dst(m), a subset of the processes called its destination group. A solution to atomic multicast is genuine when a process takes steps only if a message is addressed to it. Genuine solutions are the ones used in practice because they have better performance. Let G be all the destination groups and F be the cyclic families in it, that is the subsets of G whose intersection graph is hamiltonian. This paper establishes that the weakest failure detector to solve genuine atomic multicast is μ=(∧_g,h ∈ G Σ_g ∩ h) ∧ (∧_g ∈ G Ω_g) ∧γ, where (i) Σ_P and Ω_P are the quorum and leader failure detectors restricted to the processes in P, and (ii) γ is a new failure detector that informs the processes in a cyclic family f ∈ F when f is faulty. We also study two classical variations of atomic multicast. The first variation requires that message delivery follows the real-time order. In this case, μ must be strengthened with 1^g ∩ h, the indicator failure detector that informs each process in g ∪ h when g ∩ h is faulty. The second variation requires a message to be delivered when the destination group runs in isolation. We prove that its weakest failure detector is at least μ∧ (∧_g, h ∈ G Ω_g ∩ h). This value is attained when F=∅.
READ FULL TEXT