320 likes | 437 Views
UFlood: High-Throughput Wireless Flooding. Jayashree Subramanian Collaborators: Robert Morris, Ramakrishna Gummadi, and Hari Balakrishnan. Goal of this work. To design a flooding protocol for wireless multi-hop networks Application: Real-time video distribution
E N D
UFlood: High-Throughput Wireless Flooding Jayashree Subramanian Collaborators: Robert Morris, Ramakrishna Gummadi, and Hari Balakrishnan
Goal of this work • To design a flooding protocol for wireless multi-hop networks • Application: Real-time video distribution • What is a good flooding protocol? • Use least #transmissions • Provide high-throughput for the nodes
Challenge in Wireless Flooding • Every transmission is broadcast (Opportunistic Receptions!) • Reception is probabilistic 6 4 A B Delivery probability from Src to B 0.1 src D 4 1 2 2 2 3 5 6 1 1 2 1 2 1 3 C 5 6 3
Challenge in Wireless Flooding …contd Challenge: • Who should transmit next? • What packet to transmit? UFlood’s claim: Select best sender – to minimize total #transmissions to complete flooding
Contribution of this work • UFlood – Choosing best sender for every transmission maximizes throughput • UFlood performance: • Achieves 2x higher throughput than controlled flooding • Performs close to the benchmark - ExOR unicast routing (multihop transfer to a single receiver)
Outline of this talk • Existing Solutions • Key Idea of UFlood • Design of UFlood protocol • Evaluation
S A B C Related Work • Flooding in routing • Controlled flooding (AODV, DSR) • Does not maximize throughput • Tree-based flooding • MCDS, LESS • Does not consider opportunism • Gossip-based flooding Tree-based flooding (static decision) 0.1 Wasted transmission!
S B A 0.1 0.9 C Related Work … contd • Gossip-based flooding (dynamic decision) • Trickle, Deluge • Does not choose best sender Bad sender choice means more transmissions!
Outline of this talk • Existing Solutions • Key Idea of UFlood • Design of UFlood protocol • Evaluation
Key Idea Select the best sender - to maximize Useful Receptions Select the best sender - to maximize throughput 4 6 1 1 A B 0.9 Packet availability Delivery probability 0.1 src D 1 3 2 3 5 4 6 1 C 5 6 3 2 1
Calculating Useful Receptions U(B,1)=0 U(A,4)= 0.9+0.4+0.6=1.8 4 6 1 1 A B 0.9 0.4 src D 0.6 1 3 2 3 5 4 6 1 C 5 6 3 2 1
S 0.5 0.9 A B 0.2 0.1 D C To Flood a Single Packet using UFlood U(S)=1.7 U(S)=0.7 S 0.5 0.5 A U(A)=1.5 B 1 0.2 0.3 U(D)=0.8 D C 0.5 To flood multiple packets calculate utility for every packet!s
UFlood is a Local Heuristic • Difficulty:Knowing the packet availability at all nodes • Solution: Local heuristic- Every node knows only about its neighbors (nodes whose packets it can hear!) • Good news: Possibility of spatial reuse!
Outline of this talk • Existing Solutions • Key Idea of UFlood • Design of protocol • Evaluation
Design of UFlood Information required: Node states - packets available with the neighbors Delivery probabilities of all node pairs in the network
Knowing Node States • Node states • Ni- number of neighbors of i • P – # packets flooded • node-state matrix – [NixP] • Method: • Maintain local version • Gossip packet availability using periodic status packets Packet # 1 1 2 2 3 3 Node # 1 1 1 1 1 1 0 2 2 0 0 1 1 0 3 3 0 0 0 0 0
N N 1 2 3 1 1 0.3 0.5 2 0.4 1 1 3 0.9 0.6 1 Computing Delivery Probabilities • Delivery probabilities • For all N nodes in the network • Delivery prob matrix – [NxN] • Method – offline experiment • Each node broadcasts continuous probes and rest of the nodes compute:
Computing Packet Utility Node states Delivery probabilities
Pseudo code of UFlood • Source Node floods all packets • All nodes periodically broadcast status packet • On reception of a new data or status packet: • Update node-state matrix • Calculate utility • Transmit in burst – all packets whose utility is greater than neighbor’s utility • CSMA handles contention (Listen then send or back off)
Batching in UFlood • The packets are sent in batches • To reduce overhead • To limit the size of the status packet • Current design considers single batch!
Outline of this Talk • Existing Solutions • Key Idea of UFlood • Design of UFlood protocol • Evaluation
20-Node Indoor Test-bed 200 feet 250 feet Source Node
Implementation • Meraki mini, 802.11b/g • 2dbi Omni-directional antenna • Transmit power = 60mW • Bit rate = 24Mbps • CLICK software router toolkit • Carrier Sense on
Performance Comparison Method: Flood a single batch of 5000-1500B packet Comparison: • UFlood Vs. Controlled Flooding • UFlood Vs. Unicast routing
UFlood Vs. Controlled Flooding • Used in routing protocols like AODV and DSR • Method: • Source broadcasts all packet • Every node rebroadcasts only once • Why we used? • Aim: to quickly send the route information
Throughput of UFlood = 2x Throughput of Controlled Flooding No Choice of Sender!
UFlood Vs. Estimated Unicast • Why unicast? • Multihop transfer to • one receiver Vs many receivers • Method • Setup independent unicast sessions to send a batch of packets from source (node 4) to each node
ExOR packet packet packet packet • Decide who forwards after reception • Goal: only closest receiver should forward A B src dst packet packet packet packet packet C
Why does UFlood Perform good? Second best node transmits! UFlood is a local heuristic – Occasional errors! Best node transmits!
Future Work • Implement network-coding, bit-rate adaptation, and batching • UFlood vs. existing high-throughput flooding protocols
Conclusion • UFlood’s Key Idea – Choosing best sender for every transmission maximizes throughput • UFlood’s Performance: • Achieves 2x higher throughput than controlled flooding • Performs close to the benchmark - ExOR unicast routing