200 likes | 268 Vues
This paper introduces the Stochastic Fair Blue algorithm for buffer management in networks, combining Blue queue management with Bloom filters for improved fairness. By utilizing multiple independent hash functions and accounting bins, it addresses non-responsive flows while maintaining low packet loss, high link utilization, and minimal queuing delay. Evaluation results show enhanced performance over traditional approaches like RED and SFQ. The algorithm offers a promising solution for efficient and fair network resource allocation.
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