Understanding The Performance of TCP Pacing
Understanding The Performance of TCP Pacing
Understanding The Performance of TCP Pacing
of TCP Pacing
TCP Overview:
TCP Burstiness:
Slow Start
Losses
Ack compression
Multiplexing
Motivation:
From queuing theory, we know that bursty traffic produces:
Random
Wo
rst
C
ase
Response Time
Best Case
Queue
Capacity
Load
Contribution:
Simulation Setup:
4x Mbps
S1
R1
5 ms
B= x Mbps
S pkts 40 ms
Sn
4x Mbps
5 ms
( xi RTTi)2
n (xi RTTi)2
Rn
Experimental Results:
A) Single Flow:
case S=0.25*B*RTT
TCP Reno due to its burstiness in slow-start,
incurs a loss when W=0.5*B*RTT
paced TCP incurs its first loss after it saturates the pipe, I.e
when W=2*B*RTT
As a result, TCP Reno takes more time in congestion avoidance
to ramp up to B*RTT
(paced TCP achieves better throughput only at the beginning)
case SB*RTT
(They both achieve similar throughput)
The bursty behavior of TCP Reno is absorbed by the buffer and
it does not get a loss until W=B*RTT
B) Multiple Flows:
50 flows starting at the same time. All flows have same RTT.
case S=0.25*B*RTT
(TCP Reno achieves better throughput at the beginning!)
(Paced TCP achieves better throughput in steady-state!)
TCP Reno Flows send bursts of packets in clusters; some drop
early and backoff, allowing the others to ramp up.
paced TCP All the flows first saturate the pipe. At this point
everyone drops because of congestion and mixing of flows,
thereby leaving the bottleneck under-utilized. (Synchronization
effect)
In steady state, all packets are spread out and flows are mixed;
as a result there is a randomness in the way packets are
dropped. During a certain phase, some flows might get multiple
losses, while others might get away without any. (Desynchronization effect)
case SB*D
De-synchronization effect of Paced TCP persists.
case SB*D
TCP Reno higher drop rate persists.
Conclusion::
Pacing improves fairness and drop rates.
Pacing offers better performance with limited buffering.
In other cases; pacing leads to performance degradation due to:
1. Pacing delays the congestion signals to a point where the
network is already over subscribed.
2. Due to mixing of traffic pacing synchronizes drops.