How Many Packets Can We Encode?

How Many Packets Can We Encode?
- An Analysis of Practical Wireless
Network Coding
Jerry Le, John C.S. Lui, Dah Ming Chiu
Chinese University of Hong Kong
1
Outline
• Introduction and Problem Formulation
• The Physical Upper Bound on how
many we can encode
• How many can we encode under
Random-Access
• Bounding the throughput gain
• Conclusion
2
Introduction and Problem Formulation
• Quick review of the Practical Coding System (COPE [1])
1
P1
3
P2
decode P2
P1
4
decode P2
P2
5
1
P1
3
P2
Encoded broadcast:
Encoded broadcast:
P1⊕P2
P1⊕P2
2
decode P1
2
decode P1
Two flows: 1→5→2
3→5→4
Two flows: 1→3→2
2→3→1
One transmission (slot) saved!
[1] S. Katti, et al. XORs in the Air: Practical Wireless Network Coding. Sigcomm 2006.
3
Introduction and Problem Formulation
• Quick review of the Practical Coding System (COPE [1])
- more complicated scenario...
- 4 bi-directional flows
decode P3
1
P1
decode P4
2
PP1⊕P2 ⊕P3 ⊕P
P44
5
2
4
decode P2
P3
Three transmissions saved!
3
decode P1
[1] S. Katti, et al. XORs in the Air: Practical Wireless Network Coding. Sigcomm 2006.
4
Introduction and Problem Formulation
• Question 1 on COPE:
encode 2 at once
encode 4 at once
Q1. Is there a limit on how many
we can encode? (Assuming
everything else is optimal)
encode 6 at once
5
Introduction and Problem Formulation
• Question 2 on COPE:
decode P2
1
P1
3
P2
decode P1
2
Encoded broadcast:
P1⊕P2
Wait a minute...what if...
1
P1
?
3
P2
2
P1
Nothing to encode with...? The order is important!
Q2. How many can we encode under random access?
6
Introduction and Problem Formulation
• Question 3 on COPE:
decode P2
1
P1
3
P2
decode P1
2
Encoded broadcast:
P1⊕P2
- “Non-coding” uses 4 slots
- “Coding” uses 3 slots
- Throughput gain?
Of course, 4/3!
But how about this...?
Q3. What is the limit of throughput gain in general topology?
7
Outline
• Introduction and Problem Formulation
• The Physical Upper Bound on how
many we can encode
• How many can we encode under
Random Access
• Bounding the throughput gain
• Conclusion
8
The “Physical” Upper Bound
• Coding Structure
- 1 coding node
- n coding flows
coding structure
with 2 coding flows
encode at most 2 at once
coding structure
with 4 coding flows
encode at most 4 at once
Assuming scheduling (ordering), routing is optimal
9
The “Physical” Upper Bound
• Coding Structure
- 1 coding node
- n coding flows, need to find out the upper bound of n
• Two main constraints for coding to happen
- opportunistic overhearing
1
P1
- two-hop relaying
P2
Main result: n is indeed
upper bounded, due to
the geometrical constraints.
P1
5
3
P2
Encoded broadcast:
4
decode P2
P1⊕P2
2
decode P1
10
The “Physical” Upper Bound
• Main results
- in 2D networks, n ≤ O[(r/δ)2]
- in 3D networks, n ≤ O[(r/δ)3]
- r: successful transmission range
-δ: “distance gap” between successful transmission
and unsuccessful transmission
Numerical example
r
r/(r+δ)
0.6
0.7
0.8
0.9
n*
3.39
3.95
4.88
6.97
δ
11
Outline
• Introduction and Problem Formulation
• The Physical Upper Bound on how
many we can encode
• How many can we encode under
Random Access
• Bounding the throughput gain
• Conclusion
12
Upper Bound under Random Access
The order is important...
Node 1 sends
Node 3 sends
1
P1
P1
Node 5 sends
3
P2
5
P2
P1
P2
Node 5’s
buffer
Encoded broadcast:
4
P1⊕P2
2
P1⊕P2
We are lucky...this works just fine
13
Upper Bound under Random Access
The order is important...
Node 1 sends
Node 5 sends
1
P1
P1
Node 3 sends
Node 5 sends
4
P2
Node 5’s
buffer
P2
5
P2
3
P1
P21
2
P1
P2
No coding happens...
14
Upper Bound under Random Access
A more complex example
- a randomly generated transmission sequence:
1,1,3,5,1,3,5,5,3,5
1
3
Node 5’s
buffer
5
4
2
- 10 slots used to send 3 packets for each flow
- optimum case is 9
- worst case is 12
15
Upper Bound under Random Access
Key intuition
- higher packet diversity (in coding node’s buffer) results in
higher encoding number
What can affect packet diversity?
- traffic intensity
- buffer size
“Equal Access”
- random access
“K-Priority” (bottleneck gets higher priority)
“Wait-for-X” (hold transmission until
having something to encode)
16
Upper Bound under Random Access
Main results
1) “Equal Access” is particularly suitable for coding
- In saturation, symmetric case, the average encoding
number at each transmission is: n*M/(M+1)
Example:
n=4
Avg. encoding number
vs. buffer size
17
Upper Bound under Random Access
Main results
2) Enough buffer size is essential for coding
Example:
n=4
Avg. encoding number
vs. buffer size
18
Upper Bound under Random Access
Main results
2) Enough buffer size is essential for coding
Example:
n=4
Throughput vs. buffer size
19
Upper Bound under Random Access
Main results
3) Surprisingly, Wait-for-X is not suitable
- Equal Access + Enough buffer is already near optimal
- Too much waiting can only bring more packet loss
The simple
X=1, K=1 pair
has the lowest loss...
20
Outline
• Introduction and Problem Formulation
• The Physical Upper Bound on how
many we can encode
• How many can we encode under
Random Access
• Bounding the throughput gain
• Conclusion
21
Bounding the Throughput Gain
Remember this?...
- Throughput gain = T* of coding / T* or non-coding
- What affect throughput? (Routing, Scheduling)
- The best routing for coding may not be optimal for non-coding!
- The same is true for scheduling!
22
Bounding the Throughput Gain
Lemma 1. Only considering the “same routing” case can
guarantee that we get an upper bound of throughput gain
for the general case.
optimal routing for coding
*
c
*
nc
   T R 
  T R 
*
c
*
nc
T
Tc R
G 

T
Tnc R
*
c
nc
*
c
*
c
optimal routing for non-coding
23
Bounding the Throughput Gain
Lemma 2. For a general network, the throughput gain is
bounded by the throughput gain in one of its coding structures.
24
Bounding the Throughput Gain
Theorem.
1) For a general network, the throughput gain is bounded by
2n/(n+1), where n is the number of coding flows in one of
its coding structures.
2) The bound can be approximated as 2n/(n+M(M+1)) when
using equal access. (M is buffer size)
25
Outline
• Introduction and Problem Formulation
• The Physical Upper Bound on how
many we can encode
• How many can we encode under
Random Access
• Bounding the throughput gain
• Conclusion
26
Conclusion
•
•
•
•
•
A performance analysis of COPE
Focus: the “encoding number”
Physical upper bound on encoding number
Performance under Random Access
Bound in general network
27