Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of Michigan) April 26, 2001
Download ReportTranscript Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of Michigan) April 26, 2001
Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of Michigan) April 26, 2001 Outline • Motivation • Background – Packet scheduling – Buffer management • Bloom Filters and Blue • Stochastic Fair Blue • Conclusion Motivation • Internet relies on TCP congestion control • Proliferation of non-responsive applications • Network mechanisms – Packet scheduling – Buffer management Packet scheduling approaches • WFQ, W2FQ [Bennett96], Virtual Clock[Zhang90], SCFQ [Golestani94], STFQ [Goyal96] – per-flow packet scheduling and queue management + accuracy, correctness - overhead, partitioned buffers • SFQ [McKenney90], CBQ [Floyd94] – approximate fairness using hashes or flow classification + low overhead - misclassification • RED with per-active flow queuing [Suter98] + lower overhead than WFQ - overhead still O(N) Buffer management approaches • RED with penalty box [Floyd97] – Analyze drop history + no per-flow state - accuracy, complexity, large #s of bad flows • Flow RED [Lin97] – Examine per-flow queue occupancy + no per-flow state - accuracy vs. queue size, large #s of bad flows • Core-Stateless FQ [Stoica98] – Rate labeling at edge with priority dropping in core + core router overhead, correctness - packet overhead, coordination required, deployment Stochastic Fair Blue • Buffer management algorithm • Single FIFO queue • Combines – Bloom filters – Blue queue management Bloom Filters • Used in – Spell checkers (by dictionary word) – Browser caches (by URL) – Web caches (by URL) • Apply multiple independent hash functions on input dictionary • Lookup or locate objects based on their hashing signature Blue • De-couple congestion management from queue length • Rely only on longer-term queue and link history • Salient features – Low packet loss – High link utilization – Low queuing delay • http://www.thefengs.com/wuchang/blue Blue Sources A L Mbs B Sinks Sinks generate DupACKs/ECN Rate = L Mbs Queue drops and/or ECN marks at steady rate Rate = Exactly what will keep sources at L Mbs Example Blue Algorithm • Single dropping/marking probability – Increase upon packet loss – Decrease when link underutilized – Freeze value upon changing Upon packet loss: if ((now - last_update) > freeze_time) then Pmark = Pmark + delta last_update = now Upon link idle: if ((now - last_update) > freeze_time) then Pmark = Pmark - delta last_update = now Stochastic Fair Blue (SFB) • Single FIFO queue • Multiple independent hash functions applied to each packet • Packets update multiple accounting bins • Blue performed on accounting bins • Observation – – – – Non-responsive flows drive P to 1.0 in all bins TCP flows have some bins with normal P Pmin = 1.0 , rate-limit Pmin < 1.0 , mark with probability Pmin SFB h0 Pmin=1.0 0 Non-responsive Flow 1 h1 P=1.0 2 P=1.0 TCP Flow hL-1 P=0.3 P=0.2 Pmin=0.2 N-1 P=1.0 NL virtual bins out of L*N actual bins SFB Evaluation • 400 TCP flows • 1 non-responsive flow sending at 45 Mbs • Evaluation – 200KB, 2-level SFB with 23 bins per level (529 virtual bins) – 200KB RED queue – 400KB SFQ with 46 RED queues 100 Mbs 100 Mbs 45 Mbs 45 Mbs SFB Evaluation RED Loss rates TCP Flows = 3.07 Mbs Non-responsive = 10.32 Mbs SFQ+RED Loss rates TCP Flows = 2.53 Mbs Non-responsive = 43.94 Mbs SFB Evaluation SFB Loss rates TCP Flows = 0.01 Mbs Non-responsive = 44.84 Mbs SFB and Misclassification • SFB deteriorates with increasing non-responsive flows • Non-responsive flows pollute bins in each level • Probability of misclassification – p = [1 - (1 - 1/N)M]L – Given M, optimize L and N subject to L*N=C SFB and Misclassification 4 non-responsive flows 8 non-responsive flows SFB with Moving Hash Functions • SFB – Virtual buckets from spatial replication of bins • Moving hash functions – Virtual buckets temporally • Advantages – Handles misclassification – Handles reformed flows SFB with Moving Hash Functions Conclusion • Stochastic Fair Blue – Combine Blue queue management with Bloom filters + no per-flow state, small amount of buffers, tunable to # of bad flows, amenable to hardware implementations - short-term accuracy • Current status – 2 known vendor implementations – Linux implementation • Future work – Hardware implementation using COTS programmable network processor