200 likes | 268 Views
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
E N D
Stochastic Fair BlueAn 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 L Mbs Sources Sinks A B 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
hL-1 h0 h1 Pmin=1.0 P=1.0 0 Non-responsive Flow 1 P=1.0 2 P=0.3 TCP Flow P=0.2 Pmin=0.2 P=1.0 N-1 SFB 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 SFQ+RED Loss rates Loss rates TCP Flows = 3.07 Mbs TCP Flows = 2.53 Mbs Non-responsive = 10.32 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
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