Slide 1

Slide 1 text

©  2016  VMware  Inc.  All  rights  reserved. Randomized  Gossip  Methods from  Grapevine  to  SWIM Dahlia  Malkhi principal  researcher VMware  Research http://research.vmware.com

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

1938:  first  successful  xerographic  image 1979:  first  PC,  Alto

Slide 4

Slide 4 text

1982,  CACM 1987,  PODC 2000,  FOCS

Slide 5

Slide 5 text

Motivation 5

Slide 6

Slide 6 text

Enters:  ”Random  Phone  Call”  Framework • Framework  definition: – synchronous  rounds – each  node  initiates  one  connection to  any  number  of  requests!   – full  network,  accurate  membership,  choose  partners  at  random • Protocols  in  this  talk: – rumor  mongering – failure  detection – network  discovery a  ha!  allow  nodes  to  learn  addresses  and  use  them  

Slide 7

Slide 7 text

Demonstration  of  Randomized  Gossip informed

Slide 8

Slide 8 text

Demonstration  of  Randomized  Gossip informed

Slide 9

Slide 9 text

Demonstration  of  Randomized  Gossip 2 ⁄ 2 ⁄

Slide 10

Slide 10 text

Demonstration  of  Randomized  Gossip 4 ⁄ 4 ⁄ 4 ⁄ 4 ⁄

Slide 11

Slide 11 text

Demonstration  of  Randomized  Gossip 8 ⁄ 8 ⁄ 8 ⁄ 8 ⁄ 8 ⁄ 8 ⁄ 8 ⁄ 8 ⁄

Slide 12

Slide 12 text

Demonstration  of  Randomized  Gossip

Slide 13

Slide 13 text

Complexity  of  Gossip  Processes  in  Full  Networks • n nodes • rounds  to  completion – lower  bound – upper  bound • PUSH  message  complexity • PULL  message  complexity   • PUSH-­PULL  message  complexity

Slide 14

Slide 14 text

Complexity  of  Gossip  Processes  in  Full  Networks – in  a  round,  informed has  informed number  of  nodes – in  a  round,  every  node  interacts  with  expected  1  node – in  a  round  where  number  of  informed >  log  n • with  high  probability,  informed nodes  interact  with  <  2x  informed nodes • informed grows  by  at  most  factor  3 – rounds  =  Ω(log  n) Round  complexity  lower  bound:

Slide 15

Slide 15 text

Complexity  of  Gossip  Processes  in  Full  Networks – in  a  round  where  fraction  of  informed nodes  <  ½  : • probability  of  successful  PUSH  of  an  informed node  >  ½ • expected  number  of  successful  PUSH’s  >  informed /  2 • with  probability  >  1-­1/n  ,  number  of  successful  PUSH’s  >  informed /  3 – in  O(log  n)  rounds,  informed grows  to  n/2 Round  complexity  PUSH  upper  bound,  first  phase:

Slide 16

Slide 16 text

Complexity  of  Gossip  Processes  in  Full  Networks – in  a  round  where  fraction  of  informed nodes  ≥ ½  : • probability  of  successful  PUSH  to  an  uninformed node  ≥ 1-­ 1 − ) * */, ≅    1−  0)/, • expected  number  of  successful  PUSH’s  to  uninformed nodes  ≥ uninformed /  2 • with  probability  >  1-­1/n  ,  number  of  successful  PUSH’s  >  uninformed /  3 – in  O(log  n)  rounds,  uninformed shrinks  to  zero Round  complexity  PUSH  upper  bound,  second  phase  (coupon  collector):

Slide 17

Slide 17 text

Complexity  of  Gossip  Processes  in  Full  Networks – in  a  round  where  informed is  a  small  constant: • non-­negligible  probability  of  no  successful  PULL  from  informed node   1 − 1 *0) 1*234567 ≅     01*234567 – in  a  round  where  number  of  informed  ≥  log  n  :   • with  high  probability  informed grows  by  constant  factor – in  O(log  n)  rounds  informed grows  to  n/2   • but  slow  start! Round  complexity  PULL  upper  bound,  first  phase:

Slide 18

Slide 18 text

Complexity  of  Gossip  Processes  in  Full  Networks – in  a  round  where  uninformed =  cn  :   • probability  of  unsuccessful  PULL  by  an  uninformed node  =  c • expected  number  of  unsuccessful  PULLs  by  uninformed nodes  =  nc2 – .9nc2 with  high  probability   • in  R  rounds,  uninformed shrinks  to       ,; – in  O(loglog n)  rounds  uninformed shrinks  to  zero   Round  complexity  PULL  upper  bound,  second  phase:

Slide 19

Slide 19 text

Complexity  of  Gossip  Processes  in  Full  Networks • rounds  to  completion  [Demers  et  al.  PODC  1987] – lower  bound – upper  bound • message  complexity – connections – transmissions • PUSH  message  complexity • PULL  connection  complexity     • PUSH-­PULL  message  complexity  [Karp  et  al.  FOCS  2000]

Slide 20

Slide 20 text

Scalability  of  Randomized  Gossip • fault  tolerant • simple   • round  complexity • rounds  sufficient  and  necessary  for  completion – synchronous  rounds • message  complexity – number  of  interactions – number  of  transmissions – size  of  transmissions • full  network • precise  membership  knowledge

Slide 21

Slide 21 text

Failure  Detection via  Randomized  Gossip  Methods

Slide 22

Slide 22 text

22 IFIP  Middleware  1998

Slide 23

Slide 23 text

Gossip-­Style  FD • Scale  heartbeats: – Use  gossip  instead  of  multicast – Each  node  generates  new  heartbeat  counter  in  every  round 23

Slide 24

Slide 24 text

Demonstration  of  Gossip-­style  FD 1 1

Slide 25

Slide 25 text

2 1 1 2 Demonstration  of  Gossip-­style  FD

Slide 26

Slide 26 text

Demonstration  of  Gossip-­style  FD 3 2 2 3 1 1 1 1

Slide 27

Slide 27 text

Demonstration  of  Gossip-­style  FD 4 2 2 3 1 1 1 4 1 3 2 2

Slide 28

Slide 28 text

Gossip-­Style  FD • each  node  generates  new  heartbeat  counter  in  every  round • heartbeat  j  expected  to  arrive  everywhere  by  round  j  +  Tfail – from  each  node,  heartbeat  j+1  to  follow  heartbeat  j  in   • expected  one  round • worst  case  Tfail rounds • stopped  heartbeat  at  round  j  expected  be  noticed  everywhere  by  round  j  +  Tfail – from  failed  node,  stopped  heartbeat  at  round  j  noticed  in • gap  of  up  to  Tfail rounds  ;;  keep  tombstone  for  2x  Tfail rounds 28

Slide 29

Slide 29 text

Scalability  of  Gossip-­Style  FD • Periodic  multicast  is  hard  to  scale – Every  node  sends  heartbeats  by  everyone   – Much  of  the  gossip  is  redundant  or  stale – Dividing  gossip  into  packets  leads  to  slow  failure  detection  and  error-­prone  convergence 29

Slide 30

Slide 30 text

30 DSN  2002

Slide 31

Slide 31 text

Scalable  Failure  Detection 31 Gossip-­Style  FD  gossips  a  lot  of  redundant  and   stale  information Instead,  gossip  only  alerts!

Slide 32

Slide 32 text

SWIM • Failure  Detector:   – In  a  round,  every  node  probes  another  node  at  random – a  failed  probe  reinforced  by  peers • Weak  Membership  Service: – Spread  alerts  via  gossip • Every  faulty  node  detected  (completeness) • Constant  connection  and  message  overhead  per  node  per  round • Separate  failure  detection  from  alert  dissemination 32

Slide 33

Slide 33 text

Demonstration  of  SWIM A B A  is  faulty! A  is  faulty! co-­probe  A probe  A

Slide 34

Slide 34 text

Demonstration  of  SWIM A B A  is  faulty! A  is  faulty! A  is  faulty! co-­probe  A probe  A

Slide 35

Slide 35 text

Demonstration  of  SWIM A B A  is  faulty! A  is  faulty! A  is  faulty! A  is  faulty! co-­probe  A probe  A

Slide 36

Slide 36 text

Demonstration  of  SWIM A C B A  is  faulty! A  is  faulty! A  is  faulty! co-­probe  A probe  A

Slide 37

Slide 37 text

Demonstration  of  SWIM A C B A  is  faulty! D co-­probe  A probe  A

Slide 38

Slide 38 text

Detection  Completeness  in  SWIM • A  failure  is  detected  in  expected  one  SWIM  round – with  non-­negligible  probability,  only  in  log  n  ! • A  failure  detection  alert  is  disseminated  in  O(log  n)  rounds – half  of  the  system  will  learn  only  after  in  O(log  n)  rounds • The  same  failure  will  cause  repeated  co-­probing  and  detection • Is  randomized  probing  better  than – Steady  heartbeat  (e.g.,  along  a  ring)  ? – Stable  connection  (e.g.,  TCP/IP)  ? – Leases  ? 38

Slide 39

Slide 39 text

Demonstration  of  SWIM A B A A  is  faulty! co-­probe  A probe  A A  is  faulty! A  is  faulty!

Slide 40

Slide 40 text

Demonstration  of  SWIM A C B A  is  faulty! D A  is  faulty! A  is  faulty! A  is  faulty! co-­probe  A probe  A

Slide 41

Slide 41 text

Demonstration  of  SWIM A E A  is  faulty! co-­probe  A probe  A A  is  alive!!!

Slide 42

Slide 42 text

False  Failure  Detection  in  SWIM • Suspicion  – Alive -­-­ Confirmation • Competing  gossips  may  arrive  in  arbitrary  order • Node  incarnation   – incremented  by  suspicion – suspicion overridden  by  alive overridden  by  confirmation 42

Slide 43

Slide 43 text

Demonstration  of  SWIM A C B A  is  faulty! A  is  faulty! A  is  faulty! co-­probe  A probe  A A  is  alive!!

Slide 44

Slide 44 text

Demonstration  of  SWIM A D C B A  is  faulty! E co-­probe  A probe  A A  is  alive!!!

Slide 45

Slide 45 text

SWIM  Patches • Suspicion  – Alive  -­-­ Confirmation • Incarnations • Deterministic  probing • Deterministic  gossiping • Weak  membership  service 45

Slide 46

Slide 46 text

Gossip  in  Arbitrary  Graphs With  and  Without  Network  Discovery

Slide 47

Slide 47 text

Gossip  in  Arbitrary  Graphs • clearly  not  always   log • might  even  be  super-­linear • O(log Φ) ⁄ rounds  to  completion  [Giakkoupis STACS  2011]

Slide 48

Slide 48 text

Gossip  Process  in  Arbitrary  Graphs • ≝ set  of  informed  vertices  at  beginning  of  round   • ≝ uninformed  vertices • using  PULL,  each  uniformed  vertex    in  U – has b () informed  neighbors – has () neighbors – learns  with  probability (b ()/deg ) – increases  volume  of  edges  in   by  expected   deg ∗ (b ()/deg ) • total  increase  in  edge-­‐‑volume  of    I equals  |E(I,  U)|,  the  volume  of  edge-­‐‑cut: j b() k  1*  l ?? U I

Slide 49

Slide 49 text

Gossip  Process  in  Arbitrary  Graphs by  definition,  edge-­‐‑cut  is  larger  than  graph’s  conductance   Φ  ≝ min n⊆p q(n  ,  p0n  ) k3r p this  means vol st)  ≥ vol s + s,s ≥  vol s  ∗ (1+Φ) finish  in O(log Φ) ⁄ ?? s

Slide 50

Slide 50 text

Network  Discovery 50 1999,  PODC

Slide 51

Slide 51 text

Definition  of  Network  Discovery  Problem • send  information  about  neighbors • they  become  new  neighbors  of   recipient

Slide 52

Slide 52 text

• send  information  about  neighbors • they  become  new  neighbors  of   recipient v Definition  of  Network  Discovery  Problem Γ(v)

Slide 53

Slide 53 text

Complexity  of  Network  Discovery • Flood:  send  information  about  new  neighbors  to  all  initial  neighbors – completes  in  diameter  rounds – sends  diameter  x  degree  x  n  messages • Swamp:  send  information  about  all  neighbors  to  all  neighbors – completes  in  O(log  n)  rounds – sends  O(n  x  n)  large messages • Pointer  jump:  PULL  from  one  random  neighbor  information  about  all  its  neighbors   – may  take  O(n)  rounds • Name  Dropper:  PUSH  to  one  random  neighbor  information  about  all  neighbors – completes  in  O(log2 n)  rounds 53

Slide 54

Slide 54 text

v Demonstration  of  Network  Discovery Γ(v)

Slide 55

Slide 55 text

v Demonstration  of  Network  Discovery Γ(v) Γ(v) new  neighbors PUSH  neighbors

Slide 56

Slide 56 text

v Demonstration  of  Network  Discovery Γ(v) new  neighbors PUSH  neighbors Γ(v) Γ(v)

Slide 57

Slide 57 text

Demonstration  of  Network  Discovery  (2)

Slide 58

Slide 58 text

Demonstration  of  Network  Discovery  (2)

Slide 59

Slide 59 text

Demonstration  of  Network  Discovery  (2)

Slide 60

Slide 60 text

Demonstration  of  Network  Discovery  (2)

Slide 61

Slide 61 text

Demonstration  of  Network  Discovery  (3)

Slide 62

Slide 62 text

Demonstration  of  Network  Discovery  (3)

Slide 63

Slide 63 text

Demonstration  of  Network  Discovery  (3)

Slide 64

Slide 64 text

• for  every  path  u  – w  – v – X:  the  set  of  neighbors  of  v,  u   – with  constant  probability • Either  X  grows  by  constant  factor – if  half  of  X  has  2|X|  neighbors • or  some  node  in  X  contacts  u w u v Analyzing  Name  Dropper X

Slide 65

Slide 65 text

Complexity  of  Network  Discovery • Name-­Dropper [Harchol-­Balter,   Leighton,   Lewin,  PODC  1999]: – O(log n  log  D)  rounds – Arbitrary  directed  graphs • Improvement [Kutten,  Peleg  and  Vishkin,  TCS  2003] – O(log  n)  rounds

Slide 66

Slide 66 text

Gossip  by  Network  Discovery? teaser:  O(log  n)  +  O(log  n)  =  ?

Slide 67

Slide 67 text

Breaking  the  Logarithmic  Bound • synchronous  rounds • each  node  initiates  one  connection number  of  informed  nodes  at  most  doubles  each  round a  ha!  but  a  node  may  respond to  any  number  of  requests!   • choose  partners  at  random diameter a  ha!  allow  nodes  to  learn  addresses  and  use  them  

Slide 68

Slide 68 text

Breaking  the  Logarithmic  Bound • synchronous  rounds • each  node  initiates  one  connection • number  of  informed  nodes  at  most  doubles  each  round • a  ha!  but  a  node  may  respond to  any  number  of  requests!   • choose  partners  at  random diameter a  ha!  allow  nodes  to  learn  addresses  and  use  them  

Slide 69

Slide 69 text

Breaking  the  Logarithmic  Bound • synchronous  rounds • each  node  initiates  one  connection • number  of  informed  nodes  at  most  doubles  each  round • a  ha!  but  a  node  may  respond to  any  number  of  requests!   • choose  partners  at  random • graph  of  all  interactions  has   diameter • a  ha!  allow  nodes  to  learn  addresses  and  use  them  (e.g.,  TCP/IP)

Slide 70

Slide 70 text

A  Hybrid  Gossip  Model • synchronous  rounds • each  node  initiates  one  connection number  of  informed  nodes  at  most  doubles  each  round a  ha!  but  a  node  may  respond to  any  number  of  requests!   • choose  partners  at  random  or  by  direct  addressing • learn  addresses  from  interaction • diameter • a  ha!  allow  nodes  to  learn  addresses  and  use  them  

Slide 71

Slide 71 text

Breaking  the  Logarithmic  Bound • GOSSIP  with  DA  in O(√log  n)  rounds      [Avin and  Elsässer,  DISC  2013] • Improved  to  O(loglog n)  rounds      [Haeupler and  Malkhi,  PODC  2014] • Use  for  Network  Discovery – choose  a  leader in  O(loglog n)  rounds – One  push/pull  via  leader to  share  topology  information – O(log  D  loglog n)  rounds        [Haeupler and  Malkhi,  PODC  2015]

Slide 72

Slide 72 text

No content