The Dping Scalable Membership Service Indranil Gupta Ashish Motivala Abhinandan Das Cornell University
Group Membership Service X Asynchronous Lossy Network pi pj pi X pj’s Membership list Join Leave Failure Process Group
System Design Join, Leave, Failure : broadcast to all processes Need to detect a process failure at some process quickly (to be able to broadcast it) Failure Detector Protocol Specifications –Detection Time –Accuracy –Load Specified by application designer to Dping Optimized by Dping
Dping Failure Detector Protocol Protocol period = T time units X X K random processes pipj
Expected Detection time = Load: O(K) per process –Inaccuracy probability exponential in K Process failures detected –in O(log N) protocol periods w.h.p. –in O(N) protocol periods deterministically Properties
Expected Detection time e/(e-1) protocol periods Load: O(K) per process –Inaccuracy probability exponential in K Process failures detected –in O(log N) protocol periods w.h.p. –in O(N) protocol periods deterministically Properties
Why not Heartbeating ? Centralized : single failure point All-to-all : O(N) load per process Logical ring : unpredictability on multiple failures
Win2000, 100 Base-T Ethernet LAN Protocol Period = 3*RTT, RTT=10 ms, K=1 LAN Scalability
WAN Deployment Load on core routers No representatives per subnet/domain Broadcast ‘suspicion’ before ‘declaring’ process failure Piggyback broadcasts through ping messages –Epidemic-style broadcast