gossip-MASS - Duke University

Download Report

Transcript gossip-MASS - Duke University

SmartGossip: A Reliable Broadcast
Service for Wireless Sensor Networks
Romit Roy Choudhury
Dept. of ECE, Duke University
Joint work with
Pradeep Kyasanur (Google)
Indranil Gupta (UIUC)
1
Problem
 Broadcast in Sensor Networks
 A widely used service
 Network layer functions heavily depend on it
 Examples:
• Directed Diffusion
• Unicast or multicast routing
• Instruction / code dissemination
• Query propagation
2
Approaches
 Several approaches evolved over time
Broadcast
Storm
Complex
algo
Single point
of failures
Load
Balance
3
Recent Past
 Gossiping = Probabilistic flooding
 Nodes forward with probability, p
Source
4
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Heads
5
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Heads
6
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Heads
Heads
7
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Heads
Heads
8
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Heads
Heads
Heads
Tails
9
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Heads
Heads
Heads
Tails
10
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Tails
Heads
Heads
Heads
Heads
Tails
11
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Tails
Heads
Heads
Heads
Heads
Tails
12
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Tails
Heads
Heads
Heads
Heads
Heads
Tails
Tails
13
Recent Past
 Gossip based broadcast
 Nodes forward with probability, p
Source
Tails
Tails
Tails
Heads
Heads
Heads
Heads
For carefully chosen ‘p’
1. Simple,
the
message
reaches all nodes
2. Fault
tolerant
in minimal transmissions
3. Load-balanced
Heads
Tails
Tails
14
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
But,
for this
One
option
is toexample,
simulate
simulation
will be
the gossipresult
offline,
p = 1 “p”
and determine
15
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
 Even if topology is homogeneous
 It may change over time due to failure and mobility
16
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
 Even if topology is homogeneous
 It may change over time due to failure and mobility
Say computed p = 0.85
17
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
 Even if topology is homogeneous
 It may change over time due to failure and mobility
Fails
Say computed p = 0.85
18
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
 Even if topology is homogeneous
 It may change over time due to failure and mobility
Say computed p = 0.85
15% of packets
will not reach
these nodes
19
We Ask …
 Given some topology deployment
 How do we choose a suitable value of “p” ?
 Even if topology is homogeneous
 It may change over time due to failure and mobility
 Finally, what if topology is not known a priori ?
 How can you choose “p” ?
20
We Argue …
A broadcast service necessary
that customizes itself to the underlying topology
and
repairs itself with failures and mobility
21
Smart Gossip
 Intuition
 Identify which of YOUR friends get to know
gossips earlier than you do
• Request those friends to gossip more
 Friends who get to know gossips later than you will
request you to gossip more
 You choose your gossip probability as:
• MAX value of all requests from YOUR friends
22
For Example …
 When H spreads a gossip
 F gets gossip only from G
 F asks G to always gossip
 Thus, pG = 1.0
 B receives gossip from A,C,D,E,F
 B also observes that A,C,D,E received gossip from F
• Indicates that B must depend only on F (parent)
• A,C,D,E and B are independent (siblings)
 B asks F to always gossip, thus pF = 1.0
23
For Example …
 B asks F to always gossip,
thus pF = 1.0
 B does not require siblings
A,C,D,E to gossip at all
 Thus pA = 0, pC = 0, pD = 0, pE = 0
Observe that only 2 transmissions
(from G and F) are sufficient for broadcast
24
Protocol Details
 For first gossip pkt, nodes transmit with p=1

Enables nodes to deduce neighbor dependences

Transmitters piggyback pkt with parent-id from
which it received the pkt

Nodes record transmitter-id, and its parent-id,
and deduce parent, child, sibling relationships …
… see next slide
25
Deducing Relationships
SA
S
Child = {A}
A
Parent = {A}
B
C
E
Parent = {A}
26
Deducing Relationships
S
Child = {A}
A
Child = {B}
Parent = {A}
B
AB
C
Parent = {B}
E
Parent = {A}
Sibling = {B}
27
Deducing Relationships
S
Child = {A}
A
Parent = {A}
B
Child = {B}
C
Parent = {B}
AE E
Parent = {A}
Sibling = {B}
28
Deducing Relationships
S
Child = {A}
A
Sibling = {E}
Parent = {A}
B
Child = {B,E}
C
Parent = {B,E}
E
Parent = {A}
Sibling = {B}
29
Choosing Probabilities
 Each node calculates number of parents ( k )
 Assume 99% assurance necessary for gossip
 Node suggests each parent to gossip using ‘p’:
0.99 = ( 1 – (1 - p)k )
 Each node receives multiple requests of ‘p’
 Uses Max { pi } as its own gossip probability
S
A
B
C
Parent={B,E}
E
30
Choosing Probabilities
 Each node calculates number of parents ( k )
 Assume 99% assurance necessary for gossip
 Node suggests each parent to gossip using ‘p’:
0.99 = ( 1 – (1 - p)k )
 Each node receives multiple requests of ‘p’
 Uses Max { pi } as its own gossip probability
S
p = 1.0
A
p = 1.0
p = 1.0
B
p = 0.9
C
p = 0.9
E
31
Choosing Probabilities
 Each node calculates number of parents ( k )
 Assume 99% assurance necessary for gossip
 Node suggests each parent to gossip using ‘p’:
0.99 = ( 1 – (1 - p)k )
 Each node receives multiple requests of ‘p’
 Uses Max { pi } as its own gossip probability
p = 1.0
S
p = 1.0
A
p = 0.9
B
E
p=0
C
p = 0.9
32
The Bigger Picture
Src
33
Reliability (Details in paper)
 Node Failures
 Node failures affect broadcast
 Source node flags packet periodically (p=1)
 Allows for updating dependences
 Link Losses
 Node requests upstream nodes to retransmit
• We require each node to buffer few packets
 Children overhear this request
 Children do not request retransmissions themselves
34
Evaluation
 Qualnet Simulator, ver 3.7
 Metrics used
 Average Reception Percentage
 Average Forwarding Percentage
 Resilience to link/node failures
35
Percolation
Smart Gossip
Adaptive Overhead
Adaptive Neighbor
36
Forwarding Overhead
37
Adaption to Node Failures
Nodes gossip more to compensate for other failing nodes
38
Conclusion
 Broadcast is an important problem
 Gossip is good – but not practical for sensor nets
 Need to adapt gossip based on topology / failures
 Smart Gossip
 Form dependence graphs using distributed protocol
 Dependence relations suggest suitable probability
 Results
 Overheads are low, and yet good percolation
 Robust to node and link failures
39
Questions?
40
Protocol Details
 For first gossip pkt, nodes forward with p=1

This is to let nodes deduce topology dependences

When forwarding, node A piggybacks the packet
with parent-id from which it received the gossip

If parent-id of received packet is a neighbor of B
A
AS
S
S
A
B
C
41
Percolation
Smart Gossip
Adaptive Overhead
Adaptive Neighbor
42
Deducing Relationships
 Assume gossip sent by node i to node j
 If parent (i)  Neighbor (j)
• Parent ( j )  i
SA
S
Child = {A}
A
Parent = {A}
B
C
E
Parent = {A}
43
Deducing Relationships
 Assume gossip sent by node i to node j
 If parent (i)  Neighbor (j)
• Parent ( j )  i
 If parent (i)  Neighbor (j)
• If parent (i)  Parent (j), then Sibling ( j )  i
• If parent (i)  Sibling (j), then Children ( j )  i
• If parent (i)  Children (j), then Children ( j )  i
S
Child = {A}
A
Child = {B}
Parent = {A}
B
AB
C
Parent = {B}
E
Parent = {A}
Sibling = {B}
44
Deducing Relationships
 Assume gossip sent by node i to node j
 If parent (i)  Neighbor (j)
• Parent ( j )  i
 If parent (i)  Neighbor (j)
• If parent (i)  Parent (j), then Sibling ( j )  i
• If parent (i)  Sibling (j), then Children ( j )  i
• If parent (i)  Children (j), then Children ( j )  i
S
Child = {A}
A
Parent = {A}
B
Child = {B}
C
Parent = {B}
AE E
Parent = {A}
Sibling = {B}
45
Deducing Relationships
 Assume gossip sent by node i to node j
 If parent (i)  Neighbor (j)
• Parent ( j )  i
 If parent (i)  Neighbor (j)
• If parent (i)  Parent (j), then Sibling ( j )  i
• If parent (i)  Sibling (j), then Children ( j )  i
• If parent (i)  Children (j), then Children ( j )  i
S
Child = {A}
A
Sibling = {E}
Parent = {A}
B
Child = {B,E}
C
Parent = {B,E}
E
Parent = {A}
Sibling = {B}
46
Robustness
 Nodes/Links fail with time
 Topology changes
 Gossip probabilities need to be revised
 Gossip source periodically sets flag in packet
 All nodes use p=1 for flagged packets
47
Wireless Losses
 Resilience toward wireless losses necessary
 If F does not get a packet, all its dependents will
also not get it
 SmartGossip:
 F requests its parents for missing pkt (seq # j)
 F piggybacks { j } in following gossip packets
 Nodes A,B,C,D,E do not request for packet j
• They know that F is trying to retrieve it
48