幻灯片 1

PCP: 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
Overview
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”
Design Goals
1. Minimize transfer time
2. Negligible packet loss & low queue variability
3. Resources are fully allocated if there is sufficient demand
4. Fairness
5. Stable system even under high loads
Design Goals
1. 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
Design Goals
2. 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?
Design Goals
1.
2.
3.
4.
5.
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.
Application Examples
 Moderate sized flows on idle links
 Interactive applications
 Applications demanding minimally variable response times
TCP managed networks perform poorly for these applications!
Goal 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
Direct 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.
Rate
Probe
Probe
Probe
Time
Channel
Capacity
Direct 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.
Goal 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
Baseline 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)
Probes
 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
Comparison 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.
Rate
Probe
Probe
Probe
Time
Channel
Capacity
Conclusion
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.