Efficient Flooding for Wireless Mesh Networks Jayashree Subramanian
Challenges in Wireless Flooding Wireless receptions are probabilistic How many packets to transmit? Pattern of packet reception is non-deterministic What packets are with each receiver? Feedback is expensive Wireless transmissions are inherently broadcast Two near by transmissions cannot coexist How to exploit opportunism?
Design of UFLOOD Design questions Who should transmit next? What to transmit? UFlood’s claim: Selection of best sender Higher throughput Fewer #transmissions What are the important question in designing wireless flooding protocols: (1) Who should transmit next? (2) And what packet a node should transmit? How does UFLOOD handle these – It selects the best sender and send coded packets. Sender selection Feedback
UFlood’s Sender Selection Strategies Favor higher delivery Probabilities Favor senders with large number of receivers Favor senders with new information Account for correlated receptions Utility = Value of a node’s transmission Best Sender Highest Utility
Computing Packet Utility Utility(A) Bit rate of node A Indicates if transmissions of node A are useful to node B This is the same equation given in the UFLOOD paper. P(b) B(b) I? Neighbors(A) Delivery probability from node A to node B
How UFLOOD works? PA,B – Independent experiment U(S)=1.7 U(S)=0.7 PA,B – Independent experiment b(A) – Bit rate selection scheme IA,B – Feedback packets B D C A S S 0.9 0.5 0.2 0.1 0.5 This slide explains how uflood works (assuming flooding of a single packet): “Red circle indicates that a node has the packet. Each node calculates utility based on: (1) Delivery probabilities and (2) availability of the packet” First the source node S is the only node that has the packet and is the best sender. Source S transmits the packet. Nodes A and D receives the packet. Now, nodes S, A, and D compete for the best sender position. Each node calculates the utility of every other node in the network. Node A wins and sends the packet. This continues until all the nodes in the network receives the pcket 0.5 U(A)=1.5 A B 1 0.2 0.3 D U(D)=0.8 C 0.5
Pseudo Code of UFlood Packet preparation: All APs receive the file from multicast server. Split file in to equal sized packets Group in to batches of 64 packets. Batches are flooded one at a time.
Pseudo Code for UFlood Random Network Coding Source AP has “native” packets (n1,…n64) Source constructs “coded” packets = Linear Combination or LC(n1,…n64) P1= c1` n1+ c2` n2+…+ c64` n64 P2= c1`` n1+ c2`` n2+…+ c64`` n64 … These are first generation packets
Pseudo Code of UFlood UFlood is distributed and a local heuristic: Nodes periodically calculate utility of itself and all its neighbors The best sender transmits coded packets in burst. All nodes recode every time a packet is sent Nodes broadcast feedback of the packets they possess. Go to Step 6.
Implementation Issues: Feedback I(A,B)=1 if transmissions of A are linearly independent to packets of B How to construct feedback for Coded packets? Coefficients of each coded packet – Huge! Rank = # Linearly independent coded packets bitmap identifying each distinct first-generation packet that contributed via coding to any of the packets B holds Feedback Rank(B)+bitmap+Rank(N(B)) How often to send feedback? Smart feedback Nodes interpolates feedback Detects an idle channel for 3-pkt duration
Implementation Issues: Deadlocks Feedback packets includes neighbor’s rank – Two hop information Accurate utility calculation of neighbors Sends burst of packets Reduces #deadlocks
Implementation Issues: Burst size Burst size = minBεN(A)(LA,B) LA,B= # Packets A can send to B without causing utility(B) to be greater than utility(A)
Contributions of UFlood Notion of Utility – Sender selcection Smart feedback for coded packets A distributed implementation
Lower Bit Rates are Slow but Strong PA,B at b1 <= PA,B at b2, if b1>b2 PA,B at 1Mbps = 1, then PA,B at 54Mbps<=1 Cite the URL
Challenges in Bit Rate Selection Single hop (Lower rate) Vs Multi-hop (Higher rate) A 54M 11M B 54M Reword the challenge C
Challenges in Bit Rate Selection Many senders and Many Receivers AP 54M 54M 54M C X Y 5.5M 11M Complexity? B 11M 5.5M A Net Rate = 11M Net Rate = 5.5M
Bit Rate Selection for Node X Step 1: ETT(X,C,b) = 1/(PX,C*b) Step 2: Best bit rate for link XC = minbETT(X,C,b) Step 2: Construct Dijkstra shortest path routes from AP to all the nodes, using ETT metric Step 3: Pick the least bit rate to the next hop 1M 54M AP 54M C X Y 5.5M 11M B 11M 5.5M A
Implementation 6 APs and 20 nodes on a 250x150meters 3-floor office building Nodes: 500 MHz AMD Geode LX800 CPU 802.11b/g, Omni-directional antenna Transmit power = 12 mW CLICK software router toolkit Carrier Sense on
Performance Comparison Metrics:
Protocols used for Comparison UFlood Vs MORE Statically assigns the number of packets a node sends for each packet reception No detailed feedback High throughput but wasted transmissions UFlood Vs MNP Save Energy Too slow but efficient transmissions
UFlood: Throughput MNP MORE UFlood
UFlood: Airtime UFlood MORE MNP
Why UFlood Wins? Each UFLOOD transmission benefit twice as many receivers as MORE and 20% more than MNP
Protocols used for Comparison UCast Constant Bitrate of 5.5Mbps Ucast/Rate Use Bit rate selections Strawman Traditional WiFi multicasting N/w coding Dircast AP sends packets until the poorest receiver receives all the packets N/W coding Rate selection for APs
UCast Vs Dircast VS Strawman: Throughput Insensitive to AP connection Ucast/Rate Ucast Dircast Strawman Client coopertion Few APs never send!
UCast Vs Dircast VS Strawman: Airtime Inherent properties of UFlood helps reduce #transmissions Strawman Dircast Ucast Ucast/Rate
Why Client Cooperation? UCast Only best APs send ? Strawman One line result at the end # Cooperating clients/Total #clients
Contributions of this work UCast: Client cooperation multicasting and experiments show a huge benefit UFlood: High-throughput distributed flooding scheme Introduce notion of Utility Smart feedback for coded packets Increases throughput and uses fewer transmissions A novel bit rate selection for flooding protocols
Questions?
Sender Selection Strategy 1: Favor High Delivery Probabilities AP A C 0.8 0.3 0.9 0.2 B D Back…
UFlood Strategy 2: Favor Large Number of Receivers AP A B 0.4 0.5 0.4 0.4 0.4 0.4 C D E F G Back…
UFlood Strategy 3: Favor Senders with New Information AP A C 0.2 0.1 0.9 0.2 Feed back B D Back…
UFlood Strategy 4: Account for Correlated Receptions P1 … P50 AP 0.5 0.5 P`1 … P`25 F1 F2 P``1 … P``25 1 1 But in realistic wireless network, feedback . Change animationLast two requires dynamic updates R P`1 … P`25 == P``1 … P``25? Feedback? Back…
Inherent Wireless Characteristics Independent Receptions Links Invariance
What is Random Network Coding(RNC)? In Wired Networks… P1 P2 F1 F2 P1 P2 F3 F - Forwarders R - Receivers P1 P1+P2 P2 P1+P2 P1+P2 F4 P1,? ?,P2 P1,P1+P2 R1 R2 P1+P2,P2
What is RNC? In Wired Networks… P1…P10 P11…P20 P``1…P``10 F1 F2 P`1…P`10 F3 F - Forwarders R - Receivers P`1…P`10 P``1…P``10 P```1…P```10 P`1…P`10 - LC(P1,…,P10) P``1…P``10 - LC(P11,…,P20) P```1…P```10 - LC(P`1,…,P`10, P``1,…,P``10) F4 R1 R2 P`1…P`10 P```1…P```10 P``1…P``10 P```1…P```10 How many packets to transmit ? - connectivity
Calculation of IA,B Max # of linearly independent coded packets that B can receive from A This is based on Section 4.6 in the paper.
Factors Affecting Performance of UFLOOD: Network size Large network has many potential senders and receivers with hard-to-predict states and choosing best sender is a challenge
Factors Affecting Performance of UFLOOD: Node Density Low delivery probability cause different nodes to receive different packets, which increases importance of sender selection
Factors Affecting Performance of UFLOOD: Batchsize Larger batches allow coding to be effective. Smaller batches decrease throughput because of per-batch overhead
Factors Affecting Performance of UFLOOD: Bitrates UFLOOD’s performance is consistently higher than MORE at various bitrates
Background on Bit rates If delivery probability of a link at bit rate R1 Mbps = P(R1), then P(R2)>P(R1) for all R2<R1 Bit error rate Cite the URL Signal to Noise Ratio