Analysis of Amnesiac Flooding
Abstract
The broadcast operation in distributed systems is used to spread information located at some nodes to all other nodes. This operation is often realized by flooding, where the source nodes send a message containing the information to all neighbors. Each node receiving the message for the first time forwards it to all other neighbors. A stateless variant of flooding for synchronous systems is called amnesiac flooding. In this case, every time a node receives a message, it forwards it to those neighbors, from which it did not receive the message in the current round. The algorithm is oblivious and therefore scales very well. Stateless protocols are advantageous in high volume applications, increasing performance by removing the load caused by retention of session information and by providing crash tolerance. In this paper we analyze the termination time of amnesiac flooding. We define the (k,c)-flooding problem, which aims at finding a set $S$ of size $k$, such that amnesiac flooding when started concurrently by all nodes of $S$ terminates in a minimal number of rounds. We prove that this problem is NP-complete. We provide sharp upper and lower bounds for the time complexity of amnesiac flooding and reveal a discrepancy between bipartite and non-bipartite graphs. All results are based on the insight, that for every non-bipartite graph there exists a bipartite graph such that the execution of amnesiac flooding on both graphs is strongly correlated. This construction considerably simplifies existing proofs for amnesiac flooding and allows to analyze the (k,c)-flooding problem.
- Publication:
-
arXiv e-prints
- Pub Date:
- February 2020
- DOI:
- 10.48550/arXiv.2002.10752
- arXiv:
- arXiv:2002.10752
- Bibcode:
- 2020arXiv200210752T
- Keywords:
-
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing
- E-Print:
- 14 pages, 12 figures