Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip...

55
1/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling in Real World Amir H. Payberah ([email protected])

Transcript of Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip...

Page 1: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

1/55Amir H. Payberah – 22 June 2010 

Gossip Peer Sampling in Real World

Amir H. Payberah ([email protected])

Page 2: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

2/55Amir H. Payberah – 22 June 2010 

Gossip Peer Sampling

Page 3: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

3/55Amir H. Payberah – 22 June 2010 

Peer Sampling Service

• The peer sampling service provides each node with a list of nodes in the system. 

•We would like that nodes are selected following a uniform random sample of all nodes in the system.

Page 4: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

4/55Amir H. Payberah – 22 June 2010 

Gossip Peer Sampling Service

• One solution to achieve the uniform random selection is that every node knows all other nodes of the system. Not scalable

• Use a gossip­based dissemination of membership information to build an unstructured overlay. There are many variants of the basic gossip­based membership 

dissemination idea, but it is not clear whether any of these variants actually lead to uniform sampling.

Page 5: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

5/55Amir H. Payberah – 22 June 2010 

Generic Framework

• First, a node Q is selected to exchange membership information with by node P.

• Node P pushes its view to Q.

• If a reply is expected, the view is pulled from Q.

• They merge their current view and the received one, and select a new view.

Page 6: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

6/55Amir H. Payberah – 22 June 2010 

Gossip Protocol (1/4)

Page 7: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

7/55Amir H. Payberah – 22 June 2010 

Gossip Protocol (2/4)

gossip

Page 8: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

8/55Amir H. Payberah – 22 June 2010 

Gossip Protocol (3/4)

reply

Page 9: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

9/55Amir H. Payberah – 22 June 2010 

Gossip Protocol (4/4)

UpdateState

UpdateState

Page 10: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

10/55Amir H. Payberah – 22 June 2010 

Design Space

•Peer Selection Rand Tail

•View Propagation Push Push­Pull

•View Selection Blind Healer Swapper

Page 11: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

11/55Amir H. Payberah – 22 June 2010 

Impact of NAT on Gossip Peer Sampling Protocols

Page 12: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

12/55Amir H. Payberah – 22 June 2010 

 Natted Gossip Protocol (1/4)

gossip

Page 13: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

13/55Amir H. Payberah – 22 June 2010 

Natted Gossip Protocol (2/4)

reply

Page 14: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

14/55Amir H. Payberah – 22 June 2010 

Natted Gossip Protocol (3/4)

UpdateState

UpdateState

Page 15: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

15/55Amir H. Payberah – 22 June 2010 

Natted Gossip Protocol (4/4)

gossip

Page 16: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

16/55Amir H. Payberah – 22 June 2010 

Network Partition

View size: 15

View size: 27

Page 17: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

17/55Amir H. Payberah – 22 June 2010 

Stale References

Page 18: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

18/55Amir H. Payberah – 22 June 2010 

Randomness

Page 19: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

19/55Amir H. Payberah – 22 June 2010 

Classic NAT Types

• Full Cone (FC): The most permissive type of NAT.

• Restricted Cone (RC): Imposes restrictions on the IP addresses of external peers that can send messages to natted peers.

• Port Restricted Cone (PRC): Imposes restrictions on the IP addresses and ports of external peers that can send messages to natted peers.

• Symmetric (SYM): The most restrictive type of NAT.

Page 20: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

20/55Amir H. Payberah – 22 June 2010 

NAT Types

• NATs differ in: Way they assign public IP addresses (IP) Way assign ports (Port) Filtering rules (Filtering)

Page 21: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

21/55Amir H. Payberah – 22 June 2010 

Classic NAT Types – FC

• IP: Same public IP to all sessions started from a given natted IP address and port.

• Port: Same port to all sessions started from a given natted IP address and port.

• Filtering: These sessions all share the same filtering rule, which states that the NAT must forward all incoming messages.

Page 22: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

22/55Amir H. Payberah – 22 June 2010 

Classic NAT Types – RC

• IP: The same as FC.

• Port: The same as FC.

• Filtering: The sessions started from a given natted peer’s IP address and port towards a target IP address, share the same filtering rule: the NAT device only forwards messages coming from this IP address.

Page 23: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

23/55Amir H. Payberah – 22 June 2010 

Classic NAT Types – PRC

• IP: The same as FC.

• Port: The same as FC.

• Filtering: The sessions started from a given natted peer’s IP address and port towards a target IP address and port, share the same filtering rule: the NAT device only forwards messages coming from this IP address and port.

Page 24: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

24/55Amir H. Payberah – 22 June 2010 

Classic NAT Types – Symmetric

• IP: The same as FC.

• Port: Different port for each session started from a given natted IP address and port.

• Filtering: The same as PRC.

Page 25: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

25/55Amir H. Payberah – 22 June 2010 

NATCracker Perspective

• Mapping policy: Decides when to bind a new port. Endpoint Independent (EI) Host Dependent (HD) Port Dependent (PD)

• Allocation policy: Decides which port should be bound. Port Preservation (PP) Port Contiguity (PC) Random (RD)

• Filtering policy: Decides whether a packet from the outside world to a public endpoint of a NAT gateway should be forwarded to the corresponding private endpoint. Endpoint Independent (EI) Host Dependent (HD) Port Dependent (PD)

Page 26: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

26/55Amir H. Payberah – 22 June 2010 

NAT Traversal Techniques

• Hole punching (UDP)

• Relaying

When the destination node is behind a SYM NAT and the source node is either behind a PRC NAT or a SYM NAT.

When the destination node is behind a PRC NAT and the source node is behind a SYM NAT.

Page 27: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

27/55Amir H. Payberah – 22 June 2010 

NAT Traversal Techniques – Hole Punching (UDP)

Page 28: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

28/55Amir H. Payberah – 22 June 2010 

NAT Traversal Techniques – Relaying

Page 29: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

29/55Amir H. Payberah – 22 June 2010 

Three Proposed Solutions

Page 30: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

30/55Amir H. Payberah – 22 June 2010 

ARRG: Real­World Gossiping

Niels Drost, Elth Ogston, Rob V. van Nieuwpoort and Henri E. BalVrije Universiteit Amsterdam

(HPDC'07)

Page 31: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

31/55Amir H. Payberah – 22 June 2010 

Design Space

•Peer Selection Rand Blind

•View Propagation Push Push­Pull

•View Selection Blind Healer Swapper

Page 32: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

32/55Amir H. Payberah – 22 June 2010 

The ARRG Protocol

• Actualized Robust Random Gossiping (ARRG).

• It uses Fallback Cache to solve the network connectivity problem.

• The Fallback Cache acts as a backup for the normal membership cache present in the gossiping algorithm.

• Each time a successful gossip exchange is done, the target of this gossip is added to the Fallback Cache.

•Whenever a gossip attempt fails, the Fallback Cache is used to select an entry to gossip with instead of the one selected by the original algorithm.

Page 33: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

33/55Amir H. Payberah – 22 June 2010 

Example (1/4)

n1

n2

n3

n4

Fallback Cache

gossip

Page 34: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

34/55Amir H. Payberah – 22 June 2010 

Example (2/4)

n1

n2

n3

n4

Fallback Cache

reply

n2

Page 35: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

35/55Amir H. Payberah – 22 June 2010 

Example (3/4)

n1

n2

n3

n4

Fallback Cache

n2

gossip

Page 36: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

36/55Amir H. Payberah – 22 June 2010 

Example (4/4)

n1

n2

n3

n4

Fallback Cache

n2

gossip

Page 37: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

37/55Amir H. Payberah – 22 June 2010 

NAT­resilient Gossip Peer Sampling

Anne­Marie Kermarrec, Alessio Pace, Vivien Quema, Valerio SchiavoniINRIA ­ CNRS

(ICDCS'09)

Page 38: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

38/55Amir H. Payberah – 22 June 2010 

Design Space

•Peer Selection Rand Blind

•View Propagation Push Push­Pull

•View Selection Blind Healer Swapper

Page 39: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

39/55Amir H. Payberah – 22 June 2010 

The Nylon Protocol

• The main idea of Nylon is to implement reactive hole punching.

• A peer only performs hole punching towards peers it gossip with.

• Hole punching is implemented using a chain of RVPs that forward the OPEN HOLE message until it reaches the gossip target.

Page 40: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

40/55Amir H. Payberah – 22 June 2010 

The Nylon Protocol

• Each node maintains a routing table that maintains the mapping between a natted node from its view and its associated RVP.

• For each node P in the routing table, the RVP is the node it shuffled with to obtain the reference to P.

• RVPs do not proactively refresh holes. Therefore, a time to live (TTL) is associated to each RVP entries in 

routing tables.

Page 41: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

41/55Amir H. Payberah – 22 June 2010 

Example (1/3)

n1 n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 ­ 120

rule TTL

n1: allow 120

Others: deny

dest RVP TTL

n1 ­ 120

Hole punching

n1 and n2 become RVP for each other.

Routing table

Page 42: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

42/55Amir H. Payberah – 22 June 2010 

Example (2/3)

n1 n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 ­ 120

rule TTL

n2: allow 120

dest RVP TTL

n2 120

n2 and n3 become RVP for each other.

n3n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n1: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n1: allow 120

n3: allow 140

Others: deny

dest RVP TTL

n1 ­ 120

n3 - 120

Hole punching

rule TTL

n2: allow 120

dest RVP TTL

n2 120

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

120

Others: deny

dest RVP TTL

n2 120

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

n1: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

n1: allow 120

n3: allow 140

Others: deny

dest RVP TTL

n1 n2 120

n2 - 120

Page 43: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

43/55Amir H. Payberah – 22 June 2010 

Example (3/3)

n1 n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 ­ 120

rule TTL

n2: allow 120

dest RVP TTL

n2 120

Through this chain n3 can shuffle with n1.n3 performs hole punching toward n1 by sending an OPEN_HOLE message to n2 that will forward it to n1.

n3n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n1: allow 120

Others: deny

dest RVP TTL

n2 120

n2

rule TTL

n1: allow 120

n3: allow 140

Others: deny

dest RVP TTL

n1 ­ 120

n3 - 120

OPEN_HOLE

rule TTL

n2: allow 120

dest RVP TTL

n2 120

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

120

Others: deny

dest RVP TTL

n2 120

rule TTL

n2: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

n1: allow 120

Others: deny

dest RVP TTL

n2 120

rule TTL

n1: allow 120

n3: allow 140

Others: deny

dest RVP TTL

n1 n2 120

n2 - 120

OPEN_HOLE

Page 44: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

44/55Amir H. Payberah – 22 June 2010 

Balancing Gossip Exchanges in Networks with Firewalls

Joao Leitao, Robbert van Renesse, Luıs RodriguesINESC­ID/IST ­ Cornell University

(IPTPS'10)

Page 45: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

45/55Amir H. Payberah – 22 June 2010 

Design Space

•Peer Selection Rand Blind

•View Propagation Push Push­Pull

•View Selection Blind Healer Swapper ?

Page 46: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

46/55Amir H. Payberah – 22 June 2010 

The Protocol

• Each node maintains: A quota value (initially with a value of 1).

• Nodes increase their quota when they initiate a gossip exchange.

A single­entry cache for connections created by other nodes.• The connection cache keeps alive the last connection used by another peer to initiate a 

gossip exchange.

•When a node receives a gossip request, engages in gossip exchange if: Has a quota value above zero. Has an empty connection cache. The gossip message has been already forwarded TTL times.

Page 47: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

47/55Amir H. Payberah – 22 June 2010 

Example (1/8)

1 1 1

n1 n2 n3

Page 48: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

48/55Amir H. Payberah – 22 June 2010 

Example (2/8)

2 1 1

n1 n2 n3gossip

Page 49: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

49/55Amir H. Payberah – 22 June 2010 

Example (3/8)

2 0 1

n1 n2 n3reply

n1

Page 50: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

50/55Amir H. Payberah – 22 June 2010 

Example (4/8)

2 0 2

n1 n2 n3

n1

gossip

Page 51: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

51/55Amir H. Payberah – 22 June 2010 

Example (5/8)

2 0 2

n1 n2 n3

n1

gossipgossip

Page 52: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

52/55Amir H. Payberah – 22 June 2010 

Example (6/8)

2 0 2

n1 n2 n3

n3

gossipgossip

Page 53: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

53/55Amir H. Payberah – 22 June 2010 

Example (7/8)

1 0 2

n1 n2 n3

n3

reply

Page 54: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

54/55Amir H. Payberah – 22 June 2010 

Example (8/8)

1 0 2

n1 n2 n3

n3

replyreply

Page 55: Gossip Peer Sampling in Real World · 2011-03-03 · 4/55 Amir H. Payberah – 22 June 2010 Gossip Peer Sampling Service •One solution to achieve the uniform random selection is

55/55Amir H. Payberah – 22 June 2010 

Question?