Title: UFlood: High-Throughput Wireless Flooding
1UFlood High-Throughput Wireless Flooding
Jayashree Subramanian Collaborators Robert
Morris, Ramakrishna Gummadi, and Hari Balakrishnan
2Goal 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
3Challenge 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
1
1
1
2
1
2
2
2
3
4
5
6
1
2
3
C
5
6
3
4Challenge in Wireless Flooding contd
- Challenge
- Who should transmit next?
- What packet to transmit?
- UFloods claim Select best sender to minimize
total transmissions to complete flooding
5Contribution 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)
6Outline of this talk
- Existing Solutions
- Key Idea of UFlood
- Design of UFlood protocol
- Evaluation
7Related 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!
8Related Work contd
- Gossip-based flooding (dynamic
decision) - Trickle, Deluge
- Does not choose best sender
Bad sender choice means more transmissions!
9Outline of this talk
- Existing Solutions
- Key Idea of UFlood
- Design of UFlood protocol
- Evaluation
10Key Idea
Select the best sender - to maximize Useful
Receptions
Select the best sender - to maximize throughput
1
4
6
1
A
B
0.9
Packet availability
Delivery probability
0.1
src
D
6
1
2
3
4
5
3
1
C
6
5
3
1
2
11Calculating Useful Receptions
U(B,1)0
U(A,4) 0.90.40.61.8
1
4
6
1
A
B
0.9
0.4
src
D
0.6
6
1
2
3
4
5
3
1
C
6
5
3
1
2
12To 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
0.5
C
To flood multiple packets calculate utility for
every packet!s
13UFlood 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!
14Outline of this talk
- Existing Solutions
- Key Idea of UFlood
- Design of protocol
- Evaluation
15Design of UFlood
- Information required
- Node states - packets available with the
neighbors - Delivery probabilities of all node pairs in the
network
16Knowing 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
3
2
1
3
2
1
Node
0
1
1
1
1
1
1
0
1
0
2
1
0
2
0
0
0
3
0
0
3
17Computing 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
18Computing Packet Utility
Node states
Delivery probabilities
19Pseudo 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 neighbors utility - CSMA handles contention (Listen then send or back
off)
20Batching in UFlood
- The packets are sent in batches
- To reduce overhead
- To limit the size of the status packet
- Current design considers single batch!
21Outline of this Talk
- Existing Solutions
- Key Idea of UFlood
- Design of UFlood protocol
- Evaluation
2220-Node Indoor Test-bed
200 feet
250 feet
Source Node
23Implementation
- Meraki mini, 802.11b/g
- 2dbi Omni-directional antenna
- Transmit power 60mW
- Bit rate 24Mbps
- CLICK software router toolkit
- Carrier Sense on
24Performance Comparison
- Method Flood a single batch of 5000-1500B packet
- Comparison
- UFlood Vs. Controlled Flooding
- UFlood Vs. Unicast routing
25UFlood 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
26Throughput of UFlood 2x Throughput of
Controlled Flooding
No Choice of Sender!
27UFlood 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
28ExOR
packet
packet
packet
packet
A
B
src
dst
packet
packet
packet
packet
packet
C
- Decide who forwards after reception
- Goal only closest receiver should forward
29Throughput of UFlood Throughput of Estimated
ExOR
30Why does UFlood Perform good?
Second best node transmits!
UFlood is a local heuristic Occasional errors!
Best node transmits!
31Future Work
- Implement network-coding, bit-rate adaptation,
and batching - UFlood vs. existing high-throughput flooding
protocols
32Conclusion
- UFloods Key Idea Choosing best sender for
every transmission maximizes throughput - UFloods Performance
- Achieves 2x higher throughput than controlled
flooding - Performs close to the benchmark - ExOR unicast
routing