170 likes | 333 Views
SRED: Stabilized RED. T. Ott, T.V. Lakshman, L. Wong Presented by King-Shan Lui. Diff. With RED. SRED estimates number of active flows Misbehaving flows can be identified without keeping per-flow state Drop probabilities are adjusted according to number of active flows
E N D
SRED: Stabilized RED T. Ott, T.V. Lakshman, L. Wong Presented by King-Shan Lui
Diff. With RED • SRED estimates number of active flows • Misbehaving flows can be identified without keeping per-flow state • Drop probabilities are adjusted according to number of active flows • No computation of average queue length • Assume TCP flows
Main Idea • Number of active flows number of different flows in the buffer • A misbehaving flow has a lot of packets in the buffer • When a packet arrives, compare it with a packet arrived before. If they belong to the same flow, a hit occurs.
Zombie List • A list of M recently seen flows, zombies • Longer memory than the buffer alone • Information for each zombie: • Count: number of packets of this zombie received • timestamp: arrival time of the most recently received packet
Zombie List Operations • Zombie list is not full • Insert the flow with count = 0, timestamp = ta • Zombie list is full • Randomly pick a zombie • Hit: count += 1, timestamp = ta • No hit: with prob. p that the zombie is replaced • The arrived packet may be dropped no matter there was a hit or not
Hits & Number of Active Flows • Zombie list loses memory once every M/p packets • Few active flows more hits • Misbehaving flows cause more hits than well-behaved flows
Hit Frequency • P(t) – hit frequency around the time of the tth packet arrives at the buffer • Hit(t) = 1 when hit; Hit(t) = 0, otherwise • P(t) = (1 – a)P(t – 1) + a*Hit(t) • Proposition: P(t)-1 is a good estimate for the effective number of active flows
Proposition Argument • P(arrival packet belongs to flow i) = pi • P(Hit(t)=1) = Spi2 • 1/N Spi2 1 • Symmetric case: N flows, pi = 1/N • P(t) = 1/N (exact estimate) • Asymmetric case: infinite flows, pi = 2-i • P(t) = 3/16 (effective number of active flows)
Simple Stabilized RED • Target buffer occupation – Q0 • Set a drop probability – p • Square root law: congestion window of each flow, cwnd p-1/2 • Sum of N congestion windows – N * p-1/2 • Q0 = N*p-1/2 p = (N/Q0)2 • p is proportional to N2
Simple Stablized RED (cont.) • Buffer capacity – B • Current buffer size – q • pzap= psred(q) * • psred(q) = pmaxif 1/3*B q < B = ¼ * pmax if 1/6*B q < 1/3*B = 0 if 0 q < 1/6*B
psred 1 pmax q B psred(q) • Depends on current q, not history of q • Three levels • Ratio 4: halving the • congestion windows
pzap • When number of flows 256 pzap ~ psred/65356 * (number of flows)2 • When number of flows > 256 pzap = psred • Avoid pzapbecomes too large • pzap depends on q and P(t)
Full SRED Increase the drop probabilities of misbehaving flows
Simulation Results • SRED stablilizes the buffer occupancy when N 256 as q is independent of N • q increases slightly when N = 1000 • Buffer occupation almost never decreases below B/6 • could narrow the band where psred(q) = pmax/4
Contributions • SRED provides a mechanism to estimate number of active flows and identify misbehaving flows • SRED controls buffer occupancy by adjusting drop probabilities using estimated number of active flows
Remaining Issues • Many parameters to be tuned: psred, pmax, a, M, p, magic 256. • Extra storage: Zombie list vs. per-flow state • M ~ 1000 > 256