Title: PCP: Efficient Endpoint Congestion Control
1PCP Efficient Endpoint Congestion Control
Thomas Anderson, Andrew Collins, Arvind
Krishnamurthy and John Zahorjan University of
Washington
To appear in NSDI, 2006
Presented by Karl Deng April 11, 2006
2Overview
- PCP -- Probe Control Protocol
- Probe
- ? Detect whether the network can currently
support a test rate - End-to-end approach
- Emulates network-based control
- ? Request and Set
3Design Goals
- Minimize transfer time
- Negligible packet loss low queue variability
- Resources are fully allocated if there is
sufficient demand - Fairness
- Stable system even under high loads
4Design Goals
- Minimize transfer time
- Common Case -- Most network paths are idle most
of the time. - Most transfers are relatively short
- ? Startup efficiency is particularly
important. - TCP congestion control was designed at a time
when links were thin and usually fully utilized - ? Efficiency loss of slow start is minimal
5Design Goals
- Negligible packet loss low queue variability
- Packet loss Queue overflow
- ? Can we prevent queues from overflow ?
- Large queuing delays unnecessarily delay
interactive response time and disrupt real-time
traffic. - ? Can we eliminate queues that might build up
at routers?
6Design Goals
- Minimize transfer time
- Negligible packet loss low queue variability
- Resources are fully allocated if there is
sufficient demand - Fairness
- Stable system even under high loads
Goals of PCP Achieves rapid startup, small
queues, and low loss rates, and that the it does
not compromise eventual efficiency, fairness and
stability.
7Application Examples
- Moderate sized flows on idle links
- Interactive applications
- Applications demanding minimally variable
response times - TCP managed networks perform poorly for these
applications!
8Goal 1. Minimize transfer time ? Direct Jump
- Test a target rate by sending a short probe.
- Given a successful test, senders immediately
increase their base rate by the target rate of
the probe. - Two important techniques
- Probe control how to vary the test rates?
- Using history achieves constant startup time
9Direct Jump
Probe Control
- Exponential increase and decrease
- Start with a baseline rate One maximum sized
packet per round-trip. - Double the attempted rate increase after each
successful probe. - Halve the attempted rate increase after each
unsuccessful probe.
Probe
Rate
Channel Capacity
Probe
Probe
Time
10Direct Jump
Using History
Keep history information about the base rates
previously used to each Internet address Set the
initial probe rate based on previous base
rate. Allows the end host to usually identify
the optimal rate within two round trip times.
11Goal 2. Negligible packet loss low
queue variability ? Rate compensation
- Eliminate queues at routers
- Notice queue-buildups
- Reduce the sending rate by a factor of (?out
?in ) /?out - Detect persistent queueing
- Reduce the sending rate by a factor of
(max-delay min-delay) / max-delay
12Baseline Packets
- Transmit the baseline packets in a paced manner
(equally spaced) at the base rate. - Monitor the gap between baseline PCP packets
- ?in -- gap used by the sender
- ?out -- gap observed at the receiver
- Monitor the one-way delays of baseline PCP
packets - max-delay -- maximum one-way delay (maxdelay)
observed in the previous round trip time - min-delay -- minimum observed one-way delay (will
time out)
13Probes
- Send packet train spaced at an interval to
achieve desired rate - -- Currently, five packets whose size could
be varied - Check for queuing delays based on reception times
14Comparison of Baseline Packets Probes
- Both are paced packets.
- Probes short, high-rate bursts (sent at a test
rate) - Baseline packets regular data traffic (sent at
the base rate) - Impact of a Probe is independent of its test
rate. - Easy to test aggressively without fear of
disrupting existing connections.
Probe
Rate
Channel Capacity
Probe
Probe
Time
15Conclusion
- 1. Minimize transfer time
- ? Direct Jump
- - Probe detect whether the network can currently
support a test rate - - Probe control how to vary the test rates?
- - Using history achieves constant startup time
- 2. Negligible packet loss low queue variability
- ? Rate compensation
- - Monitor the gap and one-way delays of baseline
packets - - Infer the queuing status and reduce base rate.