research

On the push&pull protocol for rumour spreading

Abstract

The asynchronous push&pull protocol, a randomized distributed algorithm for spreading a rumour in a graph GG, works as follows. Independent Poisson clocks of rate 1 are associated with the vertices of GG. Initially, one vertex of GG knows the rumour. Whenever the clock of a vertex xx rings, it calls a random neighbour yy: if xx knows the rumour and yy does not, then xx tells yy the rumour (a push operation), and if xx does not know the rumour and yy knows it, yy tells xx the rumour (a pull operation). The average spread time of GG is the expected time it takes for all vertices to know the rumour, and the guaranteed spread time of GG is the smallest time tt such that with probability at least 11/n1-1/n, after time tt all vertices know the rumour. The synchronous variant of this protocol, in which each clock rings precisely at times 1,2,1,2,\dots, has been studied extensively. We prove the following results for any nn-vertex graph: In either version, the average spread time is at most linear even if only the pull operation is used, and the guaranteed spread time is within a logarithmic factor of the average spread time, so it is O(nlogn)O(n\log n). In the asynchronous version, both the average and guaranteed spread times are Ω(logn)\Omega(\log n). We give examples of graphs illustrating that these bounds are best possible up to constant factors. We also prove theoretical relationships between the guaranteed spread times in the two versions. Firstly, in all graphs the guaranteed spread time in the asynchronous version is within an O(logn)O(\log n) factor of that in the synchronous version, and this is tight. Next, we find examples of graphs whose asynchronous spread times are logarithmic, but the synchronous versions are polynomially large. Finally, we show for any graph that the ratio of the synchronous spread time to the asynchronous spread time is O(n2/3)O(n^{2/3}).Comment: 25 page

    Similar works

    Full text

    thumbnail-image

    Available Versions