Exploring Tradeoffs in Failure Detection in P2P Networks Shelley Zhuang, Ion Stoica, Randy Katz Sahara Retreat January, 2003
Problem Statement One of the key challenges to achieve robustness in overlay networks: quickly detect a node failure Canonical solution: each node periodically pings its neighbors Study the fundamental limitations and tradeoffs between detection time, control overhead, and probability of false positives Determine the optimal control resource allocation strategy for a given network topology, failure rate, and load distribution
Network Model P2P system with n nodes Each node A knows d other nodes Average path length = l
Failure Model Failure rate of each node is λ f Node up-time ~ i.i.d. T = exponential(λ f ) Failstop failures If a neighbor is lost, a node can use another neighbor to route the packet w/o affecting the path length
Packet Loss Probability δ = average time it takes a node to detect that a neighbor has failed Probability that a node forwards a packet to a neighbor that has failed is 1- e -λ f δ δλ f P(T-t δ | T t) = P(T<=δ) Probability that the packet is lost is p l lδλ f δ T pdf
Aliveness Techniques Baseline –Each node sends a ping message to each of its neighbors every Δ seconds A BC D
Aliveness Techniques Information Sharing –Piggyback failures of neighbors in acknowledgement messages –Best case: completely connected graph of degree d BC DA
Aliveness Techniques Information Sharing with Boosting –When a node detects failure of a neighbor, D, it announces to all other nodes that have D as their neighbor –Best case: completely connected graph of degree d BC DA
Case Studies d-regular network Chord (PROBE_TO_THRESH) Constant overhead: T seconds, S probes Δ = Td/S Tradeoff between loss probability and size of neighborset, d
d-Regular Network Packet Loss Probability
Chord Packet Loss Probability Sharing w/ boosting (simple)
Chord Probability of False Positive baseline boosting
Conclusion Analyzed packet loss probability in a d-regular network Examined four keep-alive techniques in Chord By carefully designing keep-alive algorithms, it is possible to significantly reduce packet loss probability w/o additional control overhead Boosting can achieve both lower packet loss probability and probability of false positive than baseline