TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks
Wai Kay Leong, Zixiao Wang, Ben Leong
The 13th International Conference on emerging Networking EXperiments and Technologies
TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile - - PowerPoint PPT Presentation
TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks Wai Kay Leong , Zixiao Wang, Ben Leong The 13th International Conference on emerging Networking EXperiments and Technologies Mobile Internet usage exceeds Desktop
Wai Kay Leong, Zixiao Wang, Ben Leong
The 13th International Conference on emerging Networking EXperiments and Technologies
CoNEXT ’17 Seoul, Incheon
Mobile Internet usage exceeds Desktop
2
CoNEXT ’17 Seoul, Incheon
What's different about cellular?
Negligible random packet losses
Large buffers
Asymmetric uplink/downlink
Fair scheduling at “base station”
3
Why Traditional TCP does not work
IN MOBILE/CELLULAR NETWORKS
4
CoNEXT ’17 Seoul, Incheon
5
Deep buffer causes high latency (hundreds
Cwnd Time Buffer overflow Packets in flight (buffer) Actual RTT
Lack of congestion signal
CUBIC Reno
CoNEXT ’17 Seoul, Incheon
More predominant in slower 3G/HSPA networks ACK gets delayed in return uplink
6
Data ACK …… Idle link
CoNEXT ’17 Seoul, Incheon
Rethink congestion control for mobile networks
Traditional TCP congestion control
Rise in new mobile TCP algorithms
7
CoNEXT ’17 Seoul, Incheon
Key Idea
Purpose of congestion control is to
Why not just send at the correct rate?
8
Our Insight: Timely estimation of the bandwidth + quick reaction to new network condition is sufficient
CoNEXT ’17 Seoul, Incheon
Our Approach
Abandon ACK clocking Pure rate-based sending of packets
1. Estimate current bandwidth/receive rate 2. Send packets at estimated rate 3. Observe buffer delay 4. Update send rate
Takes advantage of large buffer Congestion with others mitigated by fair scheduling in base station
9
CoNEXT ’17 Seoul, Incheon
We need a means to
Make use of TCP timestamp option
10
CoNEXT ’17 Seoul, Incheon
Estimating Receive Rate
Receiver will send ACK when packet is received ACK will be timestamped Compute rate by
ΔACK/Δt = ρ
11
Sender Receiver
TSval = tr0 TSval = tr1 Δt
CoNEXT ’17 Seoul, Incheon
Estimating Buffer/ Queuing Delay
Only relative increase/decrease of tbuff matters
12
Sender Receiver
TSval = tack Relative delay RD = tack – tsnd Actual delay Queuing delay tbuff = RD – RDmin tsnd tack (RDmin)
CoNEXT ’17 Seoul, Incheon
Putting it together
13
Estimate Receive Rate/Bandwidth Detect Congestion from Queuing delay Pure Rate-based Mechanism
CoNEXT ’17 Seoul, Incheon
Self-oscillating feedback loop
14
Increase in queuing delay tbuff > T Link Congested Decrease in queueing delay tbuff < T No Congestion Buff ffer D Drain Sta tate Send slower than bandwidth (σd<ρ) Buffer Fi r Fill State Send faster than bandwidth (σf>ρ) Slow S Start rt Send burst of 10 packets 1 2 3 Estimate bandwidth (ρ)
ρ and tbuff constantly updated
CoNEXT ’17 Seoul, Incheon
Buffer Drain State Buffer Fill State
Packet Trace, aka Sawtooth
15
Time Packets in buffer/ Queuing Delay
delay delay
Takes at least 1×RTT to get feedback on queuing delay Latency oscillates between the peaks and throughs
T
CoNEXT ’17 Seoul, Incheon
PropRate
Sending rate is a proportion of bandwidth/receive rate
Three parameters controlsthe sawtooth
16
CoNEXT ’17 Seoul, Incheon
Parameters
By adjusting the parameters, kf,kd and T, we can change the shape of the sawtooth.
17
Time Packets in buffer/ Queuing Delay
T
Average latency
CoNEXT ’17 Seoul, Incheon
Parameters
By adjusting the parameters, kf,kd and T, we can change the shape of the sawtooth.
18
Time Packets in buffer/ Queuing Delay
T
Average latency
CoNEXT ’17 Seoul, Incheon
Parameters
By adjusting the parameters, kf,kd and T, we can change the shape of the sawtooth.
19
Time Packets in buffer/ Queuing Delay
T
Average latency
CoNEXT ’17 Seoul, Incheon
Parameters
By adjusting the parameters, kf,kd and T, we can change the shape of the sawtooth.
20
Time Packets in buffer/ Queuing Delay
T
Average latency
CoNEXT ’17 Seoul, Incheon
Parameters
By adjusting the parameters, kf,kd and T, we can change the shape of the sawtooth. Throughput is maximum because buffer is always filled
21
Time Packets in buffer/ Queuing Delay
T
Average latency
CoNEXT ’17 Seoul, Incheon
Parameters
Throughput is maximum because buffer is always filled Average latency can be adjusted
22
Time
T
Average latency Packets in buffer/ Queuing Delay
CoNEXT ’17 Seoul, Incheon
Parameters
Throughput is maximum because buffer is always filled Average latency can be adjusted
23
Time
T
Average latency Packets in buffer/ Queuing Delay
CoNEXT ’17 Seoul, Incheon
Average latency
Two optimization modes
Optimizing for Throughput
Optimizing for Latency
throughput
24
T
Queuing Delay Time
T
Time
Average latency
CoNEXT ’17 Seoul, Incheon
Please read our paper
Parameter tuning
Updating Threshold
Some math
25
26
CoNEXT ’17 Seoul, Incheon
Performance Evaluation
protocols
Westwood, LEDBAT
Verus, BBR
Two Scenarios
Three flavours of PropRate
Low, Medium, High
+ Frontier
Enumerate parameter space
27
CoNEXT ’17 Seoul, Incheon
Trace-based Emulation
Keep network constant – for fair comparison Cellsim Emulator (from MIT) Actual Network Traces
28
Mobile Cellsim Server wired wired uplink downlink
1010 0010 0101 1100 1011
CoNEXT ’17 Seoul, Incheon
Results – Local ISP, Stationary
29
Good throughput/Bad latency Good latency/ Bad throughput
CoNEXT ’17 Seoul, Incheon
Results – Local ISP, Mobile
30
Good throughput/Bad latency Good latency/ Bad throughput
CoNEXT ’17 Seoul, Incheon
Results – Real LTE Network
31
CoNEXT ’17 Seoul, Incheon
Results
PropRate more optimal than other TCP variants
32
CoNEXT ’17 Seoul, Incheon
Congested/ Saturated Uplink
33
Mobile Server USB Tether congested uplink downlink LTE Smartphone
CoNEXT ’17 Seoul, Incheon
Congested Uplink – Real LTE Network
34
CoNEXT ’17 Seoul, Incheon
Results
PropRate more optimal than other TCP variants
Decoupling ACK clocking improves resilience
35
CoNEXT ’17 Seoul, Incheon
Performance Frontiers
36
CoNEXT ’17 Seoul, Incheon
Results
PropRate more optimal than other TCP variants
Decoupling ACK clocking improves resilience
Frontier hull shows PropRate is always most optimal
37
CoNEXT ’17 Seoul, Incheon
Fairness – Self Contention
38
CoNEXT ’17 Seoul, Incheon
Fairness – Contention from others
39
CoNEXT ’17 Seoul, Incheon
Results
PropRate more optimal than other TCP variants
Decoupling ACK clocking improves resilience
Frontier hull shows PropRate is always most optimal PropRate can compete with CUBIC flows
40
CoNEXT ’17 Seoul, Incheon
Whither the future?
Resurgence in interest in TCP
Traditional TCP: CUBIC/Compound
Delay-based algorithms: Vegas, Westwood, etc.
41
CoNEXT ’17 Seoul, Incheon
Is TCP ready for rate-based algorithms?
Pure rate-based algorithms: PropRate & BBR
Can co-exist with CUBIC
PropRate builds on a framework
42
QUESTIONS?
43