Title: Core Stateless Fair Queuing
1Core Stateless Fair Queuing
Ian Stoica Scott Shenker Hui Zhang
CMU Xerox PARC CMU
Presented by Vivek Sundaram
2Todays Internet
- End to End Congestion Control (e.g. TCP)
- Explicit
- Implicit
- Simple Routers
- No per-flow state in routers
- Assumes that hosts will cooperate
- Assumes a homogenous Congestion
Control Mechanism
3Fair Queuing and Variants
Fair bandwidth allocation Ability to
firewall unfriendly flows - Considerable
Computational Complexity - Per-flow state must
be maintained - Not Scalable
4The CSFQ Approach
5Edge and Core Routers
Edge Routers Perform per-flow rate
estimation Label Packets with these
estimates Core Routers No per-flow
state FIFO Queuing and Probabilistic
Dropping Utilize per-flow information in packet
label
6The Fluid Model
C Output Link speed ri(t) Arrival Rate of
flow i, at time t a(t) Fair Share at time t
A(t) Total Arrival Rate A(t) ? ri(t)
7The Fluid Model
Max-Min Fair Allocation All bottlenecked flows
have the same output rate a(t) At any time t,
service for flow i minri(t), a(t) If A(t) gt
C, a(t) is the unique solution to C ?
minri(t), a(t) If A(t) lt C, a(t) maxi
ri(t)
8The Fluid Model
If ri(t) lt a(t) All Traffic Forwarded If ri(t)
gt a(t) a fraction ri(t) a(t) / ri(t) is
dropped In a probabilistic setup each bit is
dropped with probability max0, 1
a(t) / ri(t)
9Rate Estimation
Edge Routers estimate rate tik Arrival time of
kth packet of flow i. lik Length of kth packet
of flow i. Tik tik tik-1 rinew (1
e-b) lik / Tik e-b riold B is chosen to be Tik
/ K Estimated rate is attached to the packet
header
10Estimation of the Fair Share
a(t) Current Estimate of fair share
A Estimated aggregate arrival rate F
Estimated rate of accepted traffic A and F
updated on each packet arrival. Ainew (1
e-b) l / T e-b Aold Finew (1
e-b) l / T e-b Fold
11Estimation of the Fair Share
Window of size Kc A gt C in window gt Congested
Link A lt C in window gt Uncongested
Link Congested gt a solution to F(a)
C Approximate F as a linear function through
origin with slope F / aold anew aold C /
F Uncongested gt a Largest rate of any
active flow
12Heuristics and Label Rewriting
Decrease a by a small age when the buffer
overflows Disallow a decrease of more than 25 in
a Use a buffer occupancy threshold to determine
congestion Label is changed to reflect current
rate Lnew min(Lold , a)
13Extension to support weights
- wi Weight of flow I
- Equation C ? wi minri(t) / wi, a(t)
- Drop Probability max0, 1 a(t) wi / ri(t)
- Label ri / wi
- The flow must have the same weight at all routers
14Performance Bound
a Normalized Service w Weight of flow R Max rate
at which flow sends packets Bound on excess
service ra K (1 ln (R / ra)) lmax