Lectre 14: Congestion Control CSE 222A: Compter Commnication Networks George Porter Thanks: Amin Vahdat, Dina Katabi
Lectre 14 Overview TCP congestion control review XCP Overview CSE 222A Lectre 14: Congestion Control 2
Congestion Control Overview Challenge: how do we efficiently share network resorces among billions of hosts? Today: TCP Hosts adjst rate based on packet losses Alternative soltions Fair qeing, RED (roter spport) Vegas, packet pair (add fnctionality to TCP) Rate control, credits CSE 222A Lectre 14: Congestion Control 3
ACK Pacing in TCP ACKs open p slots in the congestion/advertised window Bottleneck link determines rate to send ACK indicates one packet has left the network CSE 222A Lectre 14: Congestion Control 4
Problems with ACK Pacing ACK compression Variations in qeing delays on retrn path changes spacing between ACKs Example: ACK waits for single long packet Worse with brsty cross-traffic What happens after a timeot? Potentially, no ACKs to time packet transmissions Congestion avoidance Slow start back to last sccessfl rate Back to linear increase/mltiplicative increase at this point CSE 222A Lectre 14: Congestion Control 5
Two TCP Connections Reach eqilibrim independent of initial bandwidth (assming eqal RTTs) 16 14 12 10 window (in segs) 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 CSE 222A Lectre 14: Congestion Control rond-trip times 6
TCP Friendliness Problem: many different TCP implementations If ct back more slowly after drops è grab bigger share If add more qickly after ACKs è grab bigger share Incentive to case congestion collapse Many TCP accelerators Easy to improve perf at expense of network Soltions? Per-flow fair qeing at roter CSE 222A Lectre 14: Congestion Control 7
Fairness vs. Efficiency Copled becase a single mechanism controls both Example: In TCP, Additive-Increase Mltiplicative- Decrease (AIMD) controls both XCP arges decopling solves the problem: 1. To control congestion: se MIMD which shows fast response 2. To control fairness: se AIMD which converges to fairness CSE 222A Lectre 14: Congestion Control 8
XCP Advantages Tighter Congestion Control Small qees Almost no drops Scalable (no per-flow state) Flexible fairness definitions Max/min Proportional Differential bandwidth Etc. CSE 222A Lectre 14: Congestion Control 9
XCP Overview 1. Congestion Controller 2. Fairness Controller CSE 222A Lectre 14: Congestion Control 10
XCP Example Rond Trip Rond Time Trip Time Congestion Congestion Window Window Feedback = + 0.1 packet Feedback Feedback Congestion Header CSE 222A Lectre 14: Congestion Control 11
XCP Example Rond Trip Time Congestion Window Feedback = - 0.3 packet Feedback = + 0.1 packet CSE 222A Lectre 14: Congestion Control 12
XCP Example Congestion Window = Congestion Window + Feedback Roters compte feedback withot any per-flow state CSE 222A Lectre 14: Congestion Control 13
Feedback Comptation Congestion Controller Goal: Matches inpt traffic to link capacity & drains the qee Looks at aggregate traffic & qee Algorithm: MIMD Aggregate traffic changes by D D ~ Spare Bandwidth D ~ - Qee Size So, D = a d avg Spare - b Qee CSE 222A Lectre 14: Congestion Control Fairness Controller Goal: Divides D between flows to converge to fairness Looks at a flow s state in Congestion Header Algorithm: AIMD If D > 0 Þ Divide D eqally between flows If D < 0 Þ Divide D between flows proportionally to their crrent rates 14
Dmbbell Topology S 1 Bottleneck S 2 R1, R2,, Rn S n CSE 222A Lectre 14: Congestion Control 15
Efficiency Avg. Utilization Avg. Utilization Bottleneck Bandwidth (Mb/s) Rond Trip Delay (sec) CSE 222A Lectre 14: Congestion Control 16
Response to Dynamics Start 40 Flows Stop the 40 Flows CSE 222A Lectre 14: Congestion Control 17
Short Flows Average Utilization Average Qee Drops CSE 222A Lectre 14: Congestion Control 18
Fairness Avg. Throghpt Avg. Throghpt Same RTT Different RTT CSE 222A Lectre 14: Congestion Control 19
Datacenter Review Large prpose-bilt DCs Hge investment: R&D, bsiness Transport inside the DC TCP rles (99.9% of traffic) How s TCP doing? 20
TCP in the Data Center TCP is challenged to meet demands of apps. Sffers from brsty packet drops, Incast [SIGCOMM 09],... Bilds p large qees: Ø Adds significant latency. Ø Wastes precios bffers, esp. bad with shallow-bffered switches. Operators work arond TCP problems. Ad-hoc, inefficient, often expensive soltions No solid nderstanding of conseqences, tradeoffs CSE 222A Lectre 14: Congestion Control 21
For Next Class Read and review DCTCP paper CSE 222A Lectre 14: Congestion Control 22