02.12.20041 Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley...

Preview:

Citation preview

02.12.2004 1

Congestion Control for High Bandwidth-Delay Product Networks

D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02

Presented by Cheng Huang

02.12.2004 2

Basics of TCP Congestion Control Bandwidth-delay product

Capacity of the “pipe” between a TCP sender and a TCP receiver

Congestion window (cwnd) sender’s estimation of the capacity

Additive Increase and Multiplicative Decrease (AIMD) algorithm no loss: cwnd = cwnd + s loss: cwnd = cwnd – cwnd/2

02.12.2004 3

Motivations

Inadequacy of TCP, as bandwidth-delay product increases Prone to instability

regardless of AQM schemes Inefficient

Fairness concern TCP tends to bias against long RTT flows

Satellite links, wireless links, etc.

02.12.2004 4

Design Rationale

NOT an end-to-end approach Using precise congestion signaling Decoupling efficiency and fairness control

02.12.2004 5

Features of XCP (eXplicit Control Protocol) Maintains high utilization, small queues, and

almost no drops, as bandwidth/delay increases drop: less than one in a million packets

Maintains good performance in dynamic environment (with many short web-like flows)

No bias against long RTT flows

02.12.2004 6

XCP – Sender/Receiver’s Role

Sender Fill the congestion header Update cwnd = max(cwnd + H_feedback, s)

Receiver Copy H_feedback to ACK

02.12.2004 7

XCP – Router’s Role

Control Interval Estimation Average RTT

Efficiency Control Maximize link utilization

Fairness Control Achieve fairness among individual flows

02.12.2004 8

Control Interval Estimation

Estimation requirement Core stateless Average over flows (not over packets) e.g. two flows have RTTs of 80 ms and 40 ms and

the same cwnd = 10 packets, then average RTT over packets is:

RTTavg = (80*10+40*20)/(10+20) = 53.33 (ms)

Instead, average RTT over flows is:RTTavg = (80*80*10+40*40*20)/(80*10+40*20) = 60 (ms)

02.12.2004 9

Control Interval Estimation (2)

Weight of each packet wi = H_rtti * (si / H_cwndi)

Average RTT sum(wi * H_rtti) / sum(wi)

Average cwnd sum(wi * H_cwndi) / sum(wi)

02.12.2004 10

Efficiency Controller (EC)

Aggragate feedback (total H_feedback)

alpha, beta: constant value d: control interval (average RTT) S: spare bandwidth Q: persistent queue size

Stability requirement determinesalpha = 0.4; beta = 0.226

Independent of delay, capacity and number of flows

02.12.2004 11

Fairness Controller (FC)

Achieve fairness via AIMD algorithm phi > 0, equal throughput increment of all flows phi < 0, throughput decrement proportional to its c

urrent throughput Positive feedback

(1/wi) * (pi/H_rtti) = C1 (constant value) sum(pi/H_rtti) = phi/d

Negative feedback (1/wi) * (ni/H_rtti) = C2 * H_cwndi/H_rtti

sum(ni/H_rtti) = phi/d

02.12.2004 12

Fairness Controller (FC) (2)

Bandwidth shuffling h = max(0, gamma*y - |phi|)

gamma = 0.1 y: input traffic

02.12.2004 13

Performance Evaluation

Simulation topology I

02.12.2004 14

02.12.2004 15

02.12.2004 16

Performance Evaluation (2)

Simulation topology II

02.12.2004 17

The dynamics of XCP (I)

02.12.2004 18

The Dynamics of XCP (II)

02.12.2004 19

Differential Bandwidth Allocation

Replace FC phi > 0: allocate throughput increment according to flows’ prices

02.12.2004 20

Gradual Deployment – A TCP-friendly XCP Separate queues to distinguish TCP and XCP

traffics Calculate average cwnd of TCP traffics by

Update weights to make TCP and XCP fair

02.12.2004 21

Conclusion

XCP provides a theoretically sound, yet effective approach to congestion control. It remains excellent performance, independent of link capacity, delay and number of flows.

Recommended