We study deterministic gossiping in synchronous systems with dynamic crash failures. Each processor is initialized with an input value called rumor. In the standard gossip problem, the goal of every processor is to learn all the rumors. When processors may crash, then this goal needs to be revised, since it is possible, at a point in an execution, that certain rumors are known only to processors that have already crashed. We define gossiping to be completed, for a system with crashes, when every processor knows either the rumor of processor v or that v has already crashed, for any processor v. We design gossiping algorithms that are efficient with respect to both time and communication. Let t < n be the number of failures, where n is the number of processors. If n − t = Ω(n/polylog n), then one of our algorithms completes gossiping in O(log 2 t) time and with O(n polylog n) messages. We develop an algorithm that performs gossiping with O(n 1.77 ) messages and in O(log 2 n) time, in any execution in which at least one processor remains non-faulty. We show a trade-off between time and communication in gossiping algorithms: if the number of messages is at most O(n polylog n), then the time has to be at least Ω log n log(n log n)−log t . By way of application, we show that if n − t = Ω(n), then consensus can be solved in O(t) time and with O(n log 2 t) messages.
Chlebus and Kowalski REF present deterministic algorithms (based on an expandergraph construction) that ensure the dissemination of rumors within time O(log 2 t) using O(n polylog t) total messages, where t is the number of failures.
Robust gossiping with an application to consensus
Journal of Computer and System Science
Computer Science