XCP: eXplicit Control Protocol Dina Kat abi MI T Lab f or Comput er Science dk@mit.edu www.ana.lcs.mit.edu/dina
Sharing t he I nt ernet I nf rast ruct ure • I s f undament al � Much research in Congest ion Cont rol, QoS, Dif f Serv, Pricing … • I s dif f icult because of Scale! Two Types of Requirement s: 1. Ef f iciency: Use links t o maximum capacit y 2. Allocat ion: What is t he shar e of each user ? • Fairness; Dif f erent ial Bandwidt h Allocat ion; Priorit y …
Tradit ionally, a single mechanism cont rols bot h Ef f iciency and Allocat ion Example: I n TCP , it is Addit ive-I ncr ease Mult iplicat ive-Decrease (AI MD) XCP Approach: Decouple Ef f iciency and Allocat ion Cont rols 1. Find best mechanism t o cont rol aggregat e t raf f ic at a link t o achieve ef f icient links ut ilizat ion 2. Find best mechanism t o shuf f le t he bandwidt h in t he aggregat e t raf f ic t o converge t o t he desired allocat ion
Decoupling Ef f iciency Cont rol f rom Allocat ion Cont rol Sharing I nt ernet Resources Show it via examples …
Example 1: Congest ion Cont rol
Example 1: Congest ion Cont rol
Example 1: Congest ion Cont rol Queue
Example 1: Congest ion Cont rol Queue
Example 1: Congest ion Cont rol Queue
Example 1: Congest ion Cont rol Queue
Example 1: Congest ion Cont rol Queue Congest ion! I should slow down!
Congest ion! I should slow down! The Congest ion Cont rol Problem Cont rol t he sources’ r at es t o get : • Ef f iciency: good link ut ilizat ion, small queues, f ew dr ops • Fairness: Sender s congest ed at same link get equal t hroughput
Tradit ional Approach Cont rol drops at rout er [RED, REM, AVQ, … ] TCP TCP couples Ef f iciency & Fairness TCP Drop TCP ’s Throughput TCP uses AI MD: • No Drop: I ncrease by a const ant increment (i.e., 1 packet / RTT) Time • Drop: Halve t hroughput
Problems wit h Current Approaches: • Good perf ormance requires paramet er t uning [RED, ARED, REM, PI -cont roller, AVQ, … ] • I nef f icient as bandwidt h or delay increases [Low02] Ut ilizat ion Ut ilizat ion TCP ⇒ Need t o change congest ion cont rol because: TCP ⇒ Need t o change congest ion cont rol because: • Bandwidt h is increasing (demands f or it are • Bandwidt h is increasing (demands f or it are increasing t oo!) making TCP more inef f icient increasing t oo!) making TCP more inef f icient • Delay is already a problem • Delay is already a problem Bot t leneck Bandwidt h (Mb/ s) Round Trip Delay (sec)
Congest ion Cont r ol is I nef f icient Because: • Congest ion f eedback is binar y (i.e., dr op or no-dr op) and indif f er ent t o t he degr ee of congest ion � As a result , TCP oscillat es bet ween over-ut ilizing t he link and under-ut ilizing it Solut ion: Ef f icient congest ion cont r ol r equir es Ef f icient congest ion cont r ol r equir es Explicit f eedback Explicit f eedback (I .e., rout ers t ell senders t he degree of congest ion ) (I .e., rout ers t ell senders t he degree of congest ion )
Why Current Approaches Don’t Use Expressive Feedback? Expressive & Unscalable Unexpressive & Scalable I n ATM: ERI CA, Charny’s, OSU, … TCP , TFRC, Binomial, … (almost none in t he I nt ernet ) Answer: Per-f low st at e in rout ers ⇒ Doesn’t Scale! (Flow: packet s f rom same sender) Expressive & Scalable Unexpressive & × Unscalable
Ef f iciency Problem: • Ef f icient link ut ilizat ion needs expressive f eedback • I n coupled syst ems, expressive f eedback led t o per-f low st at e (Unscalable!) Solut ion: Use Decoupling • Decoupling looks at ef f iciency as a problem about aggregat e t raf f ic • Mat ch aggregat e t raf f ic t o link capacit y and drain t he queue • Benef it s: No need f or per-f low inf ormat ion
Fairness Cont rol Shuf f le bandwidt h in Rout er comput es a f low’s aggregat e t o converge t o f air rat e explicit ly f air rat es To make a decision, rout er needs st at e of all f lows To make a decision, rout er needs st at e of t his f low Unscalable Put a f low’s st at e in it s packet s [St oica] Scalable
XCP: An eXplicit Cont rol Prot ocol 1. Ef f iciency Cont roller 2.Fairness Cont roller
How does XCP Work? Round Trip Time Round Trip Time Congestion Window Congestion Window Feedback Feedback = Feedback + 0.1 packet Congestion Header
How does XCP Work? Round Trip Time Congestion Window Feedback = Feedback = + 0.1 packet - 0.3 packet
How does XCP Work? Congest ion Window = Congest ion Window + Feedback Routers compute f eedback without Routers compute f eedback without keeping any per- f low state keeping any per- f low state
How Does an XCP Rout er Comput e t he Feedback? Ef f iciency Cont roller Fairness Cont roller Goal: Divides ∆ bet ween Goal: Mat ches input t r af f ic t o link capacit y & dr ains t he queue f lows t o conver ge t o f air ness Looks at a f low’s st at e in Looks at aggregat e t raf f ic & Congest ion Header queue MI MD AI MD Algor it hm: Algor it hm: Aggregat e t raf f ic changes by ∆ I f ∆ > 0 ⇒ Divide ∆ equally ∆ ~ Spare Bandwidt h bet ween f lows ∆ ~ - Queue Size I f ∆ < 0 ⇒ Divide ∆ bet ween So, ∆ = α d avg Spar e - β Queue f lows pr opor t ionally t o t heir current rat es (Proven t o converge t o f airness)
Windows change by ∆ every d avg I t I s Tricky … ∆ Traf f ic rat e changes by every d avg d avg ∆ = Rat e r(t ) changes per t ime unit by & r Ef f iciency Cont roller Fairness Cont roller 2 d avg α β ∆ = α d avg Spar e - β Queue Algorit hm: S ( t ) Q ( t ) = − & I f ∆ > 0 ⇒ Divide ∆ equally bet ween f lows r 2 d I f ∆ < 0 ⇒ Divide ∆ bet ween f lows d avg avg Theor em: Syst em is st able pr opor t ionally t o t heir cur r ent r at es (I .e., converges t o ef f iciency) Need t o est imat e number of f or any link bandwidt h, delay, f lows N number of sour ces if : π ∑ RTT < α < β = α = N i 2 0 and 2 × d Cwnd 4 2 avg i pkts in d avg . No Per -Flow St at e RTT i : Round Trip Time of pkt i No Paramet er Tuning No Per -Flow St at e (Proof based on Nyquist No Paramet er Tuning Cwnd i : Congest ion Window in pkt i Crit erion)
I t I s Tricky … Ef f iciency Cont roller Fairness Cont roller ∆ = α d avg Spar e - β Queue Algorit hm: I f ∆ > 0 ⇒ Divide ∆ equally bet ween f lows I f ∆ < 0 ⇒ Divide ∆ bet ween f lows Theor em: Syst em is st able pr opor t ionally t o t heir cur r ent r at es (I .e., converges t o ef f iciency) Need t o est imat e number of f or any link bandwidt h, delay, f lows N number of sour ces if : π ∑ RTT < α < β = α = N i 2 0 and 2 × d Cwnd 4 2 avg i pkts in d avg . No Per -Flow St at e RTT i : Round Trip Time of pkt i No Paramet er Tuning No Per -Flow St at e (Proof based on Nyquist No Paramet er Tuning Cwnd i : Congest ion Window in pkt i Crit erion)
I mplement at ion I mplement at ion uses f ew Pract ical! mult iplicat ions & addit ions per packet Gradual Deployment XCP can co-exist wit h TCP and can be deployed gr adually
Perf ormance
Simulat ions Show XCP is Bet t er • Ext ensive Simulat ions • Compar ed wit h TCP over Dr opTail, RED, REM, AVQ, CSFQ XCP: • Bet t er ut ilizat ion • Near-zero drops • Fairer • Ef f icient & robust t o increase in bandwidt h • Ef f icient & robust t o increase in delay
Subset of Result s S 1 Bot t leneck S 2 R 1 , R 2 , … , R n S n Similar behavior over:
XCP Remains Ef f icient as Bandwidt h or Delay I ncreases Utilization as a f unction Utilization as a f unction of Bandwidth of Delay Ut ilizat ion Ut ilizat ion Bot t leneck Bandwidt h (Mb/ s) Round Trip Delay (sec)
XCP Remains Ef f icient as Bandwidt h or Delay I ncreases Utilization as a f unction Utilization as a f unction of Bandwidth of Delay Ut ilizat ion Ut ilizat ion α and β chosen t o make syst em XCP increases robust t o delay proportionally to spare bandwidth rather than by a constant amount Bot t leneck Bandwidt h (Mb/ s) Round Trip Delay (sec)
XCP is More Ef f icient t han TCP RTT = 40ms, C = 100 Mbps Start Start 40 Flows 40 Flows Stop the Stop the 40 Flows 40 Flows Time (sec) Time (sec) XCP shows f ast adapt at ion! XCP shows f ast adapt at ion! Time (sec) Time (sec)
XCP Deals Well wit h Short Web-Like Flows Average Ut ilizat ion Average Queue Drops Arrivals of Short Flows/ sec
XCP is Fairer t han TCP Same Round Trip Delay Dif f erent Round Trip Delay Throughput Throughput Flow I D Flow I D (RTT is f rom 40 ms t o 330 ms )
XCP Summary • XCP � Out perf orms TCP � Ef f icient f or any bandwidt h � Ef f icient f or any delay � Scalable • Benef it s of Decoupling � Ef f icient ut ilizat ion becomes about aggregat e t raf f ic ⇒ No need f or per-f low st at e � St abilit y analysis looks only at Ef f iciency Cont roller (independent of number of f lows)
Decoupling Ef f iciency Cont rol f rom Allocat ion Cont rol Sharing I nt ernet Resources
Recommend
More recommend