Peer to peer membership management for gossip based protocols Ayalvadi Ganesh Anne-Marie Kermarrec Laurent Massoulie
Obj 1 Obj 2 Obj 3 Obj 4 Obj 5 Obj 6
Obj 6 Obj 2 Obj 3 Obj 4 Obj 5 The sky is blue Obj 1 Obj 2 Obj 3 Obj 4 Obj 5 Obj 6 Obj 1 Obj 2 Obj 3 Obj 4 Obj 5 The sky is blue
Obj 6 Obj 1 Obj 3 Obj 4 Obj 5 Obj 6 Obj 2 Obj 3 Obj 4 Obj 5 Obj 1 Obj 2 Obj 3 Obj 4 Obj 6 Obj 2 Obj 1 Obj 4 Obj 5 Obj 6 Obj 2 Obj 3 Obj 1 Obj 5 Obj 5 Obj 6 Obj 6 Obj 2 Obj 3 Obj 4 Obj 1 Obj 1 Obj 2 Obj 3 Obj 4 Obj 5
Gossip protocol features Good reliability Good scalability Group membership – scalable ? No, memory requirement No, synchronization
Purpose Partial views Decentralized operation Isolation recovery
Data Structures PartialViewi InViewi Send list node i Receive list node i
Membership mgmt protocol Subscribe Contact New subscription Forwarded subscription Keeping a subscription Unsubscribe
pView = 2,3 pView = 2 pView = 1 inView = 2 inView = 2,3 Obj 1 Obj 2 inView = 1 P = 1 / (1 + size of pView) Obj 3 pView = 1 inView = 1
(c + 1) n log n Subscribe node out degree ‘d’ Generated arcs ‘d + c + 1’ E[Mn] E[Mn] = E[Mn-1] + E[Mn-1]/(n-1) + c + 1 E[Mn] = (c + 1) n log n(approx)
Unsubscribing Send unsubscribe - (1,l’ – c – 1) Send replace – (1,l’ – c – 1) Send unsubscribe – (l’ – c , l’) l’ the number of id’s in inView c the system reliability parameter
Obj 3 pView inView Obj 10 Obj 20 Obj 23 Obj 34 Obj 32 Obj 6 Obj 26 Obj 13 Obj 41 Obj 51
(c + 1) n log n pView = Mn / n E[Mn]/n , c+1 E[Mn-1] = E[Mn] - E[Mn]/n – (c+1)
Isolation Recovery Heartbeat In addition, Lease mechanism
Lease Mechanism Subscription lifetime Re-subscribe pView Serves : Reduces Concentration Automatic unsubscribe
Indirection Data Structures Forwarding rule Stopping rule pred(i), succ(i), wIJ, counter Forwarding rule Decrement counter Stopping rule
Distribution of partial view size n=50000
Indirection vs Random contact