Download presentation
Presentation is loading. Please wait.
Published byJudith McCormick Modified over 8 years ago
1
Coding for Multipath TCP: Opportunities and Challenges Øyvind Ytrehus University of Bergen and Simula Res. Lab. NNUW-2, August 29, 2014
2
The coding community Coding theorists happy when they have nice theorems to prove the optimality of codes …given some assumptions on the channel model, the traffic pattern, the user requirements The networking community Network people happy to deploy new and improved protocols and happy when the new protocols work If they are compatible with all the old protocols ?
3
Overview Coding Coding Coded TCP Coded TCP Coded Multipath Transport layer Coded Multipath Transport layer Nornet? Nornet?
4
Communication objectives Reliable communication Reliable communication Throughput/goodput Throughput/goodput Delay sensitivity Delay sensitivity Low average delay? Low average delay? Low probability of long delay? Low probability of long delay? Security Security Complexity of operations Complexity of operations Compatibility Compatibility
5
Why Coding? ARQ approach (e. g. TCP) ARQ approach (e. g. TCP) Send original data packets Send original data packets Packet loss (erasure): Need to retransmit lost packet Packet loss (erasure): Need to retransmit lost packet
6
ARQ Motivation: Reliable end-to-end connection Motivation: Reliable end-to-end connection TCP/IP approach: ARQ on TCP connection TCP/IP approach: ARQ on TCP connection File TCP 12345 File Request retransmission if packet is missing (or in error)* Drawbacks: Extra delay, Increases Traffic, Problems with multicast
7
Why Coding? ARQ approach (e. g. TCP) ARQ approach (e. g. TCP) Send original data packets Send original data packets Packet loss (erasure): Need to retransmit lost packet Packet loss (erasure): Need to retransmit lost packet Coding approach Coding approach Send linear combinations of original data packets Send linear combinations of original data packets Packet loss (erasure): Need to retransmit more packets Packet loss (erasure): Need to retransmit more packets
8
Types of coding Forward-error correction coding Forward-error correction coding Traditionally used for low-layer protocols Traditionally used for low-layer protocols Can it be used for erasure recovery? Can it be used for erasure recovery?
9
Classical error correction coding Classical coding approach: Forward error correction Classical coding approach: Forward error correction File Encoder Decoder/ Reconstruction 12345 File P
10
Classical error correction coding Rate k/n encoder: [ ] G = [ ] 12..k…n Decoder/ Reconstruction (Solve linear equation) 123..k 12 k n Rate requirements depend on channel quality Disadvantages: Reconstruction complexity; Channel quality/ies not known apriori
11
Types of coding Forward-error correction coding Forward-error correction coding Coding for recovery of erasures (packet loss) Coding for recovery of erasures (packet loss) Random linear coding Random linear coding
12
Random linear coding Create coded packets randomly Create coded packets randomly File Encoder Decoder/ Reconstruction 12345 File … Unknown erasure probabilities Adaptable rate (or rateless) codes, minimize feedback Reconstruction = solving a set of linear equations
13
Random linear coding/Fountain Coding on multicast Reconstruction time should depend only on size of content Encoder Transmission … 12..k Each user can reconstruct content as soon as enough packets are received: Send “enough” feedback 12..k 12 k 12 k12 k
14
Types of coding Forward-error correction coding Forward-error correction coding Coding for recovery of erasures (packet loss) Coding for recovery of erasures (packet loss) Random linear coding Random linear coding Fountain coding Fountain coding
15
Content Encoder Digital buckets (Why ”Digital Fountain” ?)
16
Distribution on Typical Fountain Coding
17
2 Insert header, and send XOR Choose weight Choose 2 Random original symbols Input symbols Weight Prob 10.055 0.0004 0.32 0.13 0.084 100000 Weight table LT encoding
18
LT decoding/recovery
27
Fix packet degree distribution A linear combination c of Hamming weight/degree w is chosen with probability LT Codes (Michael Luby, 1998)
28
Make sure that at each step of the decoding, at least one new degree-1 packet appears! Make sure that at each step of the decoding, at least one new degree-1 packet appears! Solution: Ω is a soliton distribution (Luby 1998) Solution: Ω is a soliton distribution (Luby 1998) Ideal version Ω 1 =1/k, Ω i =1/(i(i-1)) for i =2,3… Ideal version Ω 1 =1/k, Ω i =1/(i(i-1)) for i =2,3… Robust version Robust version Avoids Gaussian elimination Avoids Gaussian elimination O(k) reconstruction (per k information symbols) O(k) reconstruction (per k information symbols) LT recovery
29
Not covered LT recovery failure ? k information packets k (1+ε) coded packets noncovered
30
LT: choice of degree distributions Average degree should be at least: O(log(k)) Average degree should be at least: O(log(k)) Average O(log(k)) encoding (per output symbol) Average O(log(k)) encoding (per output symbol) Improvement: Raptor Codes (Shokrollahi 2004) Improvement: Raptor Codes (Shokrollahi 2004) O(1) encoding (per output symbol or packet) O(1) encoding (per output symbol or packet) O(k) reconstruction (per k information symbols) O(k) reconstruction (per k information symbols)
31
Types of coding Forward-error correction coding Forward-error correction coding Coding for recovery of erasures (packet loss) Coding for recovery of erasures (packet loss) Random linear coding Random linear coding Fountain coding Fountain coding Burst erasure coding Burst erasure coding
32
Burst erasure recovery codes Martinian, Trott (IEEE ISIT 2007) Delay-optimal burst erasure code construction Martinian, Trott (IEEE ISIT 2007) Delay-optimal burst erasure code construction Essentially solves a problem of code construction Essentially solves a problem of code construction
33
Types of coding Forward-error correction coding Forward-error correction coding Coding for recovery of erasures (packet loss) Coding for recovery of erasures (packet loss) Random linear coding Random linear coding Fountain coding Fountain coding Burst erasure coding Burst erasure coding Network coding Network coding
34
Coding: Adaptation to TCP How to bound decoding delay per packet How to bound decoding delay per packet Congestion control and fairness Congestion control and fairness
35
Adaptation to TCP Sundarajan, Shah, Médard, Jakubczak, Mitzenmacher, Barros (Proc. IEEE 2011) Network Coding Meets TCP:--- Sundarajan, Shah, Médard, Jakubczak, Mitzenmacher, Barros (Proc. IEEE 2011) Network Coding Meets TCP:--- Coding benefits: increased throughput Coding benefits: increased throughput Maintain congestion window...by Maintain congestion window...by introducing «Network» coding layer NC between TCP and IP: TCP/NC introducing «Network» coding layer NC between TCP and IP: TCP/NC Random Linear Coding on congestion window Random Linear Coding on congestion window Re-defining semantic function of ACKs Re-defining semantic function of ACKs ACK on seen packets ACK on seen packets Efficient RTT = network RTT +decoding delay Efficient RTT = network RTT +decoding delay
36
Multipath TCP Can exploit multiple physically independent (?) connections to reach communication objectives Can exploit multiple physically independent (?) connections to reach communication objectives Reliability Reliability Throughput/goodput Throughput/goodput Improved delay behaviour Improved delay behaviour Increased security Increased security Performance may be degraded due to bottlenecks or packet losses Performance may be degraded due to bottlenecks or packet losses Coding? Coding?
37
Coded Multipath Transport layer Cui, Wang, Wang, Wang, Wang(IEEE/ACM Trans. 2014) FMTC: A Fountain Code-Based Multipath Transmission Control Protocol Cui, Wang, Wang, Wang, Wang(IEEE/ACM Trans. 2014) FMTC: A Fountain Code-Based Multipath Transmission Control Protocol Propose new transport protocol Propose new transport protocol Fountain code to avoid buffer congestion from bottleneck path Fountain code to avoid buffer congestion from bottleneck path Heuristic assignment of traffic to paths Heuristic assignment of traffic to paths Encoding in blocks to limit recovery delay Encoding in blocks to limit recovery delay
38
Nornet Implementation of proposed transport protocols? Implementation of proposed transport protocols? Is the choice of codes appropriate? Is the choice of codes appropriate? Can burst erasure recovery codes work better? Can burst erasure recovery codes work better? «Multipath burst erasures»? «Multipath burst erasures»? Spatially coupled codes, operating on window as in TCP/NC Spatially coupled codes, operating on window as in TCP/NC
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.