The Weakest Failure Detector for Genuine Atomic Multicast (Extended Version)

Pierre Sutra
DOI: https://doi.org/10.48550/arXiv.2208.07650
2022-08-16
Abstract: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 $\mu=(\wedge_{g,h \in G}~\Sigma_{g \cap h}) \wedge (\wedge_{g \in G}~\Omega_g) \wedge \gamma$, where (i) $\Sigma_P$ and $\Omega_P$ are the quorum and leader failure detectors restricted to the processes in $P$, and (ii) $\gamma$ is a new failure detector that informs the processes in a cyclic family $f \in 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, $\mu$ must be strengthened with $1^{g \cap h}$, the indicator failure detector that informs each process in $g \cup h$ when $g \cap 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 $\mu \wedge (\wedge_{g, h \in G}~\Omega_{g \cap h})$. This value is attained when $F=\varnothing$.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?