TCP Cubic

advertisement
Computer Networks
Lecture 18
TCP Cubic, TCP in 4G LTE
11/5/2013
Lecturer: Namratha Vedire
1
Admin
• Assignment 4
Check Point 1: Nov 15, 11:55 pm
To Do: Discuss design with instructor or a TF Nov 11
Code and Report: Nov 19, 11:55 pm
To Do: Discuss design with instructor or a TF Nov 14
Demo
Recap
Recap : RTT & Timeout
•
RTT
Sample RTT
EstimatedRTT = (1-α)*EstimatedRTT + α*SampleRTT (α=0.125)
DevRTT = (1-β)*DevRTT + β*|SampleRTT – EstimatedRTT| (β=0.
•
Timeout = EstimatedRTT + 4*DevRTT
Recap : Congestion Control
•
Congestion is
too many sources sending too much data too fast.
•
Manifestation
1. Lost packets
congestion
collapse
Load
3. Wasted Bandwidth
Delay
packet
loss
cliff
Throughput
knee
2. High Delay
Load
Recap : Congestion Control
•
Efficiency
- Close to full utilization but low delay.
- Fast convergence after disturbance.
•
Fairness
- Resource Sharing
•
Distributed
- No central knowledge necessary
- Scalability
Recap : Simple Model
User 1
x1
User 2
x2

xn
User n
Flows observe congestion signal d, and locally take
actions to adjust rates.
d =  xi > Xgoal?
Recap : A(M)I - MD Protocol
•Apply the A(M)I – MD algorithm to a sliding window protocol
ìï a + b x (t)
I
I i
xi (t +1) = í
ïî bD xi (t)
if d(t) = no cong.
if d(t) = cong.
Recap : TCP/ Reno
•
Two cases
- 3 duplicate ACKs (network capable of delivering some packets)
-Timeout (more alarming)
•
Two phases
1. Slow start (SS) - MI
2*cwnd per RTT till congestion
2. Congestion avoidance(CA) – AIMD
cwnd increase by 1 per RTT
- 3 duplicate ACKs  cwnd = cwnd/2
- Timeout  cwnd =1
- In timeout  timeout = 2*timeout
Recap : TCP/ Reno
TD
cwnd
TD
TD
TO
ssthresh
ssthresh
SS
CA
SS – Slow Start
CA – Congestion Avoidance
TD – Three Duplicate ACKs
TO - Timeout
ssthresh
CA
ssthresh
CA
SS
CA
Time
Recap : TCP/ Reno
When cwnd is cut to half, why does sending rate not get cut?
Recap : TCP/ Reno
ç
There is a filling and draining of buffers for each TCP flow.
cwnd
filling buffer
TD
bottleneck
bandwidth
ssthresh
draining buffer
CA
Time
TCP/ Reno Analysis
TCP/ Reno Throughput Analysis
•
Understand throughput in terms of
- RTT
- Packet loss rate (p)
- Packet size (S)
 Throughput calculations
- Assume congestion avoidance and no timeouts occur
- Mean window size Wm segments, round trip time RTT & pack size S
- Throughput ≈
Wm * S
RTT
bytes/sec
Deterministic Analysis
•
Consider congestion avoidance
- Assume one packet is lost per cycle
- Total packets sent per cycle = ½*(W + W/2) * W/2 = 3W2/8
- Packet loss (p) = 1/(3W2/8) = 8/(3W2)  W = 8/3 = 1.6
p
•
Throughput =
S*Wm
RTT
S
1.2S
= RTT
( 43 1.6p ) = RTT
p
cwnd
3W W
4 2
TD

3W 2
8
Wm = 3W4
available
bandwidth
ssthresh
W/2
CA
p
W
Time
TCP/ Reno Drawbacks
•
Multiple packets lost simultaneously cannot be accounted for
cwnd = 6
3 duplicate ACK’s
Re-transmit segment 1
cwnd = 3
3 duplicate ACK’s
Re-transmit segment 2
cwnd = 1
cwnd might reduce
twice for packets
lost in same window
TCP/ Reno Drawbacks
 RTT unfairness
- Flows with different RTT’s grow their congestion windows differently
- Users with shorter RTT ramp up faster!
- On long distance links, RTT is high and cwnd takes longer to increase
leading to underutilization of link.
 Synchronized losses
- Simultaneous packet loss events for multiple competing flows.
New Protocol Necessary!!
Desired Characteristics in TCP
 Adaptive schemes that grow the congestion window depending on network
conditions
- Scalable
- RTT Fairness
- Faster convergence to better utilize full bandwidth
TCP BIC
http://www.land.ufrj.br/~classes/coppe-redes-2007/projeto/BIC-TCPinfocom-04.pdf
Growth functions
– Consider TCP/Reno growth function
cwnd
TD
TD
TD
TD
Wm
ssthresh
CA
CA
CA
Grows linearly throughout
CA
Time
TCP BIC
Binary Increase Congestion Control (BIC) algorithm
PHASE 1
 cwnd < low_wind, follows TCP
- ACK received : cwnd = cwnd + 1
- Loss event: cwnd = cwnd/2
PHASE 2
 cwnd > low_wind, follows BIC
BIC Algorithm
 Some preliminaries
- βmultiplicative decrease factor
- Wmax = cwnd size before the reduction
- Wmin = β*Wmax – just after reduction
- midpoint = (Wmax + Wmin)/2
BIC performs binary search between Wmax and Wmin looking for the midpoint.
BIC Algorithm
Max Probing
Wmax + 3Smax
Packet loss
event
Wmax + 2Smax
Wmax +Smax
Wmin
Wmin
Wmax
W
max++SSmin
min
Wmax
(Wmin – midpoint) < Smin
midpoint = (Wmin + Wmax)/2
Wmin + Smin
midpoint = (Wmin + Wmax)/2
midpoint = (Wmin + Wmax)/2
WW
min
min+ Smax Wmin + Smax
Wmin – midpoint > Smax
Wmin = β*Wmax
Additive Increase
Binary Search
Slow Start
Additive Inc.
BIC Algorithm
while (cwnd != Wmax){
If ((Wmin – midpoint) > Smax)
cwnd = cwnd + Smax
else
If ((Wmin – midpoint) < Smin)
cwnd = Wmax
else
cwnd = midpoint
If (no packet loss)
Wmin = cwnd
else
Wmin = β*cwnd
Wmax = cwnd
midpoint = (Wmax + Wmin)/2
}
Additive Increase
Binary Search
BIC Algorithm
while (cwnd >= Wmax){
If (cwnd < Wmax + Smax)
cwnd = cwnd + Smin
else
cwnd = cwnd + Smax
If (packet loss)
Wmin = β*cwnd
Wmax = cwnd
}
Slow Start
Additive Increase
Max Probing
TCP BIC - Summary
Max Probing
+ Smin
+ Smax
Packet loss
event
Wmax
+ Smax
Additive
Increase
Time
jump to
midpoint
Binary
Increase
Slow
Start
Additive
Increase
TCP BIC in Action
TCP BIC Advantages
– Scalability: quickly scales to fair BW share
 Fairness and convergence: Achieves better fairness and faster convergence
 Slow Growth around Wmax ensures that unnecessary timeouts do not occur.
TCP BIC Drawbacks
 cwnd growth is aggressive for TCP with short RTT or low speed
- Short RTT makes cwnd ramp up soon
 Still dependent on RTT
- Proportional to inverse square of the RTT like TCP/ Reno
 Complex window growth function
- Difficult for analysis and actual implementation
TCP Cubic
http://www4.ncsu.edu/~rhee/export/bitcp/cubic-paper.pdf
TCP Cubic
 cwnd = C( t – K)3 + Wmax
- Wmax = cwnd before last reduction
- βmultiplicative decrease factor
- C scaling factor
-
K = 3 Wb / C
- t is the time elapsed since last window reduction
TCP CUBIC
Max Probing
Cubic starts probing for
more Bandwidth
Packet loss
event
Wmax
Time
Fast growth upon
reduction
Steady State Behavior
Around Wmax, window growth almost
becomes zero
TCP Cubic Advantages
 Good RTT fairness
- Growth dominated by t, competing flows have same t after
synchronized packet loss
 Real-time dependent
- Similar to BIC but linear increases are time dependent
- Does not depend on ACK’s like TCP/ Reno
 Scalability
- Cubic increases window to Wmax (or its vicinity) quickly and keeps it
there longer
TCP Cubic Drawbacks
 Slow Convergence
- Flows with higher cwnd are more aggressive initially
- Prolonged unfairness between flows
 Bandwidth Delay Products
- Linear increase artefacts
TCP in 4G LTE
http://conferences.sigcomm.org/sigcomm/2013/papers/sigcomm/p363.
pdf
4G LTE
 Bandwidths match (often exceed) home broadband speeds.
 Higher Energy Efficiency
- New resource management policy
 Higher Throughputs
 Lower Latency
4G LTE - Architecture
UE – User Equipment
RAN – Radio Access Network
CN – Core Network
SGW – Switching Gateway
PGW – Packet Data Network Gateway
4G LTE - Latency
 End-to-end latency of a packet that
requires a UE’s radio interface is long RRC promotion delay
 Promotion delay is not included in
either uplink or downlink as the delay
has already finished when it reaches
the server
 Estimating the Promo Delay
- Tsa – Timestamp of SYN
- TSb – Timestamp of ACK
- G – inverse of clock frequency
- Promo Delay = G(TSb – TSa)
4G LTE - Latency
– 3G Networks
- 2 s from idle to high power state
- 1.5 s from low to high power state
 4G Networks
- 600 ms promotion delays
4G LTE - Queuing Delays
 In-flight bytes of more than 200KB
leads to longer queuing delays.
 During data transfer phase, a TCP sender will increase its congestion
window, allowing number of unacknowledged packets to grow.
- “in-flight” packets buffered by routers in network path
- buffers extensively accommodate cellular network conditions and
conceal packet loss
Relative Sequence Number
4G LTE – Undesired Slow Start
3e+06
2.5e+06
2e+06
1.5e+06
1e+06
Data
ACK
500000
0
0
0.5
1
1.5
2
Time (second)
2.5
3
Relative Sequence Number
4G LTE – Undesired Slow Start
3e+06
2.5e+06
2e+06
in-flight bytes growing
1.5e+06
1e+06
Data
ACK
500000
0
0
0.5
1
1.5
2
Time (second)
2.5
3
Relative Sequence Number
4G LTE – Undesired Slow Start
3e+06
2.5e+06
Packet loss
2e+06
1.5e+06
1e+06
Data
ACK
500000
0
0
0.5
1
1.5
2
Time (second)
2.5
3
4G LTE – Undesired Slow Start
Relative Sequence Number
Fast retransmission allows TCP to directly send the lost segment
to the receiver possibly preventing retransmission timeout
3e+06
2.5e+06
Fast retransmission
2e+06
1.5e+06
1e+06
Data
ACK
500000
0
0
0.5
1
1.5
2
Time (second)
2.5
3
4G LTE – Undesired Slow Start
Relative Sequence Number
TCP uses RTT estimate to update retransmission timeout (RTO)
However, TCP does not update RTO based on duplicate ACKs
RTO » RTT + 4RTTVAR
3e+06
2.5e+06
RTT: 262ms
RTO: 290ms
2e+06
1.5e+06
1e+06
500000
Duplicate ACKs
Data
ACK
0
0
0.5
1
1.5
2
Time (second)
2.5
3
4G LTE – Undesired Slow Start
Relative Sequence Number
Retransmission timeout causes slow start
3e+06
RTT: 356ms
RTO: 290ms
RTT > RTO, timeout!
2.5e+06
2e+06
1.5e+06
1e+06
SLOW START
Data
ACK
500000
0
0
0.5
1
1.5
2
Time (second)
2.5
3
4G LTE – Undesired Slow Start
 If large number of packets are in flight and one packet is lost
- large number of duplicate ACKs trigger fast re-transmission
- avoid timeout
 Large in-network queues hold many packets and delay the retransmitted
packet
- If specified ACK does not arrive within timeout, this triggers timeout and
cwnd = 1
- Undesired Slow Start
SOLUTION: Update the estimated RTT with duplicate ACKs
4G LTE – TCP Receive Window
 In 4G LTE networks, receive windows have become the bottleneck
- Initial receive window is not large (mostly 131.8 KB)
- Application is not reading data fast enough from the receive buffer
 TCP rate is jointly controlled by congestion window and receive window
- a full receive window prevents the server from sending more data
- This leads to bandwidth underutilization
SOLUTION
-Move data from transport layer buffers to application layer buffers to empty
receive window
-Increase receive window at network level – deployment is challenging
Backup
Netflix App Case Study
Download