stochastic fair blue an algorithm for enforcing fairness
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
A BSources SinksL Mbs
Rate = L Mbs
Queue drops and/or ECN marks at steady rateRate = Exactly what will keep sources at L Mbs
Sinks generateDupACKs/ECN
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 + deltalast_update = now
Upon link idle:if ((now - last_update) > freeze_time) then
Pmark = Pmark - deltalast_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
SFBhL-1h1
P=1.0
P=1.0
P=1.0
Non-responsiveFlow
Pmin=1.0
TCP FlowP=0.2
P=0.3
Pmin=0.2
h0
0
1
2
N-1
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
45 Mbs 45 Mbs
100 Mbs
SFB Evaluation
RED SFQ+RED
Loss rates
Non-responsive = 10.32 MbsTCP Flows = 3.07 Mbs
Loss rates
Non-responsive = 43.94 MbsTCP Flows = 2.53 Mbs
SFB Evaluation
Loss rates
Non-responsive = 44.84 MbsTCP Flows = 0.01 Mbs
SFB
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
8 non-responsive flows4 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