When one node has information that needs to be spread to the rest of the network

| CONS:
O(n) messages from sender → bottleneck because transmission is limited by sender bandwidth
single point of failure at the sender if sender fails → spread stops
doesn’t guarantee atomicity in delivery | PROS:
if tree is balanced, load is O(logn)
somewhat better atomicity
CONS:
intermediary nodes can fail, message won’t propagate to leaves
needs spanning tree setup
doesn’t scale well: NAK/ACK floods incur O(n) overhead
EX: SRM sends NAKs with exponential backoff to avoid NAK flood RMTP sends ACKs to only designated receives, still floods though | how it works:
infected nodes pick random targets per round and spread message
possible to receive message multiple times, doesn’t matter though
variants: (1) push, (2) pull, (3) hybrid push-pull | | --- | --- | --- |
TLDR: Once you are infected, gossip message to x random targets
INFECTION ANALYSIS
b options) is picked by infected node
n because we assume full membershipk neighbors ~ large enough to ensure connectivity) we still get same Betac and b are small numbers independent of n
c → run for t = c log(n) roundsb → pick b targets each roundy or number infected will all (n-1) except $\frac{1}{n^2}$ which is an extremely small fraction of the entire networkPROPERTY 1: Low Latency
clog(n) roundsPROPERTY 2: Reliability