One-Size-Fits-All Wireless Video Szymon Jakubczak with Hariharan Rahul and Dina Katabi.
02.12.20041 Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley...
-
Upload
sharon-carpenter -
Category
Documents
-
view
212 -
download
0
Transcript of 02.12.20041 Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley...
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.