TCP Nice: A Mechanism for Background Transfers

From: Shvetank <shvetank_at_eecg.toronto.edu>
Date: Wed, 4 Oct 2006 22:38:42 -0400

Motivation: TCP Nice is a system intended to provide an abstraction of
infinite free network bandwidth for background data. The primary goals
are (i) to eliminate interference with regular demand traffic, and (ii)
to reap a significant fraction of the spare network bandwidth available.

Key Points:

1) Problem with TCP Reno is that signal comes after the damage is done.
TCP nice pro actively detects congestion using increasing RTT as
congestion signal and then implements aggressive responsiveness to
congestion.

2) The Nice extension adds three components to Vegas: first, a more
sensitive congestion detector; second, multiplicative reduction in
response to increasing round trip times; and third, the ability to
reduce the congestion window below one.

3) The theoretical backing of TCP nice is that interference decreases
exponentially with bottleneck queue capacity independent of the number
of TCP flows.

4) Experimentation reveals that

i) Nice causes low interference even when there isn't much spare capacity.
ii) W < 1 allows Nice to scale to any number of background flows.
iii) Nice utilizes 50-80% of spare capacity w/o stealing any bandwidth
from foreground flows.

5) If the congestion condition does not trigger, Nice falls back on
Vegas' congestion avoidance rules. If a packet is lost, Nice falls back
on Reno's rules.

6) Elimination of interference was given priority over bandwidth
utilization. TCP Nice is always less aggressive than Reno.

7) They have evaluated the system against competing Reno and Vegas TCP
flows but have not systematically evaluated it against other congestion
control protocols.
Received on Wed Oct 04 2006 - 22:38:16 EDT

This archive was generated by hypermail 2.2.0 : Wed Oct 04 2006 - 22:47:19 EDT