360 likes | 570 Views
SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks. Presented By Thomas H. Hand Duke University Adapted from: “ SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks ” Pradeep Kyasanur (Google) Romit Roy Choudhury (UIUC) Indranil Gupta (UIUC).
E N D
SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks Presented By Thomas H. Hand Duke University Adapted from: “SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks” Pradeep Kyasanur (Google) Romit Roy Choudhury (UIUC) Indranil Gupta (UIUC)
Statement of the Problem • Sensor Network Broadcasting • There are some sensor network applications that rely heavily on network-wide broadcasts • E.g. Alarms, code-updates • Goal: • Deliver one copy of the broadcast packet to each sensor in the network, while minimizing the number of transmissions • Task: • Create a protocol that will be able to efficiently broadcast a message to all nodes in the network, while minimizing number of transmissions
Deterministic and Probabilistic Approaches • Deterministic Approach (Classical): • Try to solve the problem by assigning some subset of the network forwarding responsibilities • This leads to unfairness and unreliability • Unfairness – all of the work is placed on a few nodes • Unreliability – if some of these key nodes fail, then many packets will be lost and overall throughput will decrease • Probabilistic Approach (Gossip) • All nodes in the network must forward messages • Each node assigned a gossiping probability, pgossip • Choosing pgossip appropriately can lead to better network reliability and better load-balancing
Static and Adaptive Gossiping • Must choose pgossip correctly • This depends on the network topology – e.g. number of nodes, node density, etc. • Pre-assigning a value to pgossip leads to inefficiency • In static gossip, all nodes are given the same gossip probability • We need a protocol that can adaptively control pgossip to result in high efficiency and reliability
Past Static Gossip Methods • Adaptive Neighbor Method • Allow a node to choose its gossiping probability inversely proportional to the number of neighbors it has (Haas, et al.) • Adaptive Overhead Method • Allow node to choose its gossip probability based on the number of duplicate messages it receives (Levis, et al.) • Large number of duplicate messages means that many nodes depend on it
Smart Gossip Introduction • Aim is to achieve an efficient, fair, and reliable protocol • In Smart Gossip, the importance of each node is quantified using an algorithm that takes into account network topology • This allows for network adaptation • Completely decentralized • Node Importance • The dissemination of a gossip message will rely more heavily on some nodes more than others • Smart Gossip can assign different gossip probabilities to different nodes based on the network conditions
Smart Gossip Introduction Cont’d… • Promoting Fairness and Flexibility • Instead of having a predetermined subset of the network responsible for the broadcast, the load is shared by all nodes • The protocol can adapt to changing network conditions – gossip probability for each node is updated periodically
How to Implement Smart Gossip … • Given some random network topology • How do we choose a suitable value of “p” ? • Even if network 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” ?
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
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
15% of packets will not reach these nodes 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
The Main Idea Behind Smart Gossip • Concept • Identify which of YOUR friends get to know gossip earlier than you do • Request those friends to gossip more • Friends who get to know gossip later than you will request you to gossip more • You choose your gossip probability as: • MAX value of all requests from YOUR friends
Simple 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; A,C,D,E and B are independent • B asks F to always gossip, thus pF = 1.0
For Example … • B asks F to always gossip, thus pF = 1.0 • B does not require 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
Average Reception and Forwarding Percentages • Reliability Evaluation: • Average Reception Percentage: • Reception Percentage = % messages received • Average Recept. % = Recept. % averaged over all nodes • Overhead Evaluation: • Average Forwarding Percentage • Forwarding Percentage = % gossip messages forwarded • Average Fwd. % = Fwd. % averaged over all nodes
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 …
So What is the Parent I.D (pid)? • As mentioned previously, it is important for a node to establish neighbor dependences • Some nodes might completely rely on another node for the gossip, while other nodes might not • Header of each gossip message contains pid and required gossip probability field prequired • Each node maintains four sets: NeighborSet, ParentSet, SiblingSet, and ChildSet
Establishing Neighbor Relationships • When a node received a gossip message, its relationship with the sender is established in the following way: • Node A receives a message from X with pid = Y 1. Add X to NeighborSet 2. If Y is not in NeighborSet, add X to ParentSet 3. If Y is in ParentSet, add X to SiblingSet 4. If Y is in SiblingSet, add X to ChildSet • Nodes in NeighborSet also exist in only one of the other 3 sets
SA SA SA Parent = {A} Child = {A} Parent = {A} Deducing Relationships • Assume gossip sent by node i to node j • If parent (i) Neighbor (j) • Parent ( j ) i S A B C E
AB AB AB Parent = {A} Parent = {B} Child = {A} Child = {B} Parent = {A} Sibling = {B} 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 A B C E
AE AE AE Parent = {A} Parent = {B} Child = {A} Child = {B} Parent = {A} Sibling = {B} 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 A B C E
Parent = {A} Parent = {B,E} Child = {A} Child = {B,E} Parent = {A} Sibling = {B} 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 Sibling = {E} S A B C E
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
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 p = 1.0 p = 0.9 S A B C p = 0.9 p = 1.0 E
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 p = 1.0 p = 0.9 p = 0 S A B C E p = 0.9
Reliability • 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
Wireless Losses • Resilience toward wireless losses necessary • If F does not get a packet, all its dependents will also not get it • Smart Gossip: • 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
Performance Evaluation • Qualnet Simulator, version 3.7 • Metrics used • Average Reception Percentage • Average Forwarding Percentage • Resilience to link/node failures • Network Information • 100 randomly chosen topologies – 50 nodes each • Transmission range is 280 meters • Nodes placed in a 1000m2 square, located uniformly at random
Performance Evaluation Continued • Smart Gossip Compared with Static Gossip • Compared with Adaptive Overhead and Adaptive Neighbor approaches • Topology Aware– minimum pgossip that meets the reliability needs of the network will be used • Topology Unaware– Uses one pgossip for ALL topologies tested
Topology-Aware Static Gossip Results • Topology-Unaware Gossip: • Must choose p ~ 1 in order to satisfy reliability requirements for all topologies
Average Forwarding Results For Static Gossip • Gossip overhead increases linearly with Gossip Probability • For some topologies, it may not be necessary to set p close to 1 • This adds overhead and sparks the need for an adaptive protocol
Average Reception Percentage Comparisons Smart Gossip Adaptive Overhead Adaptive Neighbor
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