1 UFlood: High-Throughput Wireless Flooding Jayashree Subramanian Collaborators: Robert Morris, Ramakrishna Gummadi, and Hari Balakrishnan
Jan 18, 2018
1
UFlood: High-Throughput Wireless Flooding
Jayashree SubramanianCollaborators: Robert Morris, Ramakrishna Gummadi,
and Hari Balakrishnan
2
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
3
111
Every transmission is broadcast (Opportunistic Receptions!)
Reception is probabilistic
Challenge in Wireless Flooding
121
3
4 6
2
5
2 3
6
2 src
A B
D
C
23456
Delivery probability from Src to B
0.1
4
Challenge: Who should transmit next?What packet to transmit?
UFlood’s claim: Select best sender – to minimize total #transmissions to complete flooding
Challenge in Wireless Flooding …contd
5
Contribution of this work1. UFlood – Choosing best sender for every
transmission maximizes throughput
2. UFlood performance:
• Achieves 2x higher throughput than controlled flooding
• Performs close to the benchmark - ExOR unicast routing (multihop transfer to a single receiver)
66
• Existing Solutions
• Key Idea of UFlood
• Design of UFlood protocol
• Evaluation
Outline of this talk
7
Related Work1. Flooding in routing
• Controlled flooding (AODV, DSR)×Does not maximize throughput
2. Tree-based flooding• MCDS, LESS×Does not consider opportunism
3. Gossip-based flooding
B
C
A
S
0.1
Wasted transmission!
2.Tree-based flooding (static decision)
8
Related Work … contd3. Gossip-based flooding
(dynamic decision)
• Trickle, Deluge
× Does not choose best senderB
C
A
S
0.90.1
Bad sender choice means more transmissions!
99
• Existing Solutions
• Key Idea of UFlood
• Design of UFlood protocol
• Evaluation
Outline of this talk
10
6
Select the best sender - to maximize throughput
Select the best sender - to maximize Useful Receptions
Key Idea
Packet availability
src
A B
D
C
12345
1 1
1
1
4 6
6
3
32 5
Delivery probability
0.9
0.1
11
Calculating Useful Receptions
6 src
A B
D
C
12345
1 1
1
1
4 6
6
3
32 5
U(A,4)=0.9+0.4+0.6=1.8 0.9
0.4
0.6
U(B,1)=0
12
0.9 0.5
0.2 0.1
B
DC
A
S
U(S)=1.7
0.5
0.2
U(S)=0.7
U(A)=1.5
1
0.5
0.3
0.5U(D)=0.8
S
A
D
B
C
To Flood a Single Packet using UFlood
To flood multiple packets calculate utility for every packet!s
13
UFlood is a Local Heuristic
13
• 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!
1414
• Existing Solutions
• Key Idea of UFlood
• Design of protocol
• Evaluation
Outline of this talk
1515
Design of UFlood
Information required:1. Node states - packets available with
the neighbors
2. Delivery probabilities of all node pairs in the network
1616
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
0003
0102
0111
321
003
102
111
321
Knowing Node States
Packet #
Node #
17
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 Delivery Probabilities
10.60.93
110.42
0.50.311
321N N
sentprobesTotalreceivedprobesTotalyprobabilitDelivery
18
N
1ip))B(i,(1i)P(n,p)Utility(n,
Computing Packet Utility
Delivery probabilities
Node states
1919
Pseudo code of UFlood• Source Node floods all packets
• All nodes periodically broadcast status packet
• On reception of a new data or status packet:
1.Update node-state matrix
2.Calculate utility
3.Transmit in burst – all packets whose utility is greater than neighbor’s utility
• CSMA handles contention (Listen then send or back off)
2020
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!
2121
• Existing Solutions
• Key Idea of UFlood
• Design of UFlood protocol
• Evaluation
Outline of this Talk
22
250
feet
200 feet20-Node Indoor Test-bed
Source Node
23
ImplementationMeraki mini, 802.11b/g
2dbi Omni-directional antenna
Transmit power = 60mW
Bit rate = 24Mbps
CLICK software router toolkit
Carrier Sense on
24
Performance ComparisonMethod: Flood a single batch of 5000-
1500B packet
Comparison:UFlood Vs. Controlled FloodingUFlood Vs. Unicast routing
Time(sec)packet(Mb)a ofsize *received packets# (Mbps)Throughput
25
UFlood Vs. Controlled FloodingUsed 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
26
Throughput of UFlood = 2x Throughput of Controlled Flooding
No Choice of Sender!
27
UFlood Vs. Estimated UnicastWhy 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
28
packet
packetpacketpacketpacketpacket
ExOR
src
A B
dst
C
packetpacketpacket
• Decide who forwards after reception• Goal: only closest receiver should forward
2929
Throughput of UFlood = Throughput of Estimated ExOR
30
Second best node transmits!
Why does UFlood Perform good?
Best node transmits!
UFlood is a local heuristic –
Occasional errors!
3131
Future WorkImplement network-coding, bit-rate
adaptation, and batching UFlood vs. existing high-throughput
flooding protocols
3232
Conclusion1. UFlood’s Key Idea – Choosing best
sender for every transmission maximizes throughput
2. UFlood’s Performance:
• Achieves 2x higher throughput than controlled flooding
• Performs close to the benchmark - ExOR unicast routing