Dina Kat abi MI T Lab f or Comput er Science dk@mit.edu - - PowerPoint PPT Presentation
Dina Kat abi MI T Lab f or Comput er Science dk@mit.edu - - PowerPoint PPT Presentation
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,
Sharing t he I nt ernet I nf rast ruct ure 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 …
- 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!
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 …
Congest ion Cont rol
Example 1:
Congest ion Cont rol
Example 1:
Queue
Congest ion Cont rol
Example 1:
Queue
Congest ion Cont rol
Example 1:
Queue
Congest ion Cont rol
Example 1:
Queue
Congest ion Cont rol
Example 1:
Queue
Congest ion! I should slow down!
Congest ion Cont rol
Example 1:
Congest ion! I should slow down!
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
The Congest ion Cont rol Problem
Tradit ional Approach
TCP TCP
TCP couples Ef f iciency & Fairness
Cont rol drops at rout er [RED, REM, AVQ, … ]
TCP ’s Throughput Drop Time
TCP uses AI MD:
- No Drop: I ncrease by a
const ant increment (i.e., 1 packet / RTT)
- 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]
Round Trip Delay (sec) TCP Ut ilizat ion Bot t leneck Bandwidt h (Mb/ s) TCP Ut ilizat ion
⇒ Need t o change congest ion cont rol because:
- Bandwidt h is increasing (demands f or it are
increasing t oo!) making TCP more inef f icient
- Delay is already a problem
⇒ Need t o change congest ion cont rol because:
- Bandwidt h is increasing (demands f or it are
increasing t oo!) making TCP more inef f icient
- Delay is already a problem
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
Ef f icient congest ion cont r ol r equir es Explicit f eedback
(I .e., rout ers t ell senders t he degree of congest ion )
Ef f icient congest ion cont r ol r equir es Explicit f eedback
(I .e., rout ers t ell senders t he degree of congest ion )
Solut ion:
Answer: Per-f low st at e in rout ers ⇒ Doesn’t Scale! Unexpressive & Scalable Expressive & Scalable Unexpressive & Unscalable
TCP , TFRC, Binomial, …
Why Current Approaches Don’t Use Expressive Feedback?
×
Expressive & Unscalable
I n ATM: ERI CA, Charny’s, OSU, … (almost none in t he I nt ernet )
(Flow: packet s f rom same sender)
- 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!)
Ef f iciency Problem: 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
Rout er comput es a f low’s f air rat e explicit ly To make a decision, rout er needs st at e of all f lows Unscalable Shuf f le bandwidt h in aggregat e t o converge t o f air rat es To make a decision, rout er needs st at e of t his f low Put a f low’s st at e in it s packet s [St oica] Scalable
Fairness Cont rol
XCP: An eXplicit Cont rol Prot ocol
- 1. Ef f iciency Cont roller
2.Fairness Cont roller
Feedback Round Trip Time Congestion Window
Congestion Header
Feedback Round Trip Time Congestion Window
How does XCP Work?
Feedback = + 0.1 packet
Feedback = + 0.1 packet Round Trip Time Congestion Window Feedback =
- 0.3 packet
How does XCP Work?
Congest ion Window = Congest ion Window + Feedback
Routers compute f eedback without keeping any per- f low state Routers compute f eedback without keeping any per- f low state How does XCP Work?
How Does an XCP Rout er Comput e t he Feedback? Ef f iciency Cont roller Fairness Cont roller
Goal: Mat ches input t r af f ic t o link capacit y & dr ains t he queue Goal: Divides ∆ bet ween f lows t o conver ge t o f air ness Looks at aggregat e t raf f ic & queue Looks at a f low’s st at e in Congest ion Header Algor it hm: Aggregat e t raf f ic changes by ∆ ∆ ~ Spare Bandwidt h ∆ ~ - Queue Size So, ∆ = α davg Spar e - β Queue Algor it hm: I f ∆ > 0 ⇒ Divide ∆ equally bet ween f lows I f ∆ < 0 ⇒ Divide ∆ bet ween f lows pr opor t ionally t o t heir current rat es
(Proven t o converge t o f airness)
MI MD AI MD
∆ = α davg Spar e - β Queue
2 2 4
2
α β π α = < < and Theor em: Syst em is st able
(I .e., converges t o ef f iciency) f or any link bandwidt h, delay, number of sour ces if :
(Proof based on Nyquist Crit erion)
I t I s Tricky …
Ef f iciency Cont roller Fairness Cont roller
No Paramet er Tuning No Paramet er Tuning
Algorit hm: I f ∆ > 0 ⇒ Divide ∆ equally bet ween f lows I f ∆ < 0 ⇒ Divide ∆ bet ween f lows pr opor t ionally t o t heir cur r ent r at es
Need t o est imat e number of f lows N
∑
× =
. avg
d in pkts i avg i
Cwnd d RTT
N
RTTi : Round Trip Time of pkt i Cwndi : Congest ion Window in pkt i
No Per -Flow St at e No Per -Flow St at e
Windows change by ∆ every davg Traf f ic rat e changes by every davg Rat e r(t ) changes per t ime unit by
avg
d ∆
2
) ( ) (
avg avg
d t Q d t S r β α − = &
2 avg
d r ∆ = &
∆ = α davg Spar e - β Queue
2 2 4
2
α β π α = < < and Theor em: Syst em is st able
(I .e., converges t o ef f iciency) f or any link bandwidt h, delay, number of sour ces if :
(Proof based on Nyquist Crit erion)
I t I s Tricky …
Ef f iciency Cont roller Fairness Cont roller
No Paramet er Tuning No Paramet er Tuning
Algorit hm: I f ∆ > 0 ⇒ Divide ∆ equally bet ween f lows I f ∆ < 0 ⇒ Divide ∆ bet ween f lows pr opor t ionally t o t heir cur r ent r at es
Need t o est imat e number of f lows N
∑
× =
. avg
d in pkts i avg i
Cwnd d RTT
N
RTTi : Round Trip Time of pkt i Cwndi : Congest ion Window in pkt i
No Per -Flow St at e No Per -Flow St at e
I mplement at ion
I mplement at ion uses f ew mult iplicat ions & addit ions per packet
Pract ical!
XCP can co-exist wit h TCP and can be deployed gr adually
Gradual Deployment
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
Bot t leneck S1 S2 R1, R
2, …
, Rn Sn
Subset of Result s
Similar behavior over:
XCP Remains Ef f icient as Bandwidt h or Delay I ncreases
Bot t leneck Bandwidt h (Mb/ s) Utilization as a f unction
- f Bandwidth
Ut ilizat ion Round Trip Delay (sec) Ut ilizat ion Utilization as a f unction
- f Delay
XCP Remains Ef f icient as Bandwidt h or Delay I ncreases
Bot t leneck Bandwidt h (Mb/ s) Utilization as a f unction
- f Bandwidth
Ut ilizat ion Round Trip Delay (sec) Ut ilizat ion Utilization as a f unction
- f Delay
XCP increases proportionally to spare bandwidth rather than by a constant amount α and β chosen t o make syst em robust t o delay
Time (sec) Time (sec)
XCP is More Ef f icient t han TCP
RTT = 40ms, C = 100 Mbps
Time (sec) Time (sec)
XCP shows f ast adapt at ion! XCP shows f ast adapt at ion!
Start 40 Flows Start 40 Flows Stop the 40 Flows Stop the 40 Flows
XCP Deals Well wit h Short Web-Like Flows
Arrivals of Short Flows/ sec Average Ut ilizat ion Average Queue Drops
XCP is Fairer t han TCP
Flow I D Flow I D Dif f erent Round Trip Delay Same Round Trip Delay Throughput Throughput
(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
Dif f erent ial Service
Problem Cont rol sources’ r at es t o get :
- Ef f iciency :
Good ut ilizat ion, small queues, and f ew drops
- Dif f er ent ial Bandwidt h Allocat ion [Kelly]):
Each user pays a price per unit t ime Users congest ed at t he same link obt ain
t hroughput s proport ional t o t heir respect ive prices
Example 2:
Ef f iciency Cont roller
Decoupling allows us t o use XCP’s Ef f iciency Cont roller Modularizat ion & Reuse
Allocat ion Cont roller
- Algorit hm:
I f ∆ >
0 ⇒ Divide ∆ equally bet ween f lows I f ∆ < 0 ⇒ Divide ∆ bet ween f lows proport ionally t o t heir current rat e/ price
- I mplement at ion:
Subst it ut e t he congest ion window
f ield by congest ion window/ price
Round Trip Time Congestion Window Price Feedback
- Goal:
Converge t o dif f erent ial bandwidt h allocat ion
- Decoupling ⇒ Don’t have t o worry about ef f iciency
- Allocat ion Cont roller can use a new
class of algorit hms t hat converge t o desired allocat ion but not t o ef f iciency
Doesn’t work wit hout decoupling! E.g., modif ying
TCP t o “ I ncrease by one packet & Decrease proport ionally t o rat e/ price.” drops t oo many packet s
Benef it s of Decoupling
Perf ormance
Experiment :
3 sources t ransf erring a 10 MB f ile each
Price 0 = 5 P
rice 1 = 10
P
rice 2 = 15
Result :
Users share t he link proport ionally t o t heir prices
2
Conclusion
- Decoupling Ef f iciency cont r ol f r om Allocat ion
cont r ol is usef ul f or r esour ce management
Ef f iciency cont rol is independent of varying
paramet ers such as number of f lows
Modularizat ion & reuse of cont rollers Allocat ion cont rol does not care about ut ilizat ion
issues ⇒ Can use a new class of aggressive allocat ion algorit hms
- Cur r ent ly applying decoupling t o guar ant eed