pcp: efficient endpoint congestion control nsdi, 2006 thomas anderson, andrew collins, arvind...

18
PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington Presented by Aleksandar Kuzmanovic September 30, 2009

Upload: mae-lucas

Post on 21-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

PCP: Efficient Endpoint Congestion Control

NSDI, 2006

Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John ZahorjanUniversity of Washington

Presented by Aleksandar KuzmanovicSeptember 30, 2009

Page 2: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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”

Overview

Page 3: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

Background

TCP, Vegas, RAP,Fast TCP, S-TCPHigh Speed TCP

DecBit, ECN, RED, AQM

PCPATM, XCP, WFQ, RCP

End Point Router Support

Try andBackoff

Requestand Set

Page 4: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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

Page 5: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

1. Minimize transfer time

Design Goals

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

Page 6: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

2. Negligible packet loss & low queue variability

Design Goals

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?

Page 7: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

1. Minimize transfer time2. Negligible packet loss & low queue variability3. Resources are fully allocated if there is sufficient demand4. Fairness5. Stable system even under high loads

Design Goals

Goals of PCP:Achieves rapid startup, small queues, and low loss rates, and that it does not compromise eventual efficiency, fairness and stability.

Page 8: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

Moderate sized flows on idle links

Interactive applications

Applications demanding minimally variable response times

TCP managed networks perform poorly for these applications!

Application Examples

Page 9: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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

Goal 1. Minimize transfer time Direct Jump

Page 10: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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 Control

Time

Rate

Probe

Probe

ChannelCapacityProbe

Direct Jump

Page 11: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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

Probes

Page 12: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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.

Direct Jump

Page 13: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

Goal 2. Negligible packet loss & low queuevariability 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

Page 14: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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 packetsmax-delay -- maximum one-way delay (maxdelay) observed in the previous round trip timemin-delay -- minimum observed one-way delay (will time out)

Baseline Packets

Page 15: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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

Probes

Page 16: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

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.

Comparison of Baseline Packets & Probes

Time

Rate

Probe

Probe

ChannelCapacityProbe

Page 17: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

User-level implementation:

Response time improves by a factor of 2 over TCP

Better performance for long transfers as well Simulation

Smaller response times, smaller queue sizes

PCP is compatible and benefits from fair queuing in the network

Evaluation

Page 18: PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington

Conclusion

Emulating ‘request and set’ approach from the endpoints is possible

The key idea is to send short probes:- impact of a probe is independent of its test rate- easy to test aggressively

Achieves negligible packet loss & low queue variability

Superior start-up behavior

Effective over FQ routers