1 How Many Packets Can We Encode? - An Analysis of Practical Wireless Network Coding Jerry Le, John...
-
date post
22-Dec-2015 -
Category
Documents
-
view
220 -
download
0
Transcript of 1 How Many Packets Can We Encode? - An Analysis of Practical Wireless Network Coding Jerry Le, John...
1
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
2
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
3
Introduction and Problem Formulation• Quick review of the Practical Coding System (COPE [1])
[1] S. Katti, et al. XORs in the Air: Practical Wireless Network Coding. Sigcomm 2006.
1
4
5
3
2
Two flows: 1→5→2 3→5→4
P1
P1 P2
P2
Encoded broadcast:
P1⊕P2
decode P2 decode P1
1 23
Two flows: 1→3→2 2→3→1
P1 P2
Encoded broadcast:
P1⊕P2
decode P2 decode P1
One transmission (slot) saved!
4
Introduction and Problem Formulation• Quick review of the Practical Coding System (COPE [1])
[1] S. Katti, et al. XORs in the Air: Practical Wireless Network Coding. Sigcomm 2006.
1
3
52 4
P1
P3
P4P2P1⊕P2 ⊕P3 ⊕P4
decode P3
decode P2decode P4
decode P1
- more complicated scenario...- 4 bi-directional flows
Three transmissions saved!
5
Introduction and Problem Formulation• Question 1 on COPE:
encode 2 at once
encode 4 at once
encode 6 at once
Q1. Is there a limit on how many we can encode? (Assuming everything else is optimal)
6
Introduction and Problem Formulation• Question 2 on COPE:
1 23P1 P2
Encoded broadcast:
P1⊕P2
decode P2 decode P1
Wait a minute...what if...
1 23P1 P2
P1
?
Nothing to encode with...? The order is important!
Q2. How many can we encode under random access?
7
Introduction and Problem Formulation• Question 3 on COPE:
1 23P1 P2
Encoded broadcast:
P1⊕P2
decode P2 decode P1
Q3. What is the limit of throughput gain in general topology?
- “Non-coding” uses 4 slots- “Coding” uses 3 slots- Throughput gain?
Of course, 4/3!
But how about this...?
8
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
9
The “Physical” Upper Bound• Coding Structure
- 1 coding node
- n coding flows
coding structurewith 2 coding flows coding structure
with 4 coding flows
Assuming scheduling (ordering), routing is optimal
encode at most 2 at onceencode at most 4 at once
10
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
- two-hop relaying 1
4
5
3
2
P1
P1 P2
P2
Encoded broadcast:
P1⊕P2
decode P2 decode P1
Main result: n is indeed upper bounded, due to the geometrical constraints.
11
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
r
δ
r/(r+δ) 0.6 0.7 0.8 0.9
n* 3.39 3.95 4.88 6.97
Numerical example
12
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
13
Upper Bound under Random Access
1
4
5
3
2
P1
P1 P2
P2
Encoded broadcast:
P1⊕P2
The order is important...
P1
P2
Node 1 sendsNode 5’s bufferNode 3 sends
Node 5 sends
P1⊕P2
We are lucky...this works just fine
14
Upper Bound under Random Access
1
4
5
3
2
P1
P1 P2
P2
The order is important...
P1P2
Node 1 sendsNode 5’s bufferNode 5 sends
Node 3 sends
P1P2 P1
Node 5 sendsP2
No coding happens...
15
Upper Bound under Random Access
1
4
5
3
2
A more complex example- a randomly generated transmission sequence: 1,1,3,5,1,3,5,5,3,5
Node 5’s buffer
- 10 slots used to send 3 packets for each flow- optimum case is 9 - worst case is 12
16
Upper Bound under Random AccessKey intuition- higher packet diversity (in coding node’s buffer) results in higher encoding number
What can affect packet diversity?- traffic intensity- buffer size- random access “Equal Access”
“K-Priority” (bottleneck gets higher priority)
“Wait-for-X” (hold transmission until having something to encode)
17
Upper Bound under Random AccessMain 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=4Avg. encoding number vs. buffer size
18
Upper Bound under Random AccessMain results
2) Enough buffer size is essential for coding
Example:n=4Avg. encoding number vs. buffer size
19
Upper Bound under Random AccessMain results
2) Enough buffer size is essential for coding
Example:n=4Throughput vs. buffer size
20
Upper Bound under Random AccessMain 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 simpleX=1, K=1 pairhas the lowest loss...
21
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
22
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!
23
Bounding the Throughput Gain
Lemma 1. Only considering the “same routing” case canguarantee that we get an upper bound of throughput gainfor the general case.
**
*
*
*
**
cnc
cc
ncnc
cc
nc
c
RT
RT
RT
RT
T
TG
optimal routing for coding
optimal routing for non-coding
24
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.
25
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)
26
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
27
Conclusion
• A performance analysis of COPE
• Focus: the “encoding number”
• Physical upper bound on encoding number
• Performance under Random Access
• Bound in general network